[[ags|{{:contents.gif}}]] [[ags28#topic39|{{:up.gif}}]] [[ags73#topic69|{{:back.gif}}]] [[ags75#topic71|{{:forward.gif}}]] ---- =====Fonctions de texte (String)===== \\ ---- ====Append==== // (Anciennement fonction globale StrCat, désormais obsolète) // \\ String.Append(string str2) Accolle la chaîne de caractères (//string//) STR2 à la fin de la chaîne de caractères (//string//) spécifiée, et retourne le résultat de l'opération.\\ \\ ** IMPORTANT : ** Le résultat de ce collage est retourné en tant qu'une nouvelle chaîne de caractères (//string//) par cette commande. La chaîne originale ** NE SERA PAS ** modifiée. Par exemple, le script suivant ne fera rien : montexte.Append("World"); ce que vous désireriez plutôt serait : montexte = montexte.Append("World"); \\ \\ Exemple : String montexte = "Hello"; montexte = montexte.Append("World"); Display(montexte); ce qui affichera "HelloWorld".\\ \\ // Voir aussi : // [[ags74#String.AppendChar|String.AppendChar]], [[ags74#String.Substring|String.Substring]], [[ags74#String.Truncate|String.Truncate]]\\ \\ ---- ====AppendChar==== String.AppendChar(char extraChar) Ajoute un simple caractère à la fin du texte spécifié, et retourne le résultat.\\ \\ ** IMPORTANT: ** Le nouveau texte est retourné comme une nouvelle chaîne de caractère par cette commande. La chaîne originale restera ** inchangée **. Par exemple, le script suivant n'aura aucun effet : montexte.AppendChar('o'); ce que vous voudriez plutôt est : montexte = montexte.AppendChar('o'); \\ \\ Exemple : String montexte = "Hell"; montexte = montexte.AppendChar('o'); Display(montexte); ce qui affichera "Hello".\\ \\ // Voir aussi : // [[ags74#String.Append|String.Append]]\\ \\ ---- ====CompareTo==== // (Anciennement fonction globale StrCaseComp, désormais obsolète) // // (Anciennement fonction globale StrComp, désormais obsolète) // \\ \\ String.CompareTo(string str2, optional bool caseSensitive) Compare le texte spécifié à STR2. // caseSensitive // détermine si "Chien" et "chien" sont équivalents ; par défaut, la sensibilité à la casse n'est pas prise en compte.\\ \\ Retourne 0 si les textes sont identiques, un nombre inférieur à 0 si la chaîne précède STR2 dans l'ordre alphabétique, et un nombre supérieur à 0 si la chaîne se trouve plus loin dans l'alphabet que STR2.\\ \\ ** ASTUCE : ** Pour effectuer une comparaison susceptible à la casse de deux textes, il est plus facile d'utiliser simplement l'opérateur ==.\\ \\ Exemple : String montexte = "Bonjour"; if (montexte.CompareTo("bonjour") == 0) { Display("Les textes correspondent avec insensibilité à la casse !"); } else { Display("Les textes ne correspondent pas avec insensibilité à la casse !"); } if (montexte == "bonjour") { Display("Les textes correspondent avec sensibilité à la casse !"); } else { Display("Les textes ne correspondent pas avec sensibilité à la casse !"); } ce qui affichera "Les textes correspondent avec insensibilité à la casse !", puis "Les textes ne correspondent pas avec sensibilité à la casse !".\\ \\ ---- ====Copy==== // (Anciennement fonction globale StrCopy, désormais obsolète) // \\ \\ String.Copy() Retourne une copie de la chaîne spécifiée. En temps normal, vous n'en aurez pas l'utilité, puisque les chaînes peuvent être définies en utilisant l'opérateur =.\\ \\ Exemple : String machaine = "Ceci est une chaîne-test."; String nouvellechaine = machaine.Copy(); Display(nouvellechaine); affichera "Ceci est une chaîne-test.".\\ \\ ---- ====EndsWith==== bool String.EndsWith(string texteRecherche, optional bool caseSensitive) Retourne // true // si la chaîne se termine par // texteRecherche // , ou // false // sinon.\\ \\ // caseSensitive // vaut // false // par défaut, mais vous pouvez passer // true // de façon à ce que la fonction ne retourne // true // lors d'une correspondance susceptible à la casse.\\ \\ Exemple : String maChaine = "Bonjour depuis le script !"; if (maChaine.EndsWith("script !")) { Display("Finit par script !"); } affichera le message "Finit avec script !".\\ \\ // Compatibilité : // Supporté par ** AGS 3.1.0 ** et les versions plus récentes.\\ \\ // Voir aussi : // [[ags74#String.IndexOf|String.IndexOf]], [[ags74#String.StartsWith|String.StartsWith]]\\ \\ ---- ====Format==== // (Anciennement fonction globale StrFormat, désormais obsolète) // \\ \\ static String.Format(string fmt, ...) Traite la chaîne FMT de la même façon que le fait la fonction [[ags76#Display|Display]] mais plutôt que de l'afficher à l'écran, retourne le résultat comme une nouvelle chaîne.\\ \\ Vous pouvez ainsi insérer des valeurs de variables dans la chaîne. Pour plus d'informations, voir la section [[ags36#StringFormats|syntaxe des chaînes de caractères]].\\ \\ ** NOTE : ** Cette fonction est statique, ce qui signifie que vous ne devez pas l'appeler depuis une variable chaîne existante, mais plutôt en utilisant directement String.Format().\\ \\ Exemple : int sante=10; String texte = String.Format("%d", sante); créera une chaîne de texte contenant "10".\\ \\ // Voir aussi : // [[ags76#Display|Display]]\\ \\ ---- ====IndexOf==== // (Anciennement fonction globale StrContains, désormais obsolète) // // (Anciennement String.Contains, désormais obsolète) // \\ \\ String.IndexOf(string aiguille) Verifie si AIGUILLE est contenue dans la chaîne de texte testée. Retourne la position du caractère correspondant si c'est le cas, ou -1 s'il n'y a pas de correspondance.\\ \\ Cette fonction ne prend pas la casse en compte ; c'est-à-dire que chercher "cHaInE" dans "chaine de test" retournerait bien une correspondance.\\ \\ Exemple : String botte = "Il y a une aiguille dans la botte de foin."; int resultat = botte.IndexOf("une aiguille"); if (resultat == -1) { Display("La chaîne ne contenait pas une aiguille."); } else { Display("une aiguille a été trouvée au caractère numéro %d dans la chaîne.", resultat); } // Voir aussi : // [[ags74#String.EndsWith|String.EndsWith]], [[ags74#String.StartsWith|String.StartsWith]]\\ \\ ---- ====IsNullOrEmpty==== static bool String.IsNullOrEmpty(String chaineTestee) Renseigne si la chaîne est vide ou nulle. C'est un simple raccourci pour le test suivant : if ((chaineTestee == null) || (chaineTestee == "")) autrement dit, vous pouvez l'utiliser facilement pour vérifier si une chaîne contient du texte ou non.\\ \\ ** NOTE : ** Cette fonction est statique, ce qui signifie que vous ne devez pas l'appeler à partir d'une variable chaîne de caractère. Utilisez plutôt directement String.IsNullOrEmpty(). Voir l'exemple.\\ \\ Exemple : String maChaine; if (String.IsNullOrEmpty(maChaine)) { maChaine = "Du texte"; } donnera la valeur "Du texte" à la variable maChaine si celle-ci est nulle ou vide (ce qui est le cas en l'occurrence).\\ \\ // Compatibilité : // Supporté par ** AGS 3.0.1 ** et les versions plus récentes.\\ \\ ---- ====LowerCase==== // (Anciennement fonction globale StrToLowerCase, désormais obsolète) // \\ \\ String.LowerCase() Retourne une version minuscule de la chaîne de texte spécifiée.\\ \\ ** NOTE : ** Cette fonction retourne une nouvelle chaîne ; elle ** NE MODIFIE PAS ** la chaîne originale.\\ \\ Exemple : String maChaine = "CECI est une chaîne de test"; String minuscule = maChaine.LowerCase(); Display("Ancienne : %s, nouvelle : %s", maChaine, minuscule); affichera "Ancienne : CECI est une chaîne de test, nouvelle : ceci est une chaîne de test".\\ \\ // Voir aussi : // [[ags74#String.UpperCase|String.UpperCase]]\\ \\ ---- ====Replace==== String.Replace(string lookForText, string replaceWithText, optional bool caseSensitive) Crée une copie de cette chaîne, où toutes les occurrences de // lookForText // sont remplacées par // replaceWithText // .\\ \\ // caseSensitive // vaut // false // par défaut, mais vous pouvez le passer comme true de façon à ce que seules les occurrences dont la casse est la même que celle de // lookForText // soient remplacées.\\ \\ ** NOTE : ** Cette fonction retourne une nouvelle chaîne ; l'ancienne chaîne ** N'EST PAS MODIFIÉE ** par cette fonction. Exemple : String original = "Hello from the script!"; String changed = original.Replace("hello", "goodbye"); Display("Old: %s, new: %s", original, changed); affichera "Old: Hello from the script!, new: goodbye from the script!".\\ \\ // Compatibilité : // Supporté par ** AGS 3.1.0 ** et les versions plus récentes.\\ \\ // Voir aussi : // [[ags74#String.ReplaceCharAt|String.ReplaceCharAt]]\\ \\ ---- ====ReplaceCharAt==== // (Anciennement fonction globale StrSetCharAt, désormais obsolète) // \\ \\ String.ReplaceCharAt(int index, char newChar) Remplace le caractère à la position INDEX dans la chaîne par NEWCHAR.\\ \\ INDEX correspond à l'index du caractère dans la chaîne (où 0 renvoie au premier caractère, et où la plus haute valeur possible correspond à la longueur de la chaîne moins 1).\\ \\ ** NOTE : ** Cette fonction retourne une nouvelle chaîne ; l'ancienne chaîne ** N'EST PAS MODIFIÉE ** par cette fonction.\\ \\ Exemple : String mystring = "Hello"; String changed = mystring.ReplaceCharAt(2, 'm'); Display("Old: %s, new: %s", newstring, changed); affichera "Old: Hello, new: Hemlo".\\ \\ // Voir aussi : // [[ags74#String.Chars|String.Chars]], [[ags74#String.Replace|String.Replace]]\\ \\ ---- ====StartsWith==== bool String.StartsWith(string lookForText, optional bool caseSensitive) Retourne // true // si la chaîne commence par // lookForText // , ou // false // si ce n'est pas le cas.\\ \\ // caseSensitive // vaut // false // par défaut, mais vous pouvez le passer comme true pour que la fonction ne retourne // true // que lorsque la correspondance est sensible à la casse.\\ \\ Exemple : String myString = "Hello from the script!"; if (myString.StartsWith("hello")) { Display("Starts with hello!"); } affichera le message "Starts with hello!".\\ \\ // Compatibilité : // Supporté by ** AGS 3.1.0 ** et les versions plus récentes.\\ \\ // Voir aussi : // [[ags74#String.EndsWith|String.EndsWith]], [[ags74#String.IndexOf|String.IndexOf]]\\ \\ ---- ====Substring==== String.Substring(int index, int length) Retourne une partie de la chaîne, depuis le caractère // index // sur une longueur de // length //.\\ \\ // index // correspond à la position du caractère initial de la sous-chaîne que vous voulez récupérer, où 0 représente le tout premier caractère et (Longueur - 1) le dernier. // length // spécifie combien de caractères vous voulez récupérer depuis cette position.\\ \\ Exemple : String mystring = "Hello World!"; String substring = mystring.Substring(3, 5); Display("Original: %s, Substring: %s", mystring, substring); affichera "Original: Hello World!, Substring: lo Wo".\\ \\ // Voir aussi : // [[ags74#String.Append|String.Append]], [[ags74#String.Chars|String.Chars]]\\ \\ ---- ====Truncate==== String.Truncate(int length) Retourne une version de la chaîne qui aura été coupée à // length // caractères.\\ \\ ** NOTE : ** Cette fonction retourne une nouvelle chaîne ; l'ancienne chaîne ** N'EST PAS MODIFIÉE ** par cette fonction.\\ \\ Exemple : String mystring = "Hello World!"; String truncated = mystring.Truncate(4); Display("Original: %s, Truncated: %s", mystring, truncated); affichera "Original: Hello World!, Truncated: Hell".\\ \\ // Voir aussi : // [[ags74#String.Append|String.Append]], [[ags74#String.Substring|String.Substring]]\\ \\ ---- ====UpperCase==== // (Anciennement fonction globale StrToUpperCase, désormais obsolète) // \\ \\ String.UpperCase() Retourne une version majuscule de la chaîne spécifiée.\\ \\ ** NOTE : ** Cette fonction retourne une nouvelle chaîne ; l'ancienne chaîne ** N'EST PAS MODIFIÉE ** par cette fonction. Exemple : String mystring = "THIS is a test string"; String uppercased = mystring.UpperCase(); Display("Old: %s, new: %s", mystring, uppercased); affichera "Old: THIS is a test string, new: THIS IS A TEST STRING".\\ \\ // Voir aussi : // [[ags74#String.LowerCase|String.LowerCase]]\\ \\ ---- ====AsFloat property==== readonly float String.AsFloat; Convertie une chaîne en nombre flottant, et retourne cette valeur. Retourne 0.0 si la chaîne ne contient pas un nombre.\\ \\ Exemple : String text1, text2; float number1,number2; text1 = "57.362"; text2 = "Hello"; number1 = text1.AsFloat; number2 = text2.AsFloat; définira la valeur de number1 à 57.362 et de number2 à 0.0. Cette fonction est pratique pour traiter le texte entré par l'utilisateur.\\ \\ ** NOTE : ** Pour convertir un flottant en chaîne de caractères, vous pouvez utiliser la commande [[ags74#String.Format|String.Format]].\\ \\ // Voir aussi : // [[ags53#Game.InputBox|Game.InputBox]], [[ags74#String.AsInt|String.AsInt]], [[ags74#String.Format|String.Format]]\\ \\ ---- ====AsInt property==== // (Anciennement fonction globale StringToInt, désormais obsolète) // \\ \\ readonly int String.AsInt; Convertie la chaîne de texte en nombre entier, et retourne cette valeur. Retourne 0 si la chaîne ne contient pas un nombre.\\ \\ Exemple : String text1, text2; int number1,number2; text1 = "53"; text2 = "Hello"; number1 = text1.AsInt; number2 = text2.AsInt; définira la valeur de number1 à 53 et celle de number2 à 0. Cette fonction est utile pour traiter le texte entré par l'utilisateur.\\ \\ ** NOTE : ** Pour convertir un entier en chaîne de texte, vous pouvez utiliser la commande [[ags74#String.Format|String.Format]].\\ \\ // Voir aussi : // [[ags53#Game.InputBox|Game.InputBox]], [[ags74#String.AsFloat|String.AsFloat]], [[ags74#String.Format|String.Format]]\\ \\ ---- ====Chars property==== // (Anciennement fonction globale StrGetCharAt, désormais obsolète) // \\ \\ readonly char String.Chars[position]; Retourne le caractère à POSITION dans la chaîne.\\ \\ POSITION est la position du caractère dans la chaîne (où 0 correspond au tout premier caractère, et où la plus haute valeur possible correspond à la longueur de la chaîne moins 1)\\ \\ Si POSITION vaut plus que la longueur de la chaîne, la fonction retourne 0.\\ \\ ** NOTE : ** Le tableau // Chars // est en lecture seule. Si vous désirez changer l'un des caractères dans la chaîne, utilisez [[ags74#String.ReplaceCharAt|String.ReplaceCharAt]].\\ \\ Exemple : String text = "This is my string."; Display("The 4th character is: %c", text.Chars[3]); affichera "The 4th character is: s".\\ \\ // Voir aussi : // [[ags74#String.Length|String.Length]], [[ags74#String.ReplaceCharAt|String.ReplaceCharAt]]\\ \\ ---- ====Length property==== // (Anciennement fonction globale StrLen, désormais obsolète) // \\ \\ readonly int String.Length; Retourne la longueur de la chaîne, c'est-à-dire le nombre de caractères qu'elle contient.\\ \\ Exemple : String text = "This is my string."; Display("Length: %d", text.Length); affichera "Length: 18". {{tag>français révision}}