COPY |
Copie |
---|---|
Delphi/Kylix/Lazarus | System |
Syntaxe
Function Copy(S:String; Index, Count: Integer):String; | Chaîne de caractères |
Function Copy(Source : array; StartIndex, Count:Integer):array; | Tableau |
Paramètres
Nom | Description |
---|---|
S | Ce paramètre permet d'indiquer la chaîne de caractères |
Index | Ce paramètre permet d'indiquer la position dans la chaîne de caractères. Pour la copie de chaîne de caractères, une valeur inférieur à 1 est traité comme 1. |
Count | Ce paramètre permet d'indiquer la longueur du morceau de la chaîne de caractères |
Description
Cette fonction permet d'extraire une sous-chaîne de caractères dans une chaîne de caractères ou copie une partie d'un tableau. Ainsi, la fonction copy a 2 syntaxes : dans le premier syntaxe, il crée une nouvelle chaîne de caractères à partir d'une partie d'une chaîne de caractères existante. Dans le deuxième syntaxe, il crée un nouveau tableau à partir d'une partie d'un tableau existant.
Remarques
- Position de début : Les chaînes de caractères commencent à la position 1 et non pas 0 comme les langages de programmation C lorsque vous utilisez la syntaxe avec «String». De plus, le premier élément d'un tableau à index correspondant à 0 et non pas 1.
- Position de fin : Pour garantir la copie à la fin de la chaîne de caractères ou du tableau, vous devez utilisez la constante MaxInt comme valeur pour le paramètre Count.
- Dimension d'un tableau : Lors de la copie de tableaux multidimensionnels, seule la première dimension est copiée. Les éléments de toutes les dimensions sauf celles d'un tableau sont tous des pointeurs sur des sous-tableaux composant l'ensemble du tableau. Après la copie, les éléments du tableau cible continuent de pointer vers les sous-tableaux du tableau source. Ces sous-tableaux sont donc partagés à la fois par les tableaux source et cible.
- Longueur dans un tableau : Si le nombre d'éléments à copier est inférieur nombre d'éléments disponibles dans le tableau, il copiera de la position spécifié avec le nombre d'élément spécifié, tandis que si le nombre d'éléments est inférieur à la valeur spécifié, il copiera les éléments de la position spécifié jusqu'à la fin du tableau.
- Origine : A l'origine en Turbo Pascal, la fonction Copy était uniquement utiliser pour les chaînes de caractères, cependant Delphi a ajouter la possibilité de manipuler des tableaux.
- Il n'est pas nécessaire d'indiquer «Uses system;» au début du programme pour utiliser la fonction copy, car le langage de programmation Delphi le fait implicitement.
Exemples
Voici quelques exemples typiques de l'utilisation de cette fonction :
on obtiendra le résultat suivant :
Bonjour le monde !jour le monde !
jour le
L'exemple suivant permet de copier un tableau d'octets dans un autre tableau et d'afficher le résultat :
- Program CopyArraySamples;
-
- {$APPTYPE Console}
-
- Var
- Source,Target:Array of Byte;
- I:Integer;
-
- BEGIN
- SetLength(Source,10);
- FillChar(Source,0,10);
- For I:=0 to 3 do Source[5+I] := 65 + I;
- Target:=Copy(Source,5,4);
- WriteLn('Liste des elements du tableau destinataire : ');
- For I:=0 to Length(Target)-1 do WriteLn('Target[',I,']:=',Target[I]);
- END.
on obtiendra le résultat suivant :
Liste des elements du tableau destinataire :Target[0]:=65
Target[1]:=66
Target[2]:=67
Target[3]:=68
Voir également
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - AnsiReplaceStr
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Concat
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Delete
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Insert
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Move
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - StringOfChar
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - StringReplace
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - StuffString
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - WrapText