Poster un nouveau sujet Poster une réponse
lecture texte (images)
Auteur Message
men94



Autorisation : Membre
Nb de messages : 4
Inscrit le : Lun 17 Déc 2012, 12:31
Posté le : Sam 05 Jan 2013, 20:48   Citer 

Bonjour (ou bonsoir)

j'essaye de programmer une sorte de lecteur d'images contenant le texte à afficher sur ma TI que j'ai importé sur celle-ci.


Code
:ClrDraw:ClrHome:0->X
:Input "CODE ?",C:If C=2706
:Goto M
:Else
:Stop:Lbl M
:ClrDraw
:ClrHome
:Goto H
:Lbl H:While 1
:If X=0:RecallPic 0:If X=1:RecallPic 1:If X=2:RecallPic 2:If X=3:RecallPic 3:If    X=4:RecallPic 4:If X=5:RecallPic 5:If X=6:RecallPic 6:If X=7:RecallPic 7:If X=8:RecallPic 8:If X=9:RecallPic 9
:End
:If getKey=24:X-1->X
:If getKey=26:X+1->X
:End



Le problème est que je n'arrive pas à contrôler l'affichage avec les flèches.

Merci d'avance.

PS: j'aimerais utiliser ce programme pour mes examens qui auront lieu dans une semaine. Vous comprendrez mon attente.

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 06 Jan 2013, 0:32   Citer 

Pour améliorer la sécurité de ton programme, je te propose de t'inspirer avec ce sujet et ceux qui y sont indiqués : http://tout82.free.fr/forum/sujet.php?sujet=2759

Le problème est qu'une touche doit être pressée à chaque getKey. Ainsi une pression est soumise seulement au premier test.
La solution est de stocker un getKey dans une variable puis d'effectuer les tests sur cette variable.
On a l'habitude de K mais c'est toi qui voit.

Il faut effacer l'écran avant de faire un rappelImage. Il ne le fait pas tout seul.

Je te propose de placer une boucle autour du getKey pour ne pas rappeler plusieurs fois les images.
Cela sera plus propre quand j'aurai ajoûté un effacement.

Placer des Gotos dans des boucles ou des If pose de gros problèmes. Cela va du ralentissement au bug des instructions End.
D'ailleurs il n'y a même pas de Then pour faire fonctionner le Else.

J'utilise X en guise de C pour éviter tout espionnage du code.

Placer un goto juste avant un label ne sert à rien.

Je remplace le While 1 pour une boucle qui quittera à une pression sur Entrer.
C'est plus propre que On et cela permet d'effacer l'écran.


Code
:ClrHome
:Input "CODE ?",X
:If X-2706
:Stop
:ClrDraw
:DelVar X
:Repeat K-105
:ClrDraw
:If X=0:RecallPic 0:If X=1:RecallPic 1:If X=2:RecallPic 2:If X=3:RecallPic 3:If X=4:RecallPic 4:If X=5:RecallPic 5:If X=6:RecallPic 6:If X=7:RecallPic 7:If X=8:RecallPic 8:If X=9:RecallPic 9
:Repeat Ans
:getKey->K
:End
:If K=24:X-1->X
:If K=26:X+1->X
:End
:ClrDraw
:ClrHome



----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
men94



Autorisation : Membre
Nb de messages : 4
Inscrit le : Lun 17 Déc 2012, 12:31
Posté le : Dim 06 Jan 2013, 10:23   Citer 

Merci beaucoup pour ta réponse rapide.

grâce à toi j'ai decouvert les boucles repeat lol

encore merci.

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink