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



Comment faire pour convertir une chaîne en majuscules ?
auteur : Geronimo
Pour convertir une chaîne AnsiString en majuscules, utilisez la méthode UpperCase.
AnsiString Chaine;
Chaine = "coucou";
Chaine = Chaine.UpperCase(); // = "COUCOU"
ShowMessage(Chaine);

Comment faire pour convertir une chaîne en minuscules ?
auteur : Geronimo
Afin de convertir une chaîne AnsiString en minuscules, utilisez la méthode LowerCase .
AnsiString Chaine;
Chaine = "COUCOU";
Chaine = Chaine.LowerCase(); // = "coucou"
ShowMessage(chaîne);

Comment convertir un entier (int) en chaîne (AnsiString) ?
auteur : Geronimo
Pour convertir un entier en chaîne, utilisez la fonction IntToStr. Cette fonction convertit un entier en un AnsiString.
AnsiString Chaine;
int i = 10;
Chaine = IntToStr(i); // Chaine = "10"

Comment convertir une chaîne (AnsiString) en entier (int) ?
auteur : Geronimo
La fonction StrToInt permet de convertir une chaie en un entier. Le problème est qu'il faut faire attention, car la chaîne ne peut pas obligatoirement être convertible en entier. "Hello" ne pourra pas être convertit en entier ; une exception sera alors déclenchée. Il faut donc rattraper cette exception pour la gérer. Dans cet exemple, nous convertissons une valeur entrée par l'utilisateur dans une zone d'édition. Placez sur votre fiche un TEdit et un TButton. Voici le code de l'événement OnClick du bouton :
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    int i;
    try
    {
        i = StrToInt(Edit1->Text);
    }
    catch(EConvertError &Exception)
    {
        ShowMessage("Veuillez entrer un entier relatif correct");
    }
    // Utilisation de i...
}
On a donc essayé de convertir le contenu de la zone d'édition ( Edit1->Text ) en entier ( i ). Si jamais le contenu de la zone d'édition n'est pas convertible en entier, un message prévient l'utilisateur qu'il doit rentrer un entier correct.

Comment convertir une chaîne AnsiString en une chaîne C, tableau de caractères à zéro terminal ?
auteur : Geronimo
Certaines fonctions requièrent l'usage d'anciennes chaînes C (tableaux de caractères à zéro terminal). La classe AnsiString contient un grand nombre de méthodes dont la méthode c_str qui permet de convertir une AnsiString en une chaîne C ( C str ing).
AnsiString Src;
AnsiString Dest;
//...
// Ce code va générer une erreur
CopyFile(Src, Dst, true);
Le code ci-dessus va générer une erreur "Impossible de convertir AnsiString en const char *" car la fonction CopyFile requiers pour arguments des chaînes C. Pour résoudre ce problème, il convient d'utiliser la méthode c_str :
AnsiString Src;
AnsiString Dest;
//...
// Ce code va générer une erreur
CopyFile(Src.c_str(), Dst.c_str(), true);

Comment charger le contenu d'un fichier texte dans une chaîne ?
auteur : Geronimo
Pour cela, on utilise facilement les méthodes de chargement proposées dans les TStringList :
AnsiString Chaine;
TStringList *List = new TStringList; 
List->LoadFromFile("toto.txt"); 
Chaine = List->Text; 
delete List;	  	
On déclare une chaîne, ce qui n'est pas obligatoire mais l'accès sera plus rapide après. Ensuite, nous créons une liste de type TStringList (TStringList *List = new TStringList) qui contiendra permettra de charger le fichier. Nous chargeons alors le fichier avec la méthode LoadFromFile de notre liste de chaînes (List->LoadFromFile("toto.txt")) ensuite, nous accédons à la chaîne contenant le fichier grâce à la propriété Text de notre TStringList : Chaine = List->Text. Enfin, nous ne devons pas oublier de libérer la mémoire avec delete.