Donc j'ai créé un programme permettant d'entrer des caractères, où on veut, de les stocker et de les afficher, vu qu'il n'y a pas moyen d'afficher des strings ce programme est bien utile pour les noms des joueurs
Bon je me suis rendu compte qu'il y avait moyen de faire ça avec Str mais mon programme (bien qu'assez lourd) est mieux car il permet de mettre les noms des joueurs où on veut, et on a pas besoin d'appuyer sur alpha à chaque fois. (puis y'a des caractères spéciaux + minuscules)
Variables :
- V, W : là où on doit afficher le texte (s'utilise comme Locate)
- T : liste où est stockée le texte
- X : longueur maximale du texte
- r : si mis à 99.99, affiche sur les lignes 5 et 6 le statut de Shift et Alpha pour inpchar, ou affiche le texte aligné à droite pour getchar
Utilise les variables Y à S
Un exemple simple pour demander à l'utilisateur d'entrer son nom :
Locate 1,1, "Joueur 1, entrez votre nom"
1 -> V
2 -> W
10 -> T //stocke dans la liste 10
15 -> X //taille maximale de 15 caractères pour le nom
Prog "-INPCHAR"
Maintenant que le string est stocké, il faut l'afficher :
Locate 4,1, "Joueur 1, votre nom est:"
5 -> W
10 -> T
14 -> X //dans le getchar, il faut enlever 1 à la limite
Prog "-GETCHAR"
Bref du coup j'vais modifier mon puissance 4 pour les strings au lieu d'utiliser ça x) mais bon ce programme peut quand même être utile vu qu'il se détache de l'interface de base (on peut l'afficher partout), il supporte les minuscules et aussi les caractères spéciaux (un éclair dans le nom, ça fait badass)
Outre ça comment on impose des limites sur les strings? Par exemple là je voudrais que le string soit limité à 7 caractères, et je voudrais l'aligner à droite si possible (j'assume que StrRight() fait ça, mais comment on l'utilise?) <script>alert(123);</script>
Pour le limiter à 7 caractères tu peux utiliser StrLen(). Ou pas. Parce qu'une commande est considérée comme un caractère, donc StrLen("IfEnd") = 1.
Si tu contrôles manuellement tous les caractères entrés, ce problème ne devrait pas te préoccuper. Sinon, dommage, il n'a pas de solution viable à ma connaissance
Et non, StrRight(<Str>, <Entier>) ne déplace pas la chaîne à droite mais renvoie les derniers caractères de la chaîne. Si tu veux la placer à droite, encore une fois, il faut utiliser StrLen() en espérant que tu n'aies pas de problème avec les opcodes
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