Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Gestione a finestre (dos) - COSTANTI.PAS

COSTANTI.PAS

Caricato da: David
Scarica il programma completo

  1. unit costanti;
  2.  
  3.  
  4.           {**************} INTERFACE {*************}
  5.  
  6.  
  7. type
  8.   campo_colori_principale=(TC,TB,TC_iter,TB_iter,TC_bordo,TB_bordo);
  9.   (*colori della finestra principale: TC=colore testo, TB=colore sfondo,
  10.   TC_iter=colore testo opzione scelta, TB_iter=colore sfondo opzione scelta,
  11.   TC_bordo=colore testo bordo(cornice), TB_bordo=colore sfondo bordo*)
  12.   campo_colori_finestra=(TC2,TB2,TC2_iter,TB2_iter,TC2_bordo,TB2_bordo,
  13.                          TB2_ombra);
  14.   (*Stessa cosa applicata per• alle finestrelle, ossia quelle
  15.   usate per scegliere gli eseguibili *)
  16.   eseguibili_esterni=record
  17.     posX,posY:byte;
  18.     prog:string[40];
  19.     param:string[25];
  20.     end;
  21. const
  22.   colori_principali:array[1..3,TC..TB_bordo] of byte=
  23.                                   ((15,1,15,8,15,1),
  24.                                    (7,6,15,1,5,7),
  25.                                    (0,7,15,7,0,7));
  26.   colori_finestre:array[1..3,TC2..TB2_ombra] of byte=
  27.                                   ((15,4,15,0,15,0,0),
  28.                                    (0,7,15,0,15,4,0),
  29.                                    (0,7,15,0,15,0,0));
  30.   (*Array di 3 combinazioni di colori globale*)
  31.   num_finestre=5;
  32.   (*numero finestrelle*)
  33.   dim_max=3;
  34.   (*numero massimo di scelte per le finestrelle*)
  35.   dim_finestre:array[1..num_finestre] of byte=(3,2,2,3,3);
  36.   (*numero di scelte per ciascuna finestrella*)
  37.   posX_finestre:array[1..num_finestre] of byte=(1,16,31,46,61);
  38.   (*indica dove posizionare le finestrelle nella finestra principale nella
  39.   parte alta*)
  40.   fin_princ:array[1..num_finestre] of string[13]=('FILE','ARCHIVIO',
  41.                                                   'STAMPA','GIOCHI','VIDEO');
  42.   (*Sono i nomi delle finestrelle visualizzati nella finestra principale*)
  43.   finestra_stringhe:array[1..num_finestre,1..dim_max] of
  44.                                    string[15]=
  45.       (('ESCI','SUONA','INFORMAZIONI'),
  46.        ('FATTURE','RICERCA',''),
  47.        ('VIDEATA','DEL MESE',''),
  48.        ('MASTERMIND','ASTROBAL','FINESTRE'),
  49.        ('COLORE','MONOCROMATICO','LCD'));
  50.   (*nomi degli eseguibili all'interno delle finestrelle*)
  51.   num_exe=3;
  52.   exe_ext:array[1..num_exe] of eseguibili_esterni=
  53.     ((posX:4;posY:1;prog:'a:\mind.exe';param:''),
  54.      (posX:4;posY:2;prog:'a:\astrobal.exe';param:'300'),
  55.      (posX:4;posY:3;prog:'m:\finestre.exe';param:''));
  56.   {programmi da eseguire con posizione indici nelle finestre. exe
  57.    di esempio non disponibili}
  58.  
  59.  
  60. procedure inizializza_stringhe;
  61. procedure scelta_colori(i:byte);
  62. (*memorizza la scelta dei colori globale nelle variabili utilizzate*)
  63.  
  64.  
  65. var
  66.   lunghezza_stringhe:array[1..num_finestre] of byte;
  67.   {lunghezza massima delle stringhe per ciascuna finestrella}
  68.   colori_principale:array[TC..TB_bordo] of byte;
  69.   (*colori finestra principale per singola scelta*)
  70.   colori_finestra:array[TC2..TB2_ombra] of byte;
  71.   (*colori finestrelle per singola scelta*)
  72.   campo_p:campo_colori_principale;
  73.   campo_f:campo_colori_finestra;
  74.  
  75.        {***************}  IMPLEMENTATION  {*******************}
  76.  
  77.  
  78. procedure inizializza_stringhe;
  79. var i,j,k,max,l:byte;
  80. begin
  81.   for i:=1 to num_finestre do
  82.     begin
  83.       max:=0;
  84.       for j:=1 to dim_finestre[i] do
  85.         begin
  86.           l:=length(finestra_stringhe[i,j]);
  87.           if l > max
  88.             then max:=l;
  89.         end;
  90.       lunghezza_stringhe[i]:=max;
  91.     end;
  92.   for i:=1 to num_finestre do
  93.     for j:=1 to dim_finestre[i] do
  94.       for k:=length(finestra_stringhe[i,j]) to lunghezza_stringhe[i]-1 do
  95.         finestra_stringhe[i,j]:=finestra_stringhe[i,j]+' ';
  96. end;
  97.  
  98.  
  99. procedure scelta_colori(i:byte);
  100. begin
  101.   for campo_p:=TC to TB_bordo
  102.     do colori_principale[campo_p]:=colori_principali[i,campo_p];
  103.   for campo_f:=TC2 to TB2_ombra
  104.     do colori_finestra[campo_f]:=colori_finestre[i,campo_f];
  105. end;
  106.  
  107.  
  108.  
  109. begin
  110.   inizializza_stringhe;
  111. end.