Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
La référence Basic Casio
Nom : StrMid(
Localisation :
[ PRGM ] [ STR ] + + + +
Syntaxe de la fonction :
StrMid(chaine,debut[,longueur])
Description de la fonction :
Extrait une partie de la chaîne de caractères passée en paramètre.
→ chaine : une chaine de caractères littérale ou une variable de type Str
→ debut : toute expression s'évaluant en un entier strictement positif
→ longueur : toute expression s'évaluant en un entier positif (optionnel)
Lorsque les paramètres fournis sont valides, cette fonction extrait au plus longueur caractères à partir de la position debut (qui est prise), dans le chaîne de caractères donnée en premier argument.
Lorsque longueur est omis, la fonction StrMid() prend jusqu'à la fin de la chaîne. S'il n'y a moins de longueur caractères disponibles, la fonction renvoie toute la fin de la chaîne.
Exact LS. En voyant l'ajout de la fonction, j'ai eu un doute, parce que d'habitude les fonctions substr demandent en 2nd paramètre la longueur de la chaine. J'avais donc regardé dans la doc avant de dire une connerie, et elle dit bien
StrMid("<chaine>",N[,M)]
Effectue l’extraction du Nième jusqu’au Mième caractère d’une chaîne.
Du coup quand j'ai vu ton message, j'ai vérifié sur la calto, et t'as raison, la doc est fausse ...
@Dark non, ça s'arrête simplement au bout de la chaîne en principe.
Edit : après vérification ça fonctionne bien comme ça, et A peut même dépasser la longueur de la chaîne (on obtient rien du coup, mais on n'a pas d'erreur).
Hmm, la doc et les commentaires se contredisent là... cette fonction est-elle donc bien comme le substring() de la plupart des langages de programmation, où StrMid("Hello World!", 7, 12) donne "World" ?
Zezombye, ton « où » est trompeur. Dans la plupart des langages substring() demande un offset et une longueur, et StrMid() le fait aussi. Jamais un appel avec "Hello, World!", 7, 12 ne renverra "World" : il faudrait spécifier 7, 5.
C'est pas bon ça Darks x) Ton deuxième argument doit être 12 - 7. Tu te doutes bien que si tu rajoutes un troisième mot à la fin les paramètres nécessaires pour extraire « World » ne doivent pas changer (puisque c'est compté à partir du début) ; ils ne peuvent donc pas dépendre de la longueur de la chaîne...
Les cas particuliers :
- Si B < 0 ou A < 1, ça fait une erreur (rappel: les strings commencent à 1)
- Si A > StrLen, ça n'affiche rien
- Si B = 0, ça n'affiche rien
- Si A+B > StrLen, ça n'affiche que jusqu'au bout du string
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd