Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Key o Integer? (https://www.clubdelphi.com/foros/showthread.php?t=52814)

MaMu 31-01-2008 21:58:30

Key o Integer?
 
Código Delphi [-]
procedure TForm1.ListView2KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
    VK_RIGHT : Image3.Left:=Image1.Left+1;
    VK_LEFT  : Image3.Left:=Image1.Left-1;
    VK_UP    : Image3.Top:=Image1.Top-1;
    VK_DOWN  : Image3.Top:=Image1.Top+1;
  end;
end;

ERROR: incompatible types: 'Char' and 'Integer'

Porque me salta este error?

Saludos

keyboy 31-01-2008 22:02:37

Key es Char y VK_RIGHT, etc. son Integer. Además, KeyPress no creo que detecte esas teclas, mejor usa OnKeyDown u OnKeyUp

Bye

enecumene 31-01-2008 22:36:56

Cita:

Empezado por keyboy (Mensaje 262475)
Key es Char y VK_RIGHT, etc. son Integer. Además, KeyPress no creo que detecte esas teclas, mejor usa OnKeyDown u OnKeyUp

Bye

Estoy de acuerdo con KeyBoy yo los uso en el evento keydown y me funciona, el evento KeyPress se usa con los key Codes, ejemplo:

Código Delphi [-]
if Key = #13 then //#13 es ENTER del teclado.
   begin
       //vainas:D
   end;

y en el KeyDown se usa VK_ENTER

Saludos.

ixMike 31-01-2008 22:47:57

En el evento OnKeyPress key es de tipo Char: sólo sirve para cosas que se pueden "escribir".

Para demás VKs, utiliza el OnKeyDown o el OnKeyUp, como ya te han indicado.

Y si quieres utilizar el Key del OnKeyPress como número, utiliza la funcion Ord:

Código Delphi [-]
Num:=Ord(Key);

Eso devolverá el valor ASCII (o ANSI, no estoy seguro) de la tecla (letra o símbolo) pulsado. No sirve para teclas como F1, F2..., las flechas, Ctrl, Alt... sólo para cosas que se puedan escribir, Enter, Tabulación, Retroceso, y Escape (y creo que dos o tres más).


Salu2.


La franja horaria es GMT +2. Ahora son las 00:39:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi