Page 1 sur 2
je fatigue ou bug ?
Publié : sam. 21/juin/2008 14:34
par Backup
testez moi ça s'il vous plait
moi le debug ne renvoi rien !
Code : Tout sélectionner
Resultat = OpenConsole()
ConsoleCursor(0)
ConsoleTitle("")
yy:
Chaine$ = Inkey()
Debug Str(RawKey())
Goto yy
Publié : sam. 21/juin/2008 14:51
par SPH
Moi il m'envoie une infinité de 0
Publié : sam. 21/juin/2008 14:54
par Backup
SPH a écrit :Moi il m'envoie une infinité de 0
oui c'est pas normal , il devrai envoyer le code de la touche appuyée !!
RawKey()
Publié : sam. 21/juin/2008 15:08
par SPH
Code : Tout sélectionner
Resultat = OpenConsole()
ConsoleCursor(0)
ConsoleTitle("")
yy:
Chaine$ = Inkey()
If RawKey()
Debug Str(RawKey())
EndIf
Goto yy
ou :
Code : Tout sélectionner
Resultat = OpenConsole()
ConsoleCursor(0)
ConsoleTitle("")
yy:
Chaine$ = Inkey()
Debug Str(RawKey())
Delay(500)
Goto yy
Publié : sam. 21/juin/2008 15:13
par Ollivier
Il te l'envoie mais, c'est un résultat sur plusieurs centaines de 0 alors difficile de voir la valeur de ses touches comme ça !
Il faut éviter d'écrire toute les valeurs inutiles :
Code : Tout sélectionner
Resultat = OpenConsole()
ConsoleCursor(0)
ConsoleTitle("")
yy:
Chaine$ = Inkey()
If Chaine$ <> "" ; Un petit tri s'impose
If RawKey()
Debug Str(RawKey())
EndIf
EndIf
Goto yy
Publié : sam. 21/juin/2008 15:14
par Backup
oui ça marche maintenant ,
cependant, pourquoi faut il un delay()
alors qu'avant il en fallait pas

, ya quand meme un truc etrange

Publié : sam. 21/juin/2008 15:16
par SPH
Dobro a écrit :oui ça marche maintenant ,
cependant, pourquoi faut il un delay()
alors qu'avant il en fallait pas

, ya quand meme un truc etrange

nan mais je pense que dans le flot de 0, tu ne peux pas voir ta touche appuyée. Pour ca que j'aéi mis un delay
Publié : sam. 21/juin/2008 15:18
par Ollivier
Et pour le CPU qui fume, on rajoute un Delay :
Code : Tout sélectionner
Resultat = OpenConsole()
ConsoleCursor(0)
ConsoleTitle("")
Repeat
Delay(2)
Chaine$ = Inkey()
If Chaine$ <> "" ; Un petit tri s'impose
If RawKey()
Debug Str(RawKey())
EndIf
EndIf
ForEver
Publié : sam. 21/juin/2008 15:23
par Ollivier
Oups! Les messages s'interposent...
Pour le pourquoi du Delay : je ne sais pas, tournant en version 4.10 B2, la documentation sur RawKey() m'indique de faire un tri. S'il n'y a rien au clavier, c'est un delay que l'on exécute. Pour cette version, c'est déjà comme ça.
Code : Tout sélectionner
Resultat = OpenConsole()
ConsoleCursor(0)
ConsoleTitle("")
Repeat
Chaine$ = Inkey()
If Chaine$ <> "" ; Un petit tri s'impose
If RawKey()
Debug Str(RawKey())
EndIf
Else
Delay(5)
EndIf
ForEver
Publié : sam. 21/juin/2008 15:28
par Backup
ça ça ne marche pas en mode debug pas a pas !!
pourtant y a du delay en mode pas a pas
Code : Tout sélectionner
Resultat = OpenConsole()
ConsoleCursor(0)
ConsoleTitle("")
CallDebugger
yy:
Chaine$ = Inkey()
Debug Chaine$
Debug RawKey()
Delay(10)
Goto yy
Publié : sam. 21/juin/2008 17:55
par Ollivier
Ton truc ne marche pas. En revanche, les 2 petits codes source au-dessus fonctionnent bien.
Il n'y a qu'un souci : la console n'est pas forcément au premier plan au démarrage. Il faut parfois aller la chercher dans la barre des tâches...
Publié : sam. 21/juin/2008 18:40
par Backup
Ollivier a écrit :Ton truc ne marche pas. En revanche, les 2 petits codes source au-dessus fonctionnent bien.
oui je sais mon code ne marche pas !!
c'est pour ça que je signale un bug !!
tes code fonctionnent , mais les miens devraient marcher aussi
surtout en mode debugger avec le trace Pas a Pas !!

Publié : dim. 22/juin/2008 11:07
par Ollivier
Tes codes marchent aussi Dobro, Seulement, va analyser que j'ai appuyé sur la touche [Echap] avec une séquence comme-ça dans la fenêtre de déboguage :
Code : Tout sélectionner
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Publié : dim. 22/juin/2008 11:49
par Backup
Dobro a écrit :surtout en mode debugger
avec le trace Pas a Pas !!

Publié : dim. 22/juin/2008 12:02
par Ollivier
Je suis conscient que la période de fin de semaine est dure, pourtant je me permets de te dire que, saturant la touche F7 (ou autre touche spécifique) pour «continuer» ce que tu as arrêté avec CallDebugger, il est évident que tu n'as pas le temps de satisfaire la routine d'un appui perceptible de touche.