Libreria delle ProcedureGestione Cornici

Entra nella Libreria GIOBE.TPU

 Cornice2 

CODICE SORGENTE [3 di 4]  

    
bulletLa procedura è scritta in Pascal:
    
bulletEssa organizza i parametri al fine di stampare un'area ci spazi colorati con bordo scelto con tecnica di tipo CASE .. OF 
bulletSebbene non abbia senso passare le dimensioni massime (perché verrebbe stampata una cornice senza ombra) la procedura prevede anche questa eventualità stampando l'ultimo carattere a basso livello con la STAchr, per evitare i noti problemi di scrolling verso l’alto di una riga di tutta l’immagine legati alla eventuale stampa in posizione [80,25].
bulletNaturalmente la stampa dell'ombra lascia inalterato il carattere Ascii sottostante, cambiandone solo il colore con l'aiuto della ATTRchr.
    
Codice Sorgente   Mostra Effetto Esegui il Programma Scarica l'Esempio d'Applicazione
PROCEDURE Cornice2 (rig,col,lar,alt,txt,sfo,ombP,ombS,tipo:integer);
VAR n,m:integer;
    chr:array[1..6] of char;   

BEGIN

  CASE
tipo OF
    1: chr:=('');
    2: chr:=('');
    3: chr:=('');
    4: chr:=('');
    5: chr:=('');
    6: chr:=('');
  end;
  textcolor(
txt);textbackground(sfo);
  gotoxy(
col,rig);

  write(' ',chr[1]);          
{**************************}
  FOR n:=1 to
lar-4 do        {                          }
  IF (tipo=5) THEN       
    {Stampa il tratto superiore}
    write ('')           
   {della cornice             }
  ELSE                     
   {(se "lar"=4 non  esegue il}
    write(chr[5]);          
  { loop)                    }
  write(chr[2],' ');    
     {**************************}

 
alt-2 do        {**************************}
  begin                      
{Stampa il tratto  centrale}
   
col,rig+m);        {della cornice  con l'ombra}
    write(' ',chr[6]);       
{di 2 caratteri  posti a }
    FOR n:=1 to
lar-4 do      {                          }
      write(' ');            
{                          }
    write(chr[6],' ');       
{*********                 }
   
Attrchr(rig+m,lar+col  ,ombP,ombS);{                 }
   
Attrchr(rig+m,lar+col+1,ombP,ombS);{                 }
  end;                                
{*****************}

  gotoxy(
col,rig+alt-1);       {*************************}
  write(' ',chr[3]);          
{Stampa il tratto inferio-}
  FOR n:=1 to (lar-4) do      
{re   della  cornice  con }
    IF (
tipo=5) THEN           {l'ombra di un  carattere }
      write ('')              {posto sotto              }
    ELSE                      
{                         }
      write(chr[5]);          
{                         }
  write(chr[4]);              
{*************            }
 
STAchr(rig+alt-1,col+lar-1,txt,sfo,' ');  {            }
  IF lar<80 THEN                           
{            }
   
Attrchr(rig+alt-1,lar+col  ,ombP,ombS); {            }
  IF
lar<79 THEN                            {            }
   
Attrchr(rig+alt-1,lar+col+1,ombP,ombS); {************}

  IF
lar=79 THEN lar:=lar-1;           {*****************}
  IF
lar=80 THEN lar:=lar-2;           {Stampa l'ombra   }
  FOR n:=1 to (
lar) do                 {sottostante      }
   
Attrchr(rig+alt,col+n+1,ombP,ombS);{*****************}
END;
    
Pagina Precedente Cornici Pagina Successiva   Cornice2 Lezioni - Vai al DownLoad dei files DOC Torna al Menu "Cornici"
Esempio Sorgente Mostra
8 di 51

    

PASCAL  »

Libreria Giobe | Librerie Standard | Allegati | Applicazioni | Info | Download
PROCEDURE  »   Caratteri | Mouse | Tastiera | Tempo, Data & Ora
Box | Cornici | Cursore | Aree a Riga Intera | Aree a Schermo Totale
FUNZIONI  »   Caratteri | Mouse | Tastiera | Tempo, Data & Ora
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati