COPY |
Copie |
---|---|
Turbo Pascal 1+ | System |
Syntaxe
Function Copy(S:String; Index, Count: Integer):String; |
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 |
Count | Ce paramètre permet d'indiquer la longueur du morceau de la chaîne de caractères |
Description
Cette fonction permet d'extraire un sous-chaîne de caractères dans une chaîne de caractères.
Remarques
- Si la position d'index est plus grande que la longueur de la chaîne de caractères, la chaîne de caractères retourner sera vide.
- Si la position d'index additionner de la longueur de la chaîne de caractères est plus grande que la longueur de la chaîne de caractères, seul les derniers caractères seront retournés.
- Le paramètre S est une expression de type chaîne de caractères. Les paramètres Index et Count sont des expressions de type entier. La fonction Copy renvoie une chaîne de caractères contenant le nombre de caractères commençant par le caractère Indexième dans S. Si Index est supérieur à la longueur de S, une chaîne vide est renvoyée. Si Count spécifie plus de caractères qu'il n'en reste à la position Indexième, seul le reste de la chaîne de caractères est renvoyé.
Exemples
Voici quelques exemples typiques de l'utilisation de cette fonction :
Essayer maintenant !
on obtiendra le résultat suivant :
Bonjour le monde !jour le monde !
jour le
Cet exemple permet d'utiliser une fonction similaire à la fonction Left du Visual Basic :
Essayer maintenant !
- Program LeftSamples;
-
- Function Left(S:String;Num:Byte):String;Assembler;ASM
- CLD
- LES DI,@Result
- PUSH DS
- LDS SI,S
- MOV CL,DS:[SI]
- MOV CH,0
- INC CX
- PUSH DI;REP MOVSB;POP DI
- MOV AL,Num
- CMP ES:[DI],AL
- JB @1
- MOV ES:[DI],AL
- @1:
- POP DS
- END;
-
- BEGIN
- WriteLn('Left("Gladir.com",6) = ',Left('Gladir.com',6));
- WriteLn('Left("Gladir.com",10) = ',Left('Gladir.com',10));
- WriteLn('Left(""Gladir.com"",15) = ',Left('Gladir.com',15));
- END.
on obtiendra le résultat suivant :
Left("Gladir.com",6) = GladirLeft("Gladir.com",10) = Gladir.com
Left("Gladir.com",15) = Gladir.com
Cet exemple permet de changer un format «jj/mm/aaa» en «mm/jj/aaa» :
Essayer maintenant !
- Program JMAToMJA;
-
- Function JMA2MJA(Const S:String):String;Begin
- JMA2MJA := Copy(S,4,2) + '/' + Copy(S,1,2) + Copy(S,6,255);
- End;
-
- BEGIN
- WriteLn('jj/mm/aaa=',JMA2MJA('jj/mm/aaa'));
- WriteLn('31/12/101=',JMA2MJA('31/12/101'));
- WriteLn('01/01/101=',JMA2MJA('31/12/101'));
- WriteLn('jj/mm/aaaa=',JMA2MJA('jj/mm/aaaa'));
- WriteLn('31/09/2001=',JMA2MJA('31/09/2001'));
- END.
on obtiendra le résultat suivant :
jj/mm/aaa=mm/jj/aaa31/12/101=12/31/101
01/01/101=12/31/101
jj/mm/aaaa=mm/jj/aaaa
31/09/2001=09/31/2001
Voir également
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - CONCAT
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - DELETE
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - INSERT
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - LENGTH
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - POS
Références
Aide-mémoire de Turbo Pascal versions de 3 à 6, Edition Marabout, De Groote, Virga, 1992, ISBN: 2-501-01833-8, page 134.
Le grand livre du Turbo & Borland Pascal 7.0, Edition Micro Application, Reiner Scholles, 1993, ISBN: 2-86899-873-9, page 1219.