Search this site
Embedded Files
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
Mon BBC SDL pas à pas
  • Accueil
  • BBC BASIC
  • BBC OS
  • BBC MODULES
  • RUBRIQUES
  • LIENS
  • More
    • Accueil
    • BBC BASIC
    • BBC OS
    • BBC MODULES
    • RUBRIQUES
    • LIENS

⇨ MENU ⇨ BBC BASIC

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

vos remarques, vos commentaires et de vos suggestions.

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.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse