PDA

Ver la Versión Completa : Onkeypress primero escriba y luego ejecute el codigo


principiante22
27-08-2008, 17:32:53
Saludos a todos, aqui vengo con otra de las mias :D.

Si mal no tengo entendido, el evento onkeypress ejecuta el codigo escrito en el antes de si quiera escribir la letra (o lo que sea que se presiono), pues entonces mi duda es, como puedo hacer que la letra se escriba antes de que se ejecute el codigo?.

Trate con algo como esto:

Edit1.text:=Edit1.text+key;
i:=edit1.text;

Lo puse antes del codigo pero entonces el problema es que cuando subrayo lo que esta dentro del edit y digito una letra pues el edit queda solo con la letra que digite, pero el valor de i sera lo que habia escrito anteriormente mas la letra que digite :confused:.

Bueno, muchas gracias de antemano ;).

egostar
27-08-2008, 17:38:24
Hola

No entiendo que es lo que quieres hacer, podrías ser mas claro en tu pregunta?

Salud OS

JXJ
27-08-2008, 22:02:49
es que al ser onkeypress.

es al presionar la tecla. y no se toa en cuenta la parte visual. sino el evento

prueba, con el edit. con onchange.

o si no. con un timer. que se ejecute con el evento con keypress
y que se auto detenga asi mismo.
al timer tu elije cuantos milisegundos son apropiados. o al segundo se ejecute el timer



onkeypress
begin
timer1.enabled:=True;

end;


Form1.ontimer1(Sender:Tobject)
begin
Edit1.text:=Edit1.text+key;
i:=edit1.text;

Timer1.enabled := False

end;

Khronos
27-08-2008, 23:19:34
El evento que necesitas es OnKeyUp. Este evento se lanza cuando levantas la tecla, el evento OnKeyPress se lanza cuando pulsas la tecla y antes de que se escriba y el evento OnKeyDown se lanza cuando la tecla está pulsada.

Salu2

principiante22
28-08-2008, 02:09:01
Muchas gracias Khronos tu comentario me sirvio de mucho :D