SETLENGTH |
Fixe la longueur |
---|---|
Free Pascal | System |
Syntaxe
Procedure SetLength(Var S:String;NewLength:Integer); |
Paramètres
Nom | Description |
---|---|
S | Ce paramètre permet d'indiquer la chaîne de caractères utilisé comme base du traitement |
NewLength | Ce paramètre permet d'indiquer le nombre de caractères à garder |
Description
Cette procédure permet de fixer la longueur d'une chaîne de caractères de format standard Pascal.
Remarques
- La procédure SetLength pour les chaînes de caractères définit la longueur de la chaîne de caractères S sur NewLength. La procédure S peut être une réponse, une chaîne de caractères courte ou une chaîne de caractères large. Pour ShortString, NewLength peut être au maximum de 255. Pour AnsiString, il peut avoir n'importe quelle valeur. Pour les chaînes de caractères AnsiString, SetLength doit être utilisé pour définir la longueur de la chaîne de caractères.
- Dans le cas d'un tableau dynamique A, la procédure SetLength définit le nombre d'éléments. Les éléments sont numérotés à partir de l'index 0, le décompte va donc de 0 à NewLength-1. Si Zéro est spécifié, la matrice est effacée et supprimée de la mémoire.
- Si la longueur est définie sur une longueur inférieure à la longueur actuelle, les éléments 0-(NewLength-1) (ou les caractères 1-NewLength dans le cas d'une chaîne de caractères) sont conservés. Les éléments ne correspondant pas à la nouvelle longueur sont finalisés si l'élément de tableau est un type géré.
- Dans le cas où la longueur est définie sur une longueur plus grande que la longueur actuelle, les nouveaux éléments sont mis à zéro pour un tableau dynamique. Pour une chaîne de caractères, la chaîne de caractères se termine par un zéro à la longueur correcte.
- Notez que SetLength est régi par le principe Copy-On-Write pour les chaînes de caractères et les tableaux dynamiques : le nombre de références après un appel à SetLength sera de 1 (sauf lorsque la longueur est égale à zéro, alors le tableau est supprimé de la mémoire).
Exemple
Voici un exemple d'une utilisation typique de cette fonction :
on obtiendra le résultat suivant :
Left("Gladir.com",6) = GladirLeft("Gladir.com",10) = Gladir.com
Left("Gladir.com",15) = Gladir.com
Voir également
Langage de programmation - Free Pascal - Référence de procédures et fonctions - Length
Dernière mise à jour : Samedi, le 18 juillet 2015