Transtypage.

Transtypage. - Delphi/Pascal - Programmation

Marsh Posté le 18-02-2006 à 13:26:00    

Ceci est incorrect :  
 
key : char
Touche : integer;
 
Touche := key // Refus du compilo. Besoin de transtyper, et j'y arrive pas.
 
Objectif : mettre ds l'int Touche la valeur du char Key
 
Merci :)


Message édité par HERIBERT le 18-02-2006 à 16:45:05
Reply

Marsh Posté le 18-02-2006 à 13:26:00   

Reply

Marsh Posté le 19-02-2006 à 15:47:49    

essaye :
   Touche := StrToInt(char);

Reply

Marsh Posté le 19-02-2006 à 15:55:12    

fusion_sadam a écrit :

essaye :
   Touche := StrToInt(char);


Types incompatibles. Le compilo dit non :(

Reply

Marsh Posté le 19-02-2006 à 16:03:12    

je voulais dire Touche:=StrToInt(Key) et pas Char
 
en tout cas, ca marche trés bien chez moi !!

Reply

Marsh Posté le 19-02-2006 à 18:07:57    

fusion_sadam a écrit :

je voulais dire Touche:=StrToInt(Key) et pas Char
 
en tout cas, ca marche trés bien chez moi !!


Marche pas : "Aucun eversion surcghargée de IntToStr ne peut être appelée avec ces arguments"
Précision : Key est de type Char, et c'est un événement OnKeyPress d'un TListBox qui la passe en paramètre à la procédure que génère ce traitement :  
procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: Char);
 
J'ai saisi         Touche := IntToStr(Key); et ça ne marche pas : msg d'erreur ci-dessus.
 
Faudrait que je trouve un truc pr intercepter l'événement OnKeyPress et traiter Flèche haute et autres touches spéciales.  

Reply

Marsh Posté le 19-02-2006 à 23:00:00    

j'ai essayer ca :
showmessage(Char(Key) + '  ' + IntToStr(Ord(key)));
 
ca marche, ca m'affiche la lettre taper + son code Ascii mais par contre ca n'a pas l'air de detecter si on appui sur une fleche.

Reply

Marsh Posté le 20-02-2006 à 10:07:05    

Pour savoir quelle touche à été enfoncé, le plus simple est d'utilisé l'évenement OnKeyDown de la fenêtre(Voir l'aide correspondante pour les détails)
 
Au cas ou cela ne te convien pas (par exemple, si tu veut intercepter les touche, y compris si la fenetre n'a pas la focalisation), il faut fouiller dans l'API windows (j'ai fais un truc comme ça dans le temps, mais je ne retrouve plus le code. Remarque, je l'avais trouvé grace à Google ;-) )

Reply

Marsh Posté le 20-02-2006 à 11:23:02    

Zozol a écrit :

Pour savoir quelle touche à été enfoncé, le plus simple est d'utilisé l'évenement OnKeyDown de la fenêtre(Voir l'aide correspondante pour les détails)
 
Au cas ou cela ne te convien pas (par exemple, si tu veut intercepter les touche, y compris si la fenetre n'a pas la focalisation), il faut fouiller dans l'API windows (j'ai fais un truc comme ça dans le temps, mais je ne retrouve plus le code. Remarque, je l'avais trouvé grace à Google ;-) )


Ben tiens ! Moi, je traitais l'événement KeyPress ... POuvais pas y arriver, alors  :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed