SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: sjaco30 en Sábado 24 de Febrero de 2007, 21:20

Título: Getch
Publicado por: sjaco30 en Sábado 24 de Febrero de 2007, 21:20
recientemente me han pedido realizar un pograma que realize la funcion del getch pero sin usar la funcion, y no tengo idea de como, espero que alguien me pueda decir como lo hago.
HELP
Título: Re: Getch
Publicado por: dadevil_g en Sábado 24 de Febrero de 2007, 21:43
Bueno, tal vez parezca un poco fuera de idea pero pudieras utilizar una pausa en el sistema, algo asi como: system( "PAUSE" ); no recuerdo la libreria a utilizar, pero ha de ser una de las basicas stdio.h, conio.h, dependiendo de tu compilador, espero te sirva de ayuda.

Si no te queda claro aqui tienes un pequeño ejemplo:

#include <stdio.h>
#include <conio.h>

int main()
{
printf("\nPrograma de prueba, es sabado, bebamos, salu2");
system( "PAUSE" ); // Aqui pausamos el programa.
return 0;
}
Título: Re: Getch
Publicado por: pabloreda en Sábado 24 de Febrero de 2007, 23:15
hay una interrupcion que te retorna la tecla pulsada, otra es con in y out pero deverias desactivar las int justamente.

No me acuerdo que int era pero busca la del SO que uses y despues busca en el manual de tu C como llamar interrupciones.

Ahora, el que te pidio eso es medio nabo (no se si esta palabra es un regionalismo, solo espero que se entienda).
Título: Re: Getch
Publicado por: Mollense en Sábado 24 de Febrero de 2007, 23:48
Cita de: "dadevil_g"
Bueno, tal vez parezca un poco fuera de idea pero pudieras utilizar una pausa en el sistema, algo asi como: system( "PAUSE" ); no recuerdo la libreria a utilizar, pero ha de ser una de las basicas stdio.h, conio.h, dependiendo de tu compilador, espero te sirva de ayuda.
pause no retorna la tecla pulsada.-

Citar
Ahora, el que te pidio eso es medio nabo
Medio si se lo mira con un solo ojo  :lol: . No, en serio, no podemos juzgar sin saber cual sea su fin.-

getch es una función de BORLAND definida en conio.h podrías ver que hay en ese archivo  :)
Título: Re: Getch
Publicado por: pabloreda en Domingo 25 de Febrero de 2007, 01:11
Citar
No, en serio, no podemos juzgar sin saber cual sea su fin.-

si que podemos, encima que le damos una ayuda !
Título: Re: Getch
Publicado por: su - en Domingo 25 de Febrero de 2007, 01:30
Esto ya se ha hablado, busca un thread de DOS.h y encontraras algo de POSIX y la mejor respesta era usar windows.h o algo asi.
Título: Re: Getch
Publicado por: JuanK en Lunes 26 de Febrero de 2007, 13:49
Yo creo que la mejor respuesta no es usar la api de windows puesto que no especifica si la necesita para Unix like o para Win32.

Sin embargo creo que independientemente usar una interrupción no es una buena idea pues un sistema que corra en modo protegido no lo permitirá, así que necesariamente tendría que ser una aplicación que corra en el modo virtual del 8086.

En fin  :rolleyes:

No se me ocurre una manera buena de hacerlo salvo que especifique cual es el sistema operativo sobre el cual correr el programa, el cual presumiblemente sera windows... pero aun no se sabe.  :scream:
Título: Re: Getch
Publicado por: su - en Lunes 26 de Febrero de 2007, 22:58
Por eso dije que lo buscara, ahi dice que en Unix hay lago llamado stdio.h y Eternal habla de Windows.h  :smartass:

http://foros.solocodigo.com/index.php?showtopic=25638 (http://foros.solocodigo.com/index.php?showtopic=25638)

Tambien hay termios que puede ser util  :)
Título: Re: Getch
Publicado por: Bicholey en Martes 27 de Febrero de 2007, 01:10
:P  :P  :P


No se cual sea el objetivo de esa practica, pero hace años cuando fui ala uni me solicitaron una practica similar y vos dije como coño la voy a hacer e hice una rebambaranba y lo unico que queria el maestro era que lo hicieramos en asm para ver como se captura desde teclado , espero me hay explicado que lo primordial al momento de hacer una practica es saber cual es el objetivo de la misma.
Título: Re: Getch
Publicado por: JuanK en Martes 27 de Febrero de 2007, 02:10
Cita de: "Bicholey"
:P  :P  :P


No se cual sea el objetivo de esa practica, pero hace años cuando fui ala uni me solicitaron una practica similar y vos dije como coño la voy a hacer e hice una rebambaranba y lo unico que queria el maestro era que lo hicieramos en asm para ver como se captura desde teclado , espero me hay explicado que lo primordial al momento de hacer una practica es saber cual es el objetivo de la misma.
tienes razón, desde ese punto de vista entonces si seria bueno hacerlo con interrupciones asi sea en modo virtual del 8086 (o modo DOS que suena mas familiar)
Título: Re: Getch
Publicado por: Geo en Martes 27 de Febrero de 2007, 05:59
Cita de: "Bicholey"
lo primordial al momento de hacer una practica es saber cual es el objetivo de la misma.
¿Cuántos estudiantes le piden al maestro el temario del curso? ¿Y el objetivo del mismo?

No importa qué hagamos, sino saber porqué lo hacemos.