Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Changer des caractères précis d'une chaîne de caractère Str
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Changer des caractères précis d'une chaîne de caractère Str

Posté le 20/10/2014 11:55

Salut à tous !
Je vous présente une petite astuce en basic casio qui sert à (tout est dans le tite x)) changer des caractères précis d'une chaîne de caractère (Str). C'est Lephenixnoir qui m'a dit par où commencer et j'ai fini tout seul ;).

Bon pour expliquer tout ça en gros on passe d'une Str comme ça "planete000casio" à ça "planete###casio" ou ça "platdenouilleio" :E. Vous l'aurez compris ça remplaçe des bouts de la Str par un autre truc et ça peut se révéler très pratique .

Maintenant passons au code que je vais vous détailler en détail :

"planete000casio"→Str1 //On définit notre Str
//Attention la partie la plus importante !
StrLeft(Str 1,7)//On prend le côté gauche jusqu'au 7ème caractère
+"###"+//On ajoute ce qu'on veut :)
StrRight(Str 1,Strlen(Str1)-10//On prend le côté droit et on enlève le trop
→Str 1

//Le code final :
StrLeft(Str 1,7)+"###"+StrRight(Str 1,Strlen(Str1)-10→Str 1
//On arrive donc à cette Str là : "planete###casio"


Voilà j'espère vous avoir aidé et si vous voulez plus de précisions demandez moi


1, 2 Suivante
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 20/10/2014 20:02 | #


tu as oublié une parenthèses

StrLeft(Str ,7)+"###"+StrRight(Str 1,Strlen(Str1)-10[b][big][red])[/red][/big][/b]→Str 1
Lephenixnoir En ligne Administrateur Points: 21390 Défis: 149 Message

Citer : Posté le 20/10/2014 20:23 | #


Intelligide, toi alors...
Cette parenthèse n'est pas nécessaire pour que le script fonctionne et c'est une astuce courante que de l'omettre pour réduire la taille du programme...
Totoyo Hors ligne Membre d'honneur Points: 16044 Défis: 102 Message

Citer : Posté le 20/10/2014 20:44 | #


Faux, cette astuce d'optimisation ne fonctionne pas avec les fonctions Str, où la parenthèse fermante est obligatoire.

Quel est le point commun entre le Basic Casio et la langue française ? Les nombreuses exceptions.
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 20/10/2014 20:52 | #


Euh non elle n'est pas obligatoire, cela fonctionne très bien sans
-florian66- Hors ligne Ancien rédacteur Points: 2370 Défis: 20 Message

Citer : Posté le 20/10/2014 21:04 | #


Désolé mais il y a quelques fautes :
[green]//Attention la parti[b]e[/b] la plus importante !
//On prend le côté gauche jusqu'au 7ème caractère (pas de "x")[/green]


On voit qu'il code en C

Edit :
Ce sont les mêmes commentaires qu'en C
In Arch, I trust ! And you ?
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 20/10/2014 21:05 | #


Je ne code pas en C :P A cause de ce ***** de SDK qui ne fonctionne pas correctement !
Edit : Faute corrigé
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 20/10/2014 21:08 | #


En PHP et en java aussi c'est // si je ne dit pas de bêtise
Tweaks : ||||| ||||
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 20/10/2014 21:24 | #


Peut-être mais je ne code que en basic pour l'instant j'aime juste quand mes tutos sont bien expliqués
-florian66- Hors ligne Ancien rédacteur Points: 2370 Défis: 20 Message

Citer : Posté le 20/10/2014 21:40 | #


Tu n'as toujours pas corrigé les fautes
In Arch, I trust ! And you ?
Totoyo Hors ligne Membre d'honneur Points: 16044 Défis: 102 Message

Citer : Posté le 20/10/2014 22:07 | #


Matt36230 a écrit :
Euh non elle n'est pas obligatoire, cela fonctionne très bien sans

Alors là, vous me laissez perplexe. J'avais des erreurs autrefois. Soit il y a une correction entre la version 2.00 et 2.01 pour laquelle on n'était pas au courant, soit je n'arrive pas à reproduire l'erreur.
-florian66- a écrit :
Tu n'as toujours pas corrigé les fautes

Effectivement, il reste des fautes dans le code proposé.
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 21/10/2014 02:03 | #


Totoyo, je suis sur version 2.00 et son code marche (je viens de tester), mais peut-être qu'avec des composées de STR, les parenthèse étaient obligatoires à certains endroits.

edit : oui je fais des test a 2h du mat!
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Totoyo Hors ligne Membre d'honneur Points: 16044 Défis: 102 Message
Lephenixnoir En ligne Administrateur Points: 21390 Défis: 149 Message

Citer : Posté le 21/10/2014 09:10 | #


@Totoyo
C'est peut-être tout autre chose, mais lorsque la fonction est suivie d'une autre fonction ou opération, il est nécessaire de fermer la parenthèse pour éviter que ladite fonction ou opération soit prise en argument supplémentaire.
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 21/10/2014 10:28 | #


J'ai corrigé les deux faites que m'a dites florian66. C'est qu'il y en a d'autre ?
Lephenixnoir En ligne Administrateur Points: 21390 Défis: 149 Message

Citer : Posté le 21/10/2014 10:45 | #


Oui, c'est pas "j'ai finit" mais "j'ai fini"
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 21/10/2014 11:25 | #


Ok merci
Totoyo Hors ligne Membre d'honneur Points: 16044 Défis: 102 Message
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 21/10/2014 13:17 | #


Ah oui merci je corrige ça
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 21/10/2014 17:09 | #


@matt comment ca il fonctionne pas ton SDK ?
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Totoyo Hors ligne Membre d'honneur Points: 16044 Défis: 102 Message

Citer : Posté le 21/10/2014 18:37 | #


Lephenixnoir a écrit :
@Totoyo
C'est peut-être tout autre chose, mais lorsque la fonction est suivie d'une autre fonction ou opération, il est nécessaire de fermer la parenthèse pour éviter que ladite fonction ou opération soit prise en argument supplémentaire.

J'ai réussi à reproduire l'erreur (de syntaxe) avec StrLen(), StrSrc() et StrCmp(). Elles ont toutes un point commun : le dernier argument est une chaine de caractères. Avec ces fonctions, la parenthèse fermante doit être présente s'il y a du code après sur la même ligne, comme l'attribution du résultat de la fonction (ex : StrLen("casio")). Quelques exemples de codes fonctionnant et ne fonctionnant pas ci-dessous :
//Fonctionne
StrLen("TEST"
StrLen("TEST")->W

//Ne fonctionne pas
StrLen("TEST"->W

1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 86 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

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