SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: Norax en Lunes 21 de Marzo de 2005, 19:31
-
Necesito ayuda porque he buscado en foros y he mirado en librerias y no encuetro una función que pueda leer, posicionandote en una parte de la pantalla (gotoxy()), el caracter que esta impreso en la pantalla en ese lugar. Si alguno os habeis enfrentado a ello o sabeis mas que yo, por favor, os pido que me ayudeis.
Se que la pantalla se trata como un fichero de solo escritura (stdout) pero me preguntaba si se podica leer de el.
Adios y gracias de todas formas. :comp: :whistling:
-
de que se trata el problema
talvez te pueda ayudar
-
hola
¿El stdout se puede leer?
creo que no :( pero no estoy seguro asi que sigue buscando y preguntando
saludos :hola:
-
Lo quiero para realizar una libreria que contenga las siguietes funciones:
menuv(cordenadas x,coordenadas y, alto, ancho);
Dibuja una ventana para relizar un menu, esta ya esta hecha;
otra que se llame lineavert(cordenadas x,coordenadas y,tamaño)
Quisiera que recorriera la pantalla desde el punto x,y hasta tamaño para así comprobar si hay una linea horizontal ya dibujada que cambie esta linea por una cruz o si es el final por una esquina...
otra que se llame lineahori(cordenadas x,coordenadas y,tamaño)
Semejante a la anterior pero en horizontal.
*Tambien me podrias decir que modificador puedo usar con scanf o una funcion de entrada para que esta no esceda de ciertos caracteres tanto al coger el valor como cuando el usuario lo mete por pantalla. :huh:
Lo necesito para un proyecto que tengo que realizar en breve, asi quiero dibujar las ventanas de los menus y dentro de las ventanas los distintos apartados.
Perdonar por las molestias y gracias otra vez. :)
-
Se puede accediendo a las interrupciones o en su defecto a la API de windows...
todo lo que necesitas esta en el libro
Lenguaje C para Expertos
de Helbert Schild
-
Otra posible opcion es que si sabes enzamblar podria manejar estas coass desde ahi, creando links a enzamblador.
-
El problema con ensamblador es que no lo puedes usar en versiones de windows de 32 bit...
por varias razones:
1- los niveles de proteccion del sistema
2- no se usan las interruopciones directamente
...
...
Pero si cuentas con compiladores como el DJGPP puedes usar la INt86 que te deja acceder a las interrupciones del modo virtual del 8086 (o sea en programas de consola) incluso te permite usar asm en algunas ocaciones.
Mi recomendacion por pura funcionalidad a futuro es que uses la Win32API
-
si lo que hablas es leer que caracter hay en una posicion de la pantalla e modo
texto, la solucion es asi:
puntero a B800:0000 si es modo real
puntero a B8000si es protegido
B800:(y*80+x)*2 te da la coordenada del caracter que queres averiguar y el del lado
te da los atributos, osea el color el fondo etc ( no se si es al reves osea el primero es los atributos )
el 80 es la cantidad de caracteres por linea del modo texto 03h que es el que va por defecto en dos o en la consola de linux si no solo tenes quecambiar ese valor
si esmodo real usa far char * o MK_FP para crear el puntero
-
agregando...
yo habia hecho algo parecido que desapareciocuando formatee e disco que
dibujaba una ventana en la pantalla sin necesidad de sabr que habia en ella
sobre la lectura de una cierta cantidad de caracteresun while con getchar o
la amistosa interrupcion 16h funcion 0h
espero que sirva
-
POR FAVOR SI SABEN DE ALGUNAS LINEAS DE CODIGO PARA LEER UN CARACTER IMPRESO EN PANTALLA EN LA POSICION gotoxy , LES ESTARIA ETERNAMENTE AGRADECIDA XD ,SE QUE HAY CODIGO EN ENSMBLADOR Q HACE ESO , ASI QUE DEBE HABER EN ALTO NIVEL