Posté le 20/12/2017 10:03
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 136 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
Citer : Posté le 20/12/2017 10:10 | #
Heu, on peut voir le code ? Parce que 6 lignes c'est pas censé être long à afficher…
Citer : Posté le 20/12/2017 10:31 | #
Utilise des Locate.
Sur ce modèle, les caractères apparaissent un à un quand on utilise les quotes, alors que Locate est instantané.
Par contre, il faut bricoler un peu, parfois.
Citer : Posté le 20/12/2017 15:04 | # | Fichier joint
Bonjour,
Il est vrai que dans ce programme, je n'ai pas utilisé de "Locate".
J'essaierai pour voir.
Je vous joins le fichier en mode "texte" (je ne peux plus communiquer avec ma calculatrice) pour info.
Cordialement,
GUGUSSE.
Citer : Posté le 20/12/2017 16:16 | #
0→A~Z
Deg:Fix 2
ClrText
"VOULEZ-VOUS :"
"-EXCENTRER UNE PIECE"
"AVEC UNE CALE (F1),"
"-EXCENTRER UNE PIECE"
"AVEC DEUX CALES (F2),-CORRIGER L'EXCENTRA-TION DU MANDRIN (F3)?"
Do:GetKey→G
LpWhile GK79 And GK69 And GK59
If G=79
Then 60→A
ClrText
"Donnez :"
"Le diametre "?→D
"L'excentration "?→E
Else If G=69
Then 0→A
ClrText
"Donnez :"
"Le diametre "?→D
"L'excentration "?→E
Else ClrText
"Donnez :"
"Le diametre "?→D
"Le mini "?→M
"Le maxi "?→X
"L'angle (en degres) "?→A
IfEnd
IfEnd
G=59==(X-M)/2→E
2Esin (A+30) →F
2Esin (30-A) →H
4*EE-DD→I
(Ecos A+S(DD/4-EEsin A sin A)-D/2→J
(-F+S(FF-I)-D)/2→K
(-H+S(HH-I)-D)/2→L
If (J<K And J<L)
Then J→Q
Else If K<L
Then K→Q
Else L→Q
IfEnd
IfEnd
J-Q→J
K-Q→K
L-Q→L
ClrText
"Il vous faut :"
If G=79
Then Locate 1,2,"une cale de ":Locate 13,2,J:Locate 18,2,"mm"
Locate 1,3,"sous un mors."
Else If G=69
Then Locate 1,2,"deux cales de ":Locate 15,2,J:Locate 20,2,"mm"
Locate 1,3,"sous deux mors."
Else Locate 1,2,"une cale de ":Locate 13,2,J:Locate 18,2,"mm"
Locate 1,3,"sous le mors1 (haut)."
Locate 1,4,"une cale de ":Locate 13,4,K:Locate 18,4,"mm"
Locate 1,5,"sous le mors2 (AVbas)."
Locate 1,6,"une cale de ":Locate 13,6,L:Locate 18,6,"mm"
Locate 1,7,"sous le mors3 (ARbas)."
IfEnd
IfEnd
Break
WhileEnd
Quel est l'intérêt de poster ce code dans un docx (format pas adapté) contenu dans un zip (format encore moins adapté) ?
Ajouté le 20/12/2017 à 16:22 :
Bon, maintenant qu'on peut lire le code, tu peux faire pas mal d'optimisations.
En l'occurence, t'affiches pas mal d'infos en double.
Perso je vois plus le truc comme ça déjà : « Excentrer une pièce avec [1: F1] [2: F2] cales, corriger l'excentration [F3] »
Ensuite, t'as deux fois le même code pour rien. Optimiser ça changera pas la vitesse d'affichage, mais tu peux déjà gagner une bonne centaine d'octets… --'
Typiquement le diamètre tu le demande 3 fois alors que quoi qu'il arrive t'en as besoin. Pareil pour le "donnez" et l'excentration.
Pour en revenir au problème principal, tu peux essayer de dessiner l'interface, prendre une capture (ou stocker ça dans une picture), et au lancement du programme tu affiche la capture. C'est beaucoup plus rapide, mais ça prend 2 kio…
Citer : Posté le 20/12/2017 18:27 | #
Sur les modèles récents, Capture/Picture c'est uniquement l'écran graphique AFAIK. Ce serait bien si on pouvait voir un curseur clignoter pendant qu'on tape quelque chose dans un background graphique, mais ce n'est pas possible...
Citer : Posté le 20/12/2017 18:36 | #
Bonsoir,
Pour répondre à la façon de joindre les documents, je dirais que le programme ".fxi" est dans la calculatrice et que je ne peux pas le transférer sur mon ordinateur (problème avec FX PRO qui ne "marche" plus et FA-124 qui "ne marche pas" !).
Comme je l'avais sous la forme de document Word (plus facile à lire et à modifier lors des mises au point), j'ai immédiatement pensé à joindre ce fichier, et comme l’extension était refusée, je l'ai transformé en ".zip".
Il faudra que je pense à copier le code dans une citation la prochaine fois.
Je vais réfléchir à optimiser les demandes pour "gagner" en taille de programme.
Peux-tu me donner plus d'explications (voire même un exemple si possible) de cette dernière possibilité (picture) ?
Cordialement,
GUGUSSE.
Citer : Posté le 21/12/2017 03:45 | #
Ben tu créé une picture (soit à la main, soit en faisant une capture d'écran ou un StoPict), et au lieu d'afficher ton texte à la main (la zone que t'as encadré dans ton word), tu fais un RclPict
Citer : Posté le 21/12/2017 11:14 | #
Bonjour,
Après avoir optimisé mes textes, j'ai effectivement gagné 100 octets.
Une partie de ce gain c'est envolé en plaçant des "Locate" au début et j'ai gagné en rapidité d'affichage de façon stupéfiante !
Je suis passé de 1061 à 981 octets :
0→A~Z
Deg:Fix 2
ClrText
Locate 1,1,"VOULEZ-VOUS :"
Locate 1,2,"-EXCENTRER UNE PIECE"
Locate 1,3,"AVEC UNE CALE (F1),"
Locate 1,4,"-EXCENTRER UNE PIECE"
Locate 1,5,"AVEC DEUX CALES (F2),"
Locate 1,6,"-CORRIGER L'EXCENTRA-"
Locate 1,7,"TION DU MANDRIN (F3)?"
Do:GetKey→G
LpWhile G≠79 And G≠69 And G≠59
G=79=>60→A
G=69=>0→A
ClrText
"Donnez :"
"LE DIAMETRE "?→D
If G=59 Then "LE MINI "?→M
"LE MAXI "?→X
"L'ANGLE (EN DEGRES) "?→A
(X-M)→E
Else "L'EXCENTRATION "?→E
2E→E
IfEnd
Esin (A+30) →F
Esin (30-A) →H
EE-DD→I
(Ecos A+√((DD-EEsin A sin A) /4)-D/2→J
(-F+√(FF-I)-D)/2→K
(-H+√(HH-I)-D)/2→L
If (J<K And J<L)
Then J→Q
Else If K<L
Then K→Q
Else L→Q
IfEnd I
fEnd
J-Q→J
K-Q→K
L-Q→L
ClrText
Locate 1,1,"IL VOUS FAUT :"
If G=79 Then Locate 1,2,"UNE CALE DE ":Locate 13,2,J:Locate 18,2,"MM"
Locate 1,3,"SOUS UN MORS."
Else If G=69 Then Locate 1,2,"DEUX CALES DE ":Locate 15,2,J:Locate 20,2,"MM"
Locate 1,3,"SOUS DEUX MORS."
Else Locate 1,2,"- UNE CALE DE ":Locate 15,2,J:Locate 20,2,"MM"
Locate 1,3,"SOUS LE MORS1 (HAUT)."
Locate 1,4,"- UNE CALE DE ":Locate 15,4,K:Locate 20,4,"MM"
Locate 1,5,"SOUS LE MORS2 (AVBAS)."
Locate 1,6,"- UNE CALE DE ":Locate 13,6,L:Locate 20,6,"MM"
Locate 1,7,"SOUS LE MORS3 (ARBAS)."
IfEnd
IfEnd
LpWhile Getkey=31
Je regrette que je ne puisse pas avoir la même rapidité quand je veux afficher un message avant une affectation :
Exemple :
"donnez :"
"le diametre "?→A
est lent;
Locate 1,1,"donnez :"
"le diametre "?→A
efface la première ligne,
Locate 1,1,"donnez :"
Locate 1,2,"le diametre "?→A
donne Syn ERROR
Locate 1,1,"donnez :"
Locate 1,2,"le diametre ":?→A
efface la première ligne, place le "?" en première ligne et "le diamètre" en deuxième ligne !
L'affectation semble avoir des règles d'écriture bien particulières !
Cordialement,
GUGUSSE.
Citer : Posté le 21/12/2017 11:16 | #
><"
Pour mettre du code, c'est la balise [code] qu'il faut utiliser, pas [quote]… Et les retours à la ligne, ça aide à lire
Et t'es prié de remplacer les flèches de Word par les flèches de tout-le-monde (c'est à dire →) x)
Citer : Posté le 21/12/2017 11:18 | #
Tu peux mettre un "" avant un Locate judicieusement placé, pour avoir une affectation propre avec Locate. C'est que j'entendais par bricoler.
Citer : Posté le 21/12/2017 11:27 | #
Je ne sais pas si la fonction MENU( existe sur la 35+ verte, car je pense que ce programme est tout indiqué pour cette fonction là !
Citer : Posté le 21/12/2017 11:27 | #
Non, elle n'existe pas.
Citer : Posté le 21/12/2017 13:13 | #
L'astuce est celle de Breizh : il faut faire les affichages « normaux » avant les Locate. Je pense que :
""
Locate 1,1,"Donnez"
Locate 1,2,"Le diamètre"
?→A
a des chances de marcher.
Citer : Posté le 06/01/2018 14:52 | #
Bonjour,
Ça ne "marche pas" ! J'en reste à ma version du 21/12.
Merci pour votre aide et votre soutien.
Cordialement,
GUGUSSE.
Citer : Posté le 06/01/2018 15:30 | #
Si le fait qu'il affiche le point d'interrogation sur une nouvelle ligne te dérange, tu peux toujours obtenir un compromis avec :
Locate 1,1,"Donnez"
"Le diamètre "?→A
Citer : Posté le 07/01/2018 18:30 | #
Je crois que le problème vient des deux points situés dans le texte du locate.
Parce que ce caractère sert de saut à la ligne sans retourner à la ligne.
Par exemple
1->A
2->B
Est pareil que
1->A:2->B
Sauf que placé dans du texte la calculatrice perd les pédales.
Retire les deux points
Citer : Posté le 07/01/2018 18:45 | #
Je me suis posé la question l'autre jour, mais après test, non. J'ai testé plusieurs situations simples et les deux-points ne sont visiblement jamais interprétés comme un séparateur d'instruction tant qu'ils sont dans une chaîne de caractères.