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 » Suspendre prog apres Locate


Mosv13477 Invité

Suspendre prog apres Locate

Posté le 22/02/2015 20:47

Bonjour,
Lorsque j'utilise la fonction Locate sur ma Graph 35+;
en fin de programme : il m'affiche ce que j'ai demandé
en milieu de programme : il affiche ce que j'ai demandé sans que je puisse le voir (tel un calcul sans DISP)

exemple :
ClrText
Locate 1,1"Texte 1"

=>Aucun soucis

ClrText
Locate 1,1"Texte 1"
ClrText
"Texte 2"(DISP)

=> Pas moyen de voir le locate

Ça fait pas longtemps que je programme, mais j'ai déjà réussi à faire pas mal de chose, mais là je suis bloqué avec cette fonction locate..


Lephenixnoir En ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 22/02/2015 20:54 | #


Ben, en fait quand on utilise le texte normal on a un curseur virtuel qui descend les lignes et gère une sorte de scrolling. Avec Locate, ce curseur n'existe pas. Du coup si tu fais un Locate sur la même ligne que celle où est positionnée le curseur, le -Disp- va écraser ton Locate puisqu'il prend toute la ligne.

Une solution est d'utiliser intelligemment Getkey pour récupérer une pression sur [EXE] :
While Getkey-31:WhileEnd
While Getkey:WhileEnd


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

Citer : Posté le 22/02/2015 21:05 | #


Mais non le veritable problème cest surtout le ClrText
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !






Mosv13477 Invité

Citer : Posté le 22/02/2015 21:18 | #


@Lephenixnoir
Je me suis servis de ta solution dans mon programme mais ça n'a pas stoppé le programme, et m'a donné le même résultat

@Darkysun
C'est peut être ça mais j'ai besoin de clean l'écran pour réécrire à la ligne 1
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 22/02/2015 21:27 | #


Je ne comprends pas ta question :
Le texte du Locate n'est pas affiché, mais tu dois quand même effacer l'écran juste après. Du coup, le Locate n'est pas affiché. Je bug

Lephenixnoir En ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 22/02/2015 21:33 | #


Darkysun a écrit :
@Lephenixnoir
Je me suis servis de ta solution dans mon programme mais ça n'a pas stoppé le programme, et m'a donné le même résultat

Alors, tu n'as pas eu l'erreur que je pensais. Enfin, tant qu'à faire souviens-toi qu'utiliser Disp avec Locate n'est pas recommandable car Disp efface tout la ligne et donc possiblement le texte que Locate vient décrire.

Et puis, si tu veux afficher deux textes à la ligne 1, soit tu commences par le texte statique et ensuite tu fais le Locate sans effacer l'écran, soit tu utilises deux fois Locate.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)


Mosv13477 Invité

Citer : Posté le 22/02/2015 22:51 | #


Enfaite plus concrêtement,
Dans mon programme j'utilise locate pour afficher un calcul du type a x+b y , je ne peux donc pas utiliser la technique basique du genre:
(...)
Str 1+"x+"
Str 2+"y"(DISP)
(...)
Je suis obligé de me servir donc de locate

Après cet affichage dans mon programme j'ouvre un menu pour demander à l'utilisateur si il veut refaire une boucle ou si il veut passer aux calculs suivants

donc:

(...)
Locate 1,1,Str 1+"x+"
Locate 1,2,Str 2+"y"
Menu "Ajouter un effort?","Oui",1,"Non",2
(...)

Et donc l'affichage ne peut pas être vu par l'utilisateur car le programme ne s’arrête pas, comme quand on utilise DISP, (sachant que là on ne peut pas l'utiliser)

(Aufaite merci pour vos réponses assez rapides, excusez moi j'ai dût m'absenter un moment )
Lephenixnoir En ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 22/02/2015 22:54 | #


A priori si tu insères mon petit morceau de code (avec Getkey) avant le menu, ça fait l'équivalent d'un Disp mais sans le message. Ou alors j'ai pas bien compris ton problème...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)


Mosv13477 Invité

Citer : Posté le 23/02/2015 09:39 | #


Bonjour,
J'ai compris pourquoi ta solution ne s'appliquait pas,
Enfaite vu que j'appuyais sur Exe pour démarrer le programme test, il suffisait que j'appuie à peine trop longtemps et à chaque fois ça démarrait le programme mais déclenchait aussi la condition While par la suite, j'ai donc repris ta solution mais cette fois ci avec la touche [-] à la place de [Exe] et ça fonctionne comme il faut

ClrText
Locate 1,1,"texte 1"
While Getkey-32:WhileEnd
ClrText
"texte 2"(DISP)

C'était donc bien la solution, merci pour votre aide
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 23/02/2015 10:22 | #


Oho très bonne astuce le Getkey-32 j'y penserai si jamais
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir En ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 23/02/2015 21:59 | #


Arf, oui. Si tu observes rapidement mon code :
While Getkey-31:WhileEnd
While Getkey:WhileEnd

La première boucle attend qu'on appuie sur [EXE] et la seconde attend qu'on relâche la touche. Après tu peux aussi dupliquer la seconde avant la première pour obliger :
→ À relâcher toutes les touches ;
→ À appuyer sur [EXE] ;
→ À relâcher [EXE].

Avec juste deux lignes normalement ton affichage aurait du se faire, et le programme continuer quand tu aurais relâché la touche.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ti.du.du39 Hors ligne Membre de CreativeCalc Points: 1290 Défis: 0 Message

Citer : Posté le 24/02/2015 19:58 | #


et avec
Locate 1,1, "Texte  1"Ø
?

Edit
enfin le petit triangle [SHIFT] [VARS] [F5]
" L'Homme prouve son intelligence en innovant dans la connerie "
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 24/02/2015 22:01 | #


Y a un truc essentiel en programmation : tant que tu bidouille pas les parties sensibles de l'OS, quand tu sais pas, tu teste. Y'a rien de mieux pour apprendre qu'apprendre par soi-même.

Ajouté le 24/02/2015 à 22:03 :
Et je te rassure, c'est pas en Basic que tu va faire planter ta calto (sauf si elle est très vieille)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24232 Défis: 170 Message

Citer : Posté le 24/02/2015 22:03 | #


Dark storm a écrit :
Y a un truc essentiel en programmation : tant que tu bidouille pas les parties sensibles de l'OS, quand tu sais pas, tu teste. Y'a rien de mieux pour apprendre qu'apprendre par soi-même.

Ben, même quand tu bidouilles un peu les parties sensibles de l'OS, tant que tu risques pas d'appeler le syscall d'écrasement de secteur tu teste. Je peux en attester. :3
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 116 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