Ver Mensaje Individual
  #4  
Antiguo 05-05-2013
Subliminalz Subliminalz is offline
Registrado
NULL
 
Registrado: abr 2013
Posts: 7
Reputación: 0
Subliminalz Va por buen camino
Post

"Tiammat" claro que si. Gracias por la recomendación.
"NLSGarcia" muy interesante lo que posteo el usuario "RRF"... de hecho me va a servir para practicar la combinación de teclas... asi que gracias...

Cita:
Empezado por nlsgarcia Ver Mensaje
Adicionalmente te sugiero usar el evento OnKeyDown de un control TEdit para determinar que código de tecla se activa al presionar unicamente la tecla Enter del equipo en cuestión.
Con este comentario me hiciste pensar un rato, "unicamente" fue la palabra magica...

Gracias a ello detecte la falla y es que estaba a simple vista, solo faltaba mirar un poco más y aumentar un poco el brillo a la pantalla, jeje, se debe a que estoy utilizando un código que cuando presiono las teclas del teclado númerico, también se marcan los números que estan en el Form, es decir en la interfaz que también tiene los numeros, entonces ejecuto la aplicación, introduzco un número, luego introduzco la operación, luego otro número, y presiono Enter entonces me introduce el 2do. número que marque ya que este todavia se encuentra presionado debido al código...
El código para presionar los números y que se muestre también en la interfaz es:
Código Delphi [-]
procedure TForm1.OnClick(Sender: TButton);
begin
  with (Sender as TButton) do
  begin
    Perform(WM_LBUTTONDOWN, MK_LBUTTON,0);
Sleep(100);
    Perform(WM_LBUTTONUP, MK_LBUTTON,0);
  end;
end;
Eliminando ese código y dejando solo el de Enter funciona de maravilla, el problema principal no era el acompañamiento de la tecla Enter, sino que al apretar Shift se ignoraba lo anterior dejando como tecla principal el Enter... de ahi que tenia que venir acompañada la señorita, jeje...

Fue cuando se me ocurrio la peor solución de todas, implementar un código que mantega la tecla Shift presionada, lo pongo justo debajo del código que puse arriba...
Código Delphi [-]
keybd_event(VK_SHIFT, 0, 0, 0);
Sleep(500);
Efectivamente funciona durante ese lapso de tiempo, pero no solo con la aplicación sino en todo, me abre dos Delphi, y me abre dos navegadores y cada vez que doy click a algo lo vuelve a abrir, jaja, se vuelve loco todo, estas cosillas que uno aprende en el camino...

Entonces amigos(as), como le puedo hacer, jeje, esta medio complicado esto, o a ese código como le hago pero que funcione solo en la aplicación, ya que si quito el tiempo, entonces permanece activo siempre, complicado para mi, el novato, jeje...

Bueno muchas gracias, de paso alguien me indica que le aumento a ese primer código para que deje las teclas como sino se hubieran presionado y también como hacer para forzar que se presione la tecla Enter sin importar que otra tecla este activa, si se puede claro...

Muchas gracias en verdad...
Responder Con Cita