IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Tester un char


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2012
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 63
    Par d�faut Tester un char
    Bonjour.

    j'essaye de tester la valeur d'une variable de type char

    voici mon code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void __fastcall TForm1::Valider_TesteClick(TObject *Sender)
    {
    	char Texte[500]="";
    	strcpy(Texte,ComboBox->Text.t_str());
    	MemoBox->Clear();
    	MemoBox->Lines->Add(Texte);
     
    	if (Texte=="")
    	{
    	   Application->MessageBox(L"Remplire la casse Texte",NULL,MB_OK);
    	}
     
    }
    Le souci c'est que m�me si ma ComboBox est vide rien ne se passe, le message d�erreur ne s'affiche pas

  2. #2
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    Si �a compile entre 2009 et XE4, v�rifie ton warning sur strcpy d'un conflit de char* et wchar_t*
    t_str est une horreur � �viter !

    Le L"..." me fait penser que MessageBox utilise du wchar_t*
    Tu confirme que tu utilises une version 2009 � XE4

    Voici un code bien plus simple qui fonctionne de la V3 � V18 (XE4) de
    C++Builder

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void __fastcall TForm1::Valider_TesteClick(TObject *Sender)
    {
    	String Texte = ComboBox->Text/*.Trim()*/; // Trim si des espaces trainent
    	MemoBox->Clear();
    	MemoBox->Lines->Add(Texte);
     
    	if (Texte.IsEmpty())
    	   MessageDlg("Remplir la case Texte", mtWarning, TMsgDlgButtons() << mbOK, 0);
    }
    oublie le char[] en C++Builder, r�serve cela aux API Windows ou aux DLL
    la plupart de temps, c'est juste des soucis inutiles !
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2012
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 63
    Par d�faut
    merci pour ta r�ponse j�essayerais demain, mais en utilisant une variable de type String je peux g�r� �a taille ? Je ne l'ai jamais utiliser, je veux essayer de ne pas trop encombrer la RAM.

  4. #4
    Membre actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Septembre 2012
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2012
    Messages : 63
    Par d�faut
    Merci �a marche a la perfection !

  5. #5
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    Citation Envoy� par takago Voir le message
    merci pour ta r�ponse j�essayerais demain, mais en utilisant une variable de type String je peux g�r� �a taille ? Je ne l'ai jamais utiliser, je veux essayer de ne pas trop encombrer la RAM.
    Le type String s'auto-g�re, il alloue juste ce qu'il faut !
    Sans parler d'un compteur de r�f�rence qui �vite les doublons de chaines en m�moire !
    Utilise String le plus souvent que possible, c'est bien plus pratique avec la VCL (TEdit, TComboBox) et la RTL (TStrings, TDataSet...)

    Tu peux aussi faire
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    String Texte;
    Texte.SetLength(20);
    StrLCopy(Texte.c_str(), ComboBox->Text.c_str(), 20);
    Voir StrLCopy


    r�serve char ou plut�t wchar_t pour les API, souvent un simple c_str() et non t_str(), sera suffisant !
    tu as UnicodeString <=> wchar_t et AnsiString <=> char
    String c'est UnicodeString depuis 2009 : Unicode dans RAD Studio
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. tester un char
    Par Antoine_935 dans le forum C++
    R�ponses: 5
    Dernier message: 08/09/2006, 13h49
  2. [Char] Comment tester si un caracter fait partie de la ponctuation?
    Par 17mounir dans le forum G�n�ral Java
    R�ponses: 9
    Dernier message: 29/07/2005, 17h03
  3. [VB6] [Interface] Tester le Type de Controle
    Par SpaceFrog dans le forum VB 6 et ant�rieur
    R�ponses: 9
    Dernier message: 16/09/2002, 09h51
  4. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et ant�rieur
    R�ponses: 11
    Dernier message: 05/09/2002, 13h55
  5. Tester connexion Internet active sous Windows
    Par Altau dans le forum D�veloppement
    R�ponses: 3
    Dernier message: 12/08/2002, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo