La classe AnsiString dans C++Builder 3
AnsiString est la classe permettant de gérer une chaine de caractères de façon élémentaire. Elle est conseillée lorsqu'un traitement doit être réalisé sur cette chaine.
Cette classe est souvent utilisée comme dans la classe TStrings, où chaque chaine est en fait une instance de AnsiString.
Elle peut aussi être instanciée directement .
Elle ne contient pas de propriétés
Retour à la page principale de builder


Méthodes de AnsiString
 
~AnsiString
AnsiCompare
AnsiCompareIC
AnsiLastChar
AnsiPos
AnsiString
ByteType
c_str
CurrToStr
CurrToStrF
Delete
FloatToStrF
FmtLoadStr
Format
FormatFloat
Insert
IntToHex
IsDelimiter
IsEmpty
IsLeadByte
IsPathDelimiter
IsTrailByte
LastDelimiter
Length
LoadStr
 LowerCase
 (operator)
Pos
SetLength
sprintf
StringOfChar
SubString
ToDouble
ToInt
ToIntDef
Trim
TrimLeft
TrimRight
TStringMbcsByteType
Unique
UpperCase
WideChar
WideCharBufSize
 
 
Sommaire
AnsiCompare
Cette méthode permet de comparer deux AnsiString en distinguant Majuscules et Minuscules.
Si les deux chaines sont égales, la valeur renvoyée est 0.
Si la chaine qui demande la comparaison est inférieure à celle passée en argument, la valeur renvoyée est négative.
Sinon, elle est supérieure à 0.
Exemple :
AnsiString Chaine1="Bonjour";
ShowMessage (Chaine1.AnsiCompare("Bonjour")) ; // Affiche 0
ShowMessage (Chaine1.AnsiCompare("Bonjous)) ; // Affiche -1
ShowMessage (Chaine1.AnsiCompare("Bonjoun")) ; // Affiche 1
Retour
AnsiCompareIC
Même fonctionnement que AnsiCompare mais sans distinguer les Majuscules des Minuscules.
Exemple :
AnsiString Chaine1="Bonjour";
ShowMessage (Chaine1.AnsiCompareIC("BONJOUR")) ; // Affiche 0
Retour
AnsiPos
Cette méthode retourne la position d'une sous-chaine contenue dans la chaine.
Si la sous-chaine n'est pas présente dans la chaine, la valeur retournée est 0.
Exemple :
AnsiString Chaine1="Bonjour" ;
ShowMessage (Chaine1.AnsiPos("onj")) ; // Affiche 2
ShowMessage (Chaine1.AnsiPos("noj")) ; // Affiche 0
Retour
c_str
Cette méthode retourne un pointeur sur la chaine convertie en table de caractères à \0 terminateur.
Attention: Ce pointeur n'a pas une durée de vie très longue. A utiliser très rapidement ou à recopier ailleurs.
Exemple :
AnsiString Chaine1="Bonjour" ;
char Table[8] ;
strcpy(Table, Chaine1.c_str());
Table contient maintenant "Bonjour" avec le \0 terminateur, d'où la dimension 8 fixée pour la table.
Retour
Delete
Cette méthode supprime des caractères à partir d'un index fourni.
Exemple :
AnsiString Chaine1="abcdefg" ;
Chaine1.Delete(2, 3) ;
ShowMessage (Chaine1) ; // Affiche aefg
Retour
FloatToStrF
Cette méthode converti en chaine un float en respectant des règles de formatage.
Retour
Insert
Cette méthode insére une chaine à la position prévue par l'index.
Exemple :
AnsiString Chaine1="abcdefg" ;
Chaine1.Insert("Bonjour",3) ;
ShowMessage (Chaine1) ; // Affiche abBonjourcdefg
Retour
IntToHex
Cette méthode converti un entier en sa représentation héxadécimale.
Exemple :
AnsiString Chaine1 ;
// Syntaxe 1:
Chaine1= Chaine1.IntToHex(253,5);
// Syntaxe 2, plus simple mais ne faisant pas appel
// à la méthode de la classe AnsiString:
Chaine1= IntToHex(253,5);
ShowMessage (Chaine1) ; // Affiche 000FD
Retour
IsDelimiter
Détermine si un caractère de la chaine est un délimiteur.
Exemple :
short int Variable ;
AnsiString Chaine1="abc,def;ghi" ;
if (Chaine1.IsDelimiter(",;",Variable)==true)
    ShowMessage ("true") ;
    else
    ShowMessage ("false") ;
Résultat:affiche true si Variable = 4 ou 7 et false dans tous les autres cas
Retour
Length
Cette méthode retourne le nombre de caractères contenu dans la chaine sans tenir compte d'un caractère terminateur.
Exemple :
AnsiString Chaine1="Bonjour" ;
ShowMessage(Chaine1.Length()); // Affiche 7
Retour
LowerCase et UpperCase
Ces méthodes retournent la chaine convertie respectivement en minuscules et en majuscules.
Exemple :
AnsiString Chaine1="Bonjour" ;
Chaine1=Chaine1.LowerCase() ;
ShowMessage (Chaine1);     // Affiche bonjour
Chaine1=Chaine1.UpperCase() ;
ShowMessage (Chaine1);     // Affiche BONJOUR
Retour
Operator
Nombre d'opérateurs ont été surchargés afin de simplifier l'utilisation.
Opérateurs surchargés:!=, [ ], +,  +=, <, <=, =, ==, >, >=
Exemple 1:
AnsiString Chaine1="Bonjour" ;
if (Chaine1=="Bonjour")
    ShowMessage("Chaines identiques") ;    // Message affiché
Retour

Exemple 2:
AnsiString Chaine1="Bonjour";
char Car=Chaine1[1] ;// Car contient 'B'
Retour
SetLength
Cette méthode tronque la chaine à une longueur spécifiée.
Exemple :
AnsiString Chaine1="Bonjour" ;
Chaine1.SetLength(4) ;
ShowMessage(Chaine1); // Affiche Bonj
Retour
sprintf (Méthode apparue dans Builder 5)
Cette méthode permet de construire une chaine en utilisant les règles de formatages du printf.
Exemple :
AnsiString Message ;
AnsiString ChaineTest="Bonjour" ;
Message.sprintf("La chaine %s contient %d caractères", ChaineTest,
         ChaineTest.Length()) ;
ShowMessage(Message);
// Message affiché : "La chaine Bonjour contient 7 caractères"
Retour
SubString
Cette méthode extrait une sous-chaine d'une chaine.
Exemple :
AnsiString Chaine1="Bonjour" ;
AnsiString Chaine2 ;
Chaine2=Chaine1.SubString(2,3) ;
ShowMessage (Chaine2);  // Affiche onj
Retour
ToDouble
Cette méthode converti la chaine en un double.
Fonctionne aussi avec un float.
Il y a un risque de ne plus avoir la valeur exacte du fait du codage en binaire de cette valeur réelle.
Attention: Si la chaine ne contient pas quelque chose de convertible, une exception sera générée.
Exemple :
AnsiString Chaine1="123,456" ;
double Valeur ;
Valeur=Chaine1.ToDouble() ;
ShowMessage (Valeur);    // Affiche 123,456
float Valeur1 ;
Valeur1=Chaine1.ToDouble() ;
ShowMessage (Valeur1);    // Affiche 123,456001...
Retour
ToInt
Cette méthode converti la chaine en un entier.
Fonctionne aussi avec un short int.
Attention: Si la chaine ne contient pas quelque chose de convertible, une exception sera générée.
Exemple :
AnsiString Chaine1="1234" ;
int Valeur ;
Valeur=Chaine1.ToInt() ;
ShowMessage (Valeur);    // Affiche 1234
Retour
ToIntDef
Cette méthode converti la chaine en un entier.
Fonctionne aussi avec un short int.
Si la chaine ne contient pas quelque chose de convertible, la fonction renvoie la valeur par défaut.
Exemple :
AnsiString Chaine1="1234" ;
short int Valeur ;
Valeur=Chaine1.ToIntDef(0) ;
ShowMessage (Valeur);         // Affiche 1234
Chaine1="1234a" ;
Valeur=Chaine1.ToIntDef(0) ;
ShowMessage (Valeur);         // Affiche 0
Retour
Trim
Cette méthode supprime les caractères espaces de début et de fin de chaine.
Supprime aussi les caractères de contrôles de début et de fin.
Exemple :
AnsiString Chaine1="            \n1234\r         " ;
Chaine1=Chaine1.Trim() ;
ShowMessage (Chaine1);
Affiche "1234", tous les espaces de début et de fin ont disparus ainsi que les caractères \r et \n
Retour
TrimLeft
Cette méthode supprime les caractères espaces de début de chaine.
Supprime aussi les caractères de contrôles de début.
Exemple :
AnsiString Chaine1="            \r1234\n         " ;
Chaine1=Chaine1.TrimLeft() ;
ShowMessage (Chaine1);
Affiche "1234\n        ", tous les espaces de début ont disparus ainsi que le \r
Retour
TrimRight
Cette méthode supprime les caractères espaces de fin de chaine.
Supprime aussi les caractères de contrôles de fin.
Exemple :
AnsiString Chaine1="            \r1234\n         " ;
Chaine1=Chaine1.TrimRight() ;
ShowMessage (Chaine1);
Affiche "      \r1234", tous les espaces de fin ont disparus ainsi que le \n
Retour