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 ! 8O

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 !! 8O

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 8O , ya quand meme un truc etrange :D

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 8O , ya quand meme un truc etrange :D
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 :D

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 !! :lol:

tes code fonctionnent , mais les miens devraient marcher aussi :)

surtout en mode debugger avec le trace Pas a Pas !! 8O

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 !! 8O

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.