Newsgroup: it.comp.lang.pascal
Titolo: Aiuto! Lettura carattri dallo schermo

Salve a tutti,
sono nuova del pascal e ho un problema da risolvere...
Sto facendo un programmino con menu a tendina, ma ho bisogno di qualche
procedura che mi salvi lo schermo di fondo per poterlo recuperare a chiusura
del menu.
Grazie a tutti.
Saluti & Baci
Elodia

del menu.
Se il numero di finestre da visualizzare non e' eccessivo (< 30)
allora puoi utilizzare il seguente programma, che pero' ha il difetto
di consumare molta memoria Heap.
Puoi modificarlo per fargli salvare per ogni finestra, non tutto lo
schermo di fondo, ma solo la porzione da essa sovrascritta :
program Finestre ;
{$x+}
uses crt ;
const MAX = 1000 ;
type screen = array [1..4000] of byte ;
     screen_p = ^screen ;
     screen_stack = record
                      P : integer ;
                      D : array [1..MAX] of screen_p ;
                    end ;
     procedure init_screen_stack ( var S : screen_stack ) ;
     begin
       S.P := 0 ;
     end ;
     procedure push_screen ( var S : screen_stack ) ;
     begin
       if ( S.P < 4000 ) then
       begin
         inc(S.P) ;
         getmem(S.D[S.P], 4000) ;
         move(ptr($b800,0)^, S.D[S.P]^, 4000) ;
       end ;
     end ;
     procedure pop_screen ( var S : screen_stack ) ;
     begin
       if ( S.P >= 1 ) then
       begin
         move(S.D[S.P]^, ptr($b800,0)^, 4000) ;
         freemem(S.D[S.P], 4000) ;
         dec(S.P) ;
       end ;
     end ;
     procedure finestra (x0, y0, x1, y1, c : byte ) ;
     var x, y : integer ;
     begin
       textattr := c ;
       gotoxy(x0, y0) ; write ( '*' ) ;
       gotoxy(x0, y1) ; write ( '*' ) ;
       gotoxy(x1, y0) ; write ( '*' ) ;
       gotoxy(x1, y1) ; write ( '*' ) ;
       for x := succ(x0) to pred(x1) do
       begin
         gotoxy(x, y0) ;
         write ('-');
         gotoxy(x, y1) ;
         write ('-');
         for y := succ(y0) to pred(y1) do
         begin
           gotoxy ( x0, y );
           write ( '|' ) ;
           gotoxy ( x1, y ) ;
           write ( '|' ) ;
           gotoxy( x, y ) ;
           write(' ') ;
         end ;
       end;
     end ;
var i : integer ;
    S : screen_stack ;
begin
  init_screen_stack ( S ) ;
  randomize ;
  textattr := 7 ;
  clrscr ;
  for i := 1 to 30 do
  begin
    push_screen ( S ) ;
    finestra ( random(40), 
               random(12),
               random(40)+40, 
               random(12)+12, 
               random(255) and 127 + 1 ) ;
  end ;
  readkey ;
  for i := 1 to 30 do
  begin
    pop_screen ( S ) ;
    readkey ;
  end ;
end.

getimage e putimage(unit graph).
...che in modo testo non hanno corrispondente...

getimage e putimage(unit graph).
Io grazie a questa tecnica ho implementato un bel tooltip (come in
Windows), alla faccia di Laforgia :-))))).
Bye,
Joseph Parrello.

del menu.
Oltre alla libreria del Laforgia, fatti una capatina su Simtelnet alla
URL
ftp://ftp.flashnet.it/pub/simtelnet/msdos
dove puoi trovare eventualmente una marea di librerie per MSDOS per la
gestione del mouse, delle finestre, e tanto altro. Eventualmente
scaricati il file SIMDOS-L.ZIP per avere l'indice MSDOS di Simtelnet
disponibile immediatamente. Una volta che lo hai decompresso puoi
vedere ogni libreria accompagnata dalla sua descrizione e la sua
dimensione.
Bye.
Joseph Parrello.

Oltre alla libreria del Laforgia, fatti una capatina su Simtelnet alla
E' evidente che confondi una libreria con un programma d'esempio
scritto al momento.

Windows), alla faccia di Laforgia :-))))).
Bravo ! 
che invidia che mi fai !
vorrei essere in gamba come te !...

Io ho fatto la stessa cosa in grafica(bgi) ed ho utilizzato le procedure
getimage e putimage(unit graph).
bye
--
-----------------------------------------------------
s...@gem.it
kin...@geocities.com
IRCNet:KiNg[G]hZ »»» #
mp3.it



vorrei essere in gamba come te !...
Non ti preoccupare, grazie alla laurea guadagnerai un bel po' di
soldoni. Quello e' importante, no?
Bye.
Joseph Parrello.

scritto al momento.
Come anche e' evidente che per la fretta uno scrive cose che non
vorrebbe scrivere.
Bye.
Joseph Parrello.

soldoni. Quello e' importante, no?
Io guadagno soldoni anche *senza* la laurea...
...e, sopratutto perche', al contrario di *altre* persone, io conosco
la programmazione...

vorrebbe scrivere.
Bravo, vedo che ammetti i tuoi errori.

la programmazione...
Se ti riferisci al sottoscritto, ho detto chiaramente piu' volte che
NON sono un vero programmatore. Oddio sono 15 anni che "perdo" tempo
con la programmazione, ma sai in Italia senza un titolo si e'
considerati "niente", ed io infatti sono "niente". Pero' ho il
diritto, sancito dalla Costituzione, di dire quello che mi pare,
giusto o sbagliato che sia. Non ho altro da dire. 
Bye.
Joseph Parrello.

giusto o sbagliato che sia. Non ho altro da dire. 
Si', si', ciao ciao...

Grazie a tutti!
Saluti & Baci
    Elodia