[ Foro de Pascal ]

FreePascal SAveScreen

22-Feb-2016 17:37
Daniel Perez C.
4 Respuestas

Hola Foro,
Necesito saber como hacer una funcion de ester tipo savescreen(1,1,24,80) y su antonimo restorescreen(1,1,24,80)
Esa seria la idea, estube buscando y buceando por google y yahoo, pero todo lo que he vsito no me funciona en FreePAscal, solo vale para Turbo Pascal.
Yo uso la FreePascal en Linux...
Alguien podria darme alguna pista ?


23-Feb-2016 01:15
Nacho Cabanes (+84)

Es que el manejo de la memoria es distinta en cada sistema operativo. En MsDos (Turbo Pascal), se podría hacer accediendo a la memoria de pantalla. En Linux, como en cualquier sistema operativo moderno y multitarea, no puedes acceder libremente a las posiciones de memoria que te apetezca.

La alternativa "de alto nivel", que es la unidad CRT, no incluye opciones para leer posiciones de pantalla:

http://www.freepascal.org/docs-html-3.0.0/rtl/crt/index-5.html

La única forma es crear tus propias órdenes de escritura en pantalla, para poder memorizar en un array lo que envías a cada posición de ésta.


23-Feb-2016 12:29
Daniel Perez C.

Creo que se esta complicando un poco el tema, mi pregunta es entonces como funciona o que tecnico utiliza el Free Vision?


27-Feb-2016 23:09
Nacho Cabanes (+84)

No sé como funciona internamente Free Vision. El código fuente está disponible, así que podrías comprobarlo tú mismo. Es de esperar que, ya que intercepta todas las salidas en pantalla, pueda memorizar lo que hay en pantalla, para poder restaurarlo si fuera necesario (por ejemplo, si se muestra una ventana que tape algo de texto y finalmente se elimina esa ventana, volviendo a dejar visible el texto).


06-Mar-2016 21:16
Daniel Perez C.

Gracias nacho me pondre a investigar...






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)