Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2014
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
Thumbs down Capturar combinacion de Teclas

Que tal amigos,

Estoy trabajando con Turbo Pascal... )con el único fin de aprenderme las bases para adentrarme en delphi ) ... y como practica estoy transportando código desde turboC.. sin embargo estoy tropezando con un gran problema.. y es que tengo el siguiente código en C:

Código:
int select;
.....

if(select!=ESC) //captura de Tecla!!!
{
	//select=getch();
	for(i=0;i<20;i++)
		if(kbhit())
	getch();
	select=getch();

	if(select==0)
	select=getch()+1000;
}
.....
El cual me permite capturar combinaciones de teclas como Ctrl+Tab y Ctrl+Backspace; e intentado hacer lo mismo en pascal... Pero me funciona a medias, es decir me funciona para teclas sueltas pero en cuanto intento usar Ctrl+Tab y Ctrl+Backspace no me anda... , este es el código que uso:

Código:
select: Char;
...
if(select<>ESC) then {captura de Tecla!!!}
begin
	for i:=1 to 20 do
		if(KeyPressed)then
		       ReadKey;
		select:=ReadKey;

		if select=#0 then
		       select:=ReadKey+1000;
	end;
...
me podrían ayudar a encontrar donde me estoy equivocando??
Responder Con Cita
  #2  
Antiguo 28-04-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Novatin.

Realmente hace muchísimos años que no toco Turbo Pascal, pero recuerdo que la función ReadKey te devolvía un byte si se había presionado una tecla normal y cero si era extendida, obteniendo el valor con una nueva lectura. Y, si mi memoria no falla creo que era algo como:
Código Delphi [-]
var
  ch: Char;
begin
  repeat
    ch := ReadKey;
    if ch = #0 then
    begin
      ch:= Readkey;
      case ch of
        #80: // Key down
        #72: // Key up
        ...
      end;
   until ch = #27
   ...
Pero eso era para el viejo DOS... , no lo dispongo para hacer la prueba.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-04-2014 a las 21:27:05. Razón: horror ortográfico: "devuelvía"
Responder Con Cita
  #3  
Antiguo 01-05-2014
Novatin Novatin is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 61
Poder: 12
Novatin Va por buen camino
Gracias...

Al final tuve que usarme Shift+Tab y Ctrl+BackSpace...
Pero ya me anduvo... espero algún día dejar de usar D.O.S. pero aun no puedo hacerlo, intente convertir todos mis programas a microcontrolador y, aunque obtuve buenos resultados funcionalmente hablando, tropecé con insuficiente memoria ram para manejar una buena cantidad de datos y posibilidad "cero" de mostrar gráficos.. y ni que decir de intentar archivar datos ya que solo el uso de una memoria mmc/sd en un microcontrolador te consume toda la memoria de programa.. m

En fin, un saludo, y aquí sigo al pie del cañon...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturar combinación de teclas sin tener el focus mcs API de Windows 2 16-07-2010 13:22:29
Ejecutar Combinacion de teclas look OOP 2 24-07-2008 21:05:34
Detectar combinacion de teclas dblx API de Windows 1 13-03-2008 14:44:26
Combinación de Teclas novato03 Varios 3 04-09-2007 16:24:38
Combinación de teclas Jose_Pérez API de Windows 2 17-06-2003 11:57:30


La franja horaria es GMT +2. Ahora son las 15:25:47.


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
Copyright 1996-2007 Club Delphi