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.

Forum Casio - Autres questions


Index du Forum » Autres questions » Affichage rapide du texte, possible ou pas ?
Gugusse Hors ligne Membre Points: 73 Défis: 0 Message

Affichage rapide du texte, possible ou pas ?

Posté le 20/12/2017 10:03

Bonjour,

Pour qu'un programme soit agréable à utiliser, surtout si l'on ne s'en sert pas souvent, il faut un minimum d'informations quand on demande des valeurs.
J'ai par exemple un programme qui demande à l'utilisateur de choisir entre trois possibilités : cela demande 6 lignes de 21 caractères [GRAPH 35+ USB vieux modèle (vert-jack 3,5)].
L'affichage est (très) long et on a souvent tendance, quand on connait le programme, à appuyer sur la touche AVANT la fin !
Y a-t'il un moyen pour accélérer l'affichage (le stocker quelque part par exemple) ?

Cordialement,
GUGUSSE.


Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

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…
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Breizh_craft En ligne Modérateur Points: 1171 Défis: 7 Message

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.
Breizh.pm – Un adminsys qui aime les galettes.
Gugusse Hors ligne Membre Points: 73 Défis: 0 Message

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.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 20/12/2017 16:16 | #


While 1
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…
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24575 Défis: 170 Message

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...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Gugusse Hors ligne Membre Points: 73 Défis: 0 Message

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.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

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
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Gugusse Hors ligne Membre Points: 73 Défis: 0 Message

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 :
Do
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.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

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)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Breizh_craft En ligne Modérateur Points: 1171 Défis: 7 Message

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.
Breizh.pm – Un adminsys qui aime les galettes.
Fabcvlr Hors ligne Membre Points: 2271 Défis: 41 Message

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à !
L'expérience des autres, c'est comme une chandelle que l'on tient allumée dans son dos par une nuit de tempête !
Breizh_craft En ligne Modérateur Points: 1171 Défis: 7 Message

Citer : Posté le 21/12/2017 11:27 | #


Non, elle n'existe pas.
Breizh.pm – Un adminsys qui aime les galettes.
Lephenixnoir Hors ligne Administrateur Points: 24575 Défis: 170 Message

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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Gugusse Hors ligne Membre Points: 73 Défis: 0 Message

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.
Lephenixnoir Hors ligne Administrateur Points: 24575 Défis: 170 Message

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

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

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
Lephenixnoir Hors ligne Administrateur Points: 24575 Défis: 170 Message

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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

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 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