Posté le 22/02/2015 20:47
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 246 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 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:WhileEnd
Citer : Posté le 22/02/2015 21:05 | #
Mais non le veritable problème cest surtout le ClrText
-Mon Fall Down
-Mon jeu de mains
-Mon starwars
-Mon dessinatout
-Mon niaiseux version 2.0
-Mon niaiseux version 3.0
-Inferno
-Mon super labyrinthe (en cours)
-Mon call of duty en 3D
-Casion (avec Az)
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
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
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 22/02/2015 21:33 | #
@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.
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 )
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...
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
Citer : Posté le 23/02/2015 10:22 | #
Oho très bonne astuce le Getkey-32 j'y penserai si jamais
-Mon Fall Down
-Mon jeu de mains
-Mon starwars
-Mon dessinatout
-Mon niaiseux version 2.0
-Mon niaiseux version 3.0
-Inferno
-Mon super labyrinthe (en cours)
-Mon call of duty en 3D
-Casion (avec Az)
Citer : Posté le 23/02/2015 21:59 | #
Arf, oui. Si tu observes rapidement mon code :
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.
Citer : Posté le 24/02/2015 19:58 | #
et avec
Edit
enfin le petit triangle [SHIFT] [VARS] [F5]
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)
Citer : Posté le 24/02/2015 22:03 | #
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