Est-ce normal docteur ?
Posté le 30/01/2014 01:22
Bonjour,
Voilà mon problème sur un programme implanté sur une CASIO FX35 :
Dans un programme comptabilisant les points au tarot, j'ai l'affichage qui précède la boucle "DO-LPWHILE" qui devient moins visible tant que cette boucle est active (en attendant que le choix soit fait par une touche ("F1" à "F5") ) et de ce fait, la lecture de l'écran est plus difficile.
Quelqu'un connaîtrai t-il une astuce pour y remédier ?
Voici un extrait du programme :
Prog. PPL :
Locate 1,1,"CHOIX DU DECLARANT :"
Prog "C"
Prog "G"
Prog. "C" :
Prog "N1" (affichage du pseudo du joueur N°1)
Locate 12,L+1,"F1"
Prog "N2" (joueur N° 2)
Locate 12,L+2,"F2"
Prog "N3"
Locate 12,L+3,"F3"
If N=4 Or N=5
Then Prog "N4":Locate 12,L+4,"F4"
IfEnd
If N=5
Then Prog "N5":Locate 12,L+5,"F5"
IfEnd
Return
Prog. "Ni" ("i" de 1 à 5)
'10 CARACTERES MAXI'
LOCATE 1,L+i,"NomJoueurI"
Return
Prog. "G"
Do
Getkey->G ("N" = Nb. de joueurs)
LpWhile Not ((G=79 Or G=69 Or G=59) And (N=3 Or N=4 Or N=5) Or G=49 And (N=4 Or N=5) Or G=39 And N=5)
Return
J'ai ce problème à chaque fois que j'utilise ce type de boucle.
Cordialement,
GUGUSSE
Citer : Posté le 30/01/2014 13:45 | #
As-tu une fx 35, une 35 ou une 35 USB?
Peut-être que tes piles sont fatiguées, règle aussi le contraste.
Sinon utilises-tu tes programmes C, G, et N1-5 à un autre moment car tu pourrais tout condenser.
Je te donnerais quelques exemple en fonction de tes réponses
Citer : Posté le 30/01/2014 15:27 | #
Merci Alex,
J'ai une FX35+ NON USB.
Je viens de contrôler les 4 piles : toute les quatre sont à 1,255 V, pas vraiment déchargées donc,
mais je n'en ai pas d'autres sous la main pour essayer !
J'utilise les programmes "G" et "C" (donc "N1 à N5) deux fois, pour designer le joueur qui "prend"
et ensuite pour désigner le joueur "appelé" (à 5 joueurs).
Citer : Posté le 30/01/2014 18:27 | #
C:
[b][brown]Locate[/brown][/b] [maroon]1[/maroon],[maroon]2[/maroon],[gray]"NOMJ1"[/gray]
[b][blue]For[/blue][/b] [maroon]1[/maroon]→i [b][blue]To[/blue][/b] N
[b][brown]Locate[/brown][/b] [maroon]12[/maroon],i+1[gray]"F"[/gray]
[b][brown]Locate[/brown][/b] [maroon]13[/maroon],i+1,i
i=[maroon]2[/maroon]⇒[b][brown]Locate[/brown][/b] [maroon]1[/maroon],I+1,[gray]"NOMJ2"[/gray]
i=[maroon]3[/maroon]⇒[b][brown]Locate[/brown][/b] [maroon]1[/maroon],I+1,[gray]"NOMJ3"[/gray]
i=[maroon]4[/maroon]⇒[b][brown]Locate[/brown][/b] [maroon]1[/maroon],I+1,[gray]"NOMJ4"[/gray]
i=[maroon]5[/maroon]⇒[b][brown]Locate[/brown][/b] [maroon]1[/maroon],I+1,[gray]"NOMJ5"[/gray]
[b][blue]Next[/blue][/b]
[b][blue]Return[/blue][/b]
G:
[b][blue]Do[/blue][/b]
Getkey[b]->[/b]G
[b][blue]LpWhile[/blue][/b] Not ((G=[maroon]79[/maroon] Or G=[maroon]69[/maroon] Or G=[maroon]59[/maroon]) And (N=[maroon]3[/maroon] Or N=[maroon]4[/maroon] Or N=[maroon]5[/maroon]) Or G=[maroon]49[/maroon] And (N=[maroon]4[/maroon] Or N=[maroon]5[/maroon]) Or G=[maroon]39[/maroon] And N=[maroon]5[/maroon])
[b][blue]Return[/blue][/b]
Voilà, ce code est un peu plus allégé (il demande moins d'aller et retour entre les programmes), il n'y a plus de sous programme Ni, par contre si tu as besoin d'afficher les noms des joueurs sans afficher les F1-5, tu peur réutiliser la boucle for en enlevant les deux locate concerné.
Si tu veux des explications sur ce programme n’hésite pas
SI le problème persiste cela peut venir de l'interpréteur basic lui-même, je n'ai jamais programmé sur une 35, c'est peut-être un problème interne
Citer : Posté le 30/01/2014 19:14 | # | Fichier joint
J'ai essayé de condenser en intégrant les "Ni" au programme "C", mais cela ne convient pas car, lorsque je donne les résultats, j'ai aussi besoin des noms (ou pseudos) mais pas des "Fi" !
Finalement, comme j'ai enlevé les piles pour vérifier leur tension et que je les ai remises en place, le problème évoqué semble avoir disparu : sans doute un contact défectueux associé à un niveau de charge un peu faible !
Merci de votre aide, et si vous avez envie de critiquer / améliorer mon programme, je vous le soumets volontiers. (NOTA : l'extension ".fxd" n'étant pas autorisée sur le site, j'ai rebaptisé le programme (sauvegardé avec FXinterfacePRO) en ".fxi".