MID$()
DESCRIPTION.
La fonction MID$() retourne ou modifie une partie d'une chaine de caractères donnée en argument.
SYNTAXE.
kchaine$ = MID$( source , position , longueur )
kchaine$ = MID$( source , position )
MID$( source , position , longueur ) = nouveau
REMARQUES.
- source est une chaine de caractères ;
- position un nombre entier indiquant le rang du premier caractères qui doit être retourné, si position est ;
- absent, une erreur est retournée et le programme s’arrête ;
- négatif ou 0, MID$() retourne source ;
supérieur à LEN( source ), MID$() retourne une chaine vide ;
- longueur un nombre entier indiquant le nombre de caractères qui doivent être retournés, si longueur est :
- absent, longueur sera égal LEN( source ) - position ;
- négatif ou supérieur à LEN( source ) - position, longueur sera égal LEN( source ) - position ;
- 0, MID$() retourne une chaine vide ;
- nouveau doit être une chaine de caractères.
Si l'appel de la fonction à la forme MID$( source , position , longueur ) ou MID$( source , position ), par exemple avec l'instruction PRINT, ou à la droite d'un signe =, c'est-à-dire après, elle retourne la partie de source depuis le caractère à la place position et de longueur caractères.
Si l'appel de la fonction à la forme MID$( source , position , longueur ) = nouveau, elle remplacera la partie de source depuis le caractère à la place position et de longueur caractères par les longueur premiers caractères de nouveau. Si longueur est supérieur à LEN( nouveau ), longueur prendra la valeur de LEN( nouveau ). À noter qu'avec cette forme, il ne doit y avoir d'espace entre source et la virgule qui le suit sinon une erreur sera détectée et que source doit être une variable.
Rappel : dans BBC BASIC, le premier caractère d'une chaine de caractères est à la position 1.
Voir la fonction FN_umid() du module utf8lib.bbc qui retourne une suite de caractères dans une chaine de caractères au format UTF-8.
Voir la fonction FN_umidx() du module utf8lib.bbc qui retourne la fin à partir d'une position d'une chaine de caractères au format UTF-8.
RUBRIQUES.
Les chaines de caractères pour plus de détails sur la gestion des chaines de caractères.
EXEMPLES.
1. Retourner une partie d'une chaine de caractères.
kmessage$ = "Le BBC BASIC est un langage simple mais puissant."
klangage$ = MID$( kmessage$ , 4 , 9 )
PRINT klangage$ : REM retourne BBC BASIC
PRINT MID$( kmessage$ , 4 , 9 ) : REM retourne BBC BASIC
PRINT MID$( kmessage$ , 4 , 0 ) : REM retourne
PRINT MID$( kmessage$ , 4 , 123 ) : REM retourne BBC BASIC est un langage simple mais puissant.
PRINT MID$( kmessage$ , 4 , -123 ) : REM retourne BBC BASIC est un langage simple mais puissant.
PRINT MID$( kmessage$ , 0 , 12 ) : REM retourne Le BBC BASIC
PRINT MID$( kmessage$ , -4 , 12 ) : REM retourne Le BBC BASIC
PRINT MID$( kmessage$ , 4 ) : REM retourne BBC BASIC est un langage simple mais puissant.
2. Modifier une partie d'une chaine de caractères.
kslogan$ = "Le --- ----- est puissant."
PRINT kslogan$ : REM retourne Le --- ----- est puissant.
MID$( kslogan$, 4 , 9 ) = "BBC BASIC."
PRINT kslogan$ : REM retourne Le BBC BASIC est puissant.
PRINT MID$( "Le --- ----- est puissant.", 4 , 9 ) = "BBC BASIC" : REM retourne 0
kslogan$ = "Le --- ----- est puissant."
PRINT kslogan$ : REM retourne Le --- ----- est puissant.
MID$( kslogan$, 4 , 9 ) = "BBC"
PRINT kslogan$ : REM retourne Le BBC ----- est puissant.
3. Exemple d'analyse d'une chaine de caractères.
INPUT "Entrez votre chaine de caracteres ... " ; kstring$
FOR klettre = 1 TO LEN( kstring$ )
klettre$ = MID$( kstring$ , klettre , 1 )
kcode = ASC( klettre$ )
IF kcode > 64 AND kcode < 91 THEN
PRINT klettre$ " est une majuscule."
ELSE IF kcode > 96 AND kcode < 123 THEN
PRINT klettre$ " est une minuscule."
ELSE
PRINT klettre$ " n'est pas une lettre."
ENDIF
ENDIF
NEXT klettre
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.