Retroceder   Foros del Web > Temas generales de computación > Programación > C/C++

Respuesta
 
Herramientas Desplegado
Antiguo 24-ene-2007, 14:16   #1 (permalink)
ZainZeus ha deshabilitado el karma
 
Fecha de Ingreso: enero-2007
Mensajes: 5
Como leer una entrada del teclado sin detener la ejecucion

Pues aqui voy, soy nuevo en el foro

Estoy haciendo un programa para un proyecto, y en dicho programa tengo un ciclo que necesito que se ejecute sin interrupcion alguna, a la hora de leer una entrada del teclado pero si pongo cualquier funcion como getch o cin o cout o cualquiera el programa se espera a que la entrada del teclado sea leida, y ahi esta el problema, hay alguna forma de leer la entrada sin que se detenga el ciclo? Alguien Sabe?

Cualquier Respuesta la Agradezco de ante mano, Gracias
ZainZeus está desconectado   Responder Citando
Antiguo 24-ene-2007, 15:17   #2 (permalink)
Instru está en el buen camino
 
Avatar de Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.438
Re: Como leer una entrada del teclado sin detener la ejecucion

Con la winapi, o lo que siempre uso, allegro o SDL. Puedes leer el estado del teclado facilmente sin que se quede parado como el getchar o cosas asi.

Saludos
__________________
Usa las putas faqs:
http://www.forosdelweb.com/showthread.php?t=264647
Instru está desconectado   Responder Citando
Antiguo 27-ene-2007, 19:12   #3 (permalink)
ZainZeus ha deshabilitado el karma
 
Fecha de Ingreso: enero-2007
Mensajes: 5
Re: Como leer una entrada del teclado sin detener la ejecucion

Bien Gracias por tu respuesta Instru

Creo que eligiré allegro pero ya intente y sucede que necesito usarla en "Turbo C++ 3.0" (cosas de proyectos escolares) y no puedo usarla, alguna idea??
ZainZeus está desconectado   Responder Citando
Antiguo 27-ene-2007, 19:30   #4 (permalink)
Instru está en el buen camino
 
Avatar de Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.438
Re: Como leer una entrada del teclado sin detener la ejecucion

Huy, para turbo C++. No se si exista la posibilidad de compilarla manualmente para que sea compatible con turbo C++. O si el linker del turbo C++ acepte archivos .lib o .a. Tendrias que ver como son enlazadas las librerias estandar.
Y despues si son .a es como si usaras gcc, si son .lib junto con dlls pues entonces son como las de visual C++.

Saludos
__________________
Usa las putas faqs:
http://www.forosdelweb.com/showthread.php?t=264647
Instru está desconectado   Responder Citando
Antiguo 28-ene-2007, 12:28   #5 (permalink)
Eternal Idol está en el buen camino
 
Avatar de Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Europa (VdL)
Mensajes: 5.145
Re: Como leer una entrada del teclado sin detener la ejecucion

Podes usar kbhit ... una pena que todavia hagan usar estas porquerias a la gente.
Eternal Idol está desconectado   Responder Citando
Antiguo 28-ene-2007, 16:45   #6 (permalink)
ZainZeus ha deshabilitado el karma
 
Fecha de Ingreso: enero-2007
Mensajes: 5
Re: Como leer una entrada del teclado sin detener la ejecucion

ya intente usar kbhit() pero el problema con esta es que si su valor de retorno cambia de 0 a 1 ya no puede cambiar de 1 a 0 alguna otra idea?
ZainZeus está desconectado   Responder Citando
Antiguo 29-ene-2007, 11:11   #7 (permalink)
ZainZeus ha deshabilitado el karma
 
Fecha de Ingreso: enero-2007
Mensajes: 5
De acuerdo Re: Como leer una entrada del teclado sin detener la ejecucion

Bien pues como ven hallé la solucion, por si les interesa, ahh y gracias por su interes a todos los que me contestaron.
Pues la solucion consiste en usar un inport() e igualarlo a una variable para almacenar el numero de retorno del.... teclado! como ven pues el el # de puerto del teclado para los ps2 es 60 y pues hasta ahora no me ha dado problemas, hice un programa de prueba para saber cual es el numero que me retorna cada tecla, y ya no se detiene la ejecucion que era el principal problema. Que les parece
ZainZeus está desconectado   Responder Citando
Antiguo 29-ene-2007, 11:28   #8 (permalink)
Eternal Idol está en el buen camino
 
Avatar de Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Europa (VdL)
Mensajes: 5.145
Re: Como leer una entrada del teclado sin detener la ejecucion

Me parece que solo funcionara en 9x y no funcionara con teclados USB.
Eternal Idol está desconectado   Responder Citando
Antiguo 30-ene-2007, 10:56   #9 (permalink)
ZainZeus ha deshabilitado el karma
 
Fecha de Ingreso: enero-2007
Mensajes: 5
Re: Como leer una entrada del teclado sin detener la ejecucion

Pues de hecho lo probé en el WXP con el turbo C++ 3.0 instalado y funciona bien, y si claro que no funciona en los teclados usb
ZainZeus está desconectado   Responder Citando
Antiguo 30-ene-2007, 11:20   #10 (permalink)
Eternal Idol está en el buen camino
 
Avatar de Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Europa (VdL)
Mensajes: 5.145
Re: Como leer una entrada del teclado sin detener la ejecucion

Si, error mio en eso, al ser un programa de 16 bits es emulado y por eso funciona.
Eternal Idol está desconectado   Responder Citando
Antiguo 27-mar-2007, 13:54   #11 (permalink)
Hazek está en el buen camino
 
Avatar de Hazek
 
Fecha de Ingreso: noviembre-2002
Ubicación: En mi casa :D ó ?
Mensajes: 399
Re: Como leer una entrada del teclado sin detener la ejecucion

Cita:
Iniciado por ZainZeus Ver Mensaje
Pues de hecho lo probé en el WXP con el turbo C++ 3.0 instalado y funciona bien, y si claro que no funciona en los teclados usb
Dos preguntas:

1.Funciona sin problemas con el teclado de una laptop?
2. Puedo compilarlo con Borland C++ 5.5.1?

Es que trato de compilarlo usando inport() y marca error por la funcion, no de sintaxis si no de que no puede encontrarla , segun yo busque y usa la libreria DOS.H pero no me funciona, no tendras un ejemplo que puedas mostrarme?
__________________
www.hazeknext.com
Aprendiendo: Flash, Java (Servlets, JSP), XML, PHP, SQL (MySQL, Oracle), Prolog, Assembler (PIC's) y Electronica.
Hazek está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 22:52.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93