SoloCodigo
Programación General => C/C++ => Mensaje iniciado 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
-
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;
}
-
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).
-
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.-
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 :)
-
No, en serio, no podemos juzgar sin saber cual sea su fin.-
si que podemos, encima que le damos una ayuda !
-
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.
-
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:
-
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 :)
-
: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.
-
: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)
-
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.