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 2 (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,5,15,8,15,5),
  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,0,15,4,15,2,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.   posX_finestre:array[1..num_finestre] of byte=(1,19,37,55,73);
  36.   (*indica dove posizionare le finestrelle nella finestra principale nella
  37.   parte alta*)
  38.   fin_princ:array[1..num_finestre] of string[13]=('FILE','ARCHIVIO',
  39.                                                   'STAMPA','GIOCHI','VIDEO');
  40.   (*Sono i nomi delle finestrelle visualizzati nella finestra principale*)
  41.   finestra_stringhe:array[1..num_finestre,1..dim_max] of
  42.                                    string[15]=
  43.       (('ESCI','SUONA','INFORMAZIONI'),
  44.        ('FATTURE','RICERCA',''),
  45.        ('VIDEATA','DEL MESE',''),
  46.        ('MASTERMIND','ASTROBAL','FINESTRE'),
  47.        ('COLORE','MONOCROMATICO','LCD'));
  48.   (*nomi degli eseguibili all'interno delle finestrelle*)
  49.   num_exe=3;
  50.   exe_ext:array[1..num_exe] of eseguibili_esterni=
  51.     ((posX:4;posY:1;prog:'a:\mind.exe';param:''),
  52.      (posX:4;posY:2;prog:'a:\astrobal.exe';param:'300'),
  53.      (posX:4;posY:3;prog:'a:\finestr2.exe';param:''));
  54.   {programmi da eseguire con posizione indici nelle finestre. exe
  55.    di esempio non disponibili}
  56.  
  57.  
  58. procedure scelta_colori(i:byte);
  59. (*memorizza la scelta dei colori globale nelle variabili utilizzate*)
  60.  
  61.  
  62. var
  63.   dim_finestre:array[1..num_finestre] of byte;
  64.   (*numero di scelte per ciascuna finestrella*)
  65.   lunghezza_stringhe:array[1..num_finestre] of byte;
  66.   {lunghezza massima delle stringhe per ciascuna finestrella}
  67.   colori_principale:array[TC..TB_bordo] of byte;
  68.   (*colori finestra principale per singola scelta*)
  69.   colori_finestra:array[TC2..TB2_ombra] of byte;
  70.   (*colori finestrelle per singola scelta*)
  71.   campo_p:campo_colori_principale;
  72.   campo_f:campo_colori_finestra;
  73.  
  74.        {***************}  IMPLEMENTATION  {*******************}
  75.  
  76. procedure inizializza_dim_finestre;
  77. var i,j:byte;
  78. begin
  79.   for i:=1 to num_finestre do
  80.     for j:=1 to dim_max do
  81.       begin
  82.         if finestra_stringhe[i,j]='' then
  83.           begin
  84.             dim_finestre[i]:=j-1;
  85.             break;
  86.           end;
  87.         if j=dim_max then dim_finestre[i]:=j;
  88.       end;
  89. end;
  90.  
  91.  
  92. procedure inizializza_stringhe;
  93. var i,j,k,max,l:byte;
  94. begin
  95.   for i:=1 to num_finestre do
  96.     begin
  97.       max:=0;
  98.       for j:=1 to dim_finestre[i] do
  99.         begin
  100.           l:=length(finestra_stringhe[i,j]);
  101.           if l > max
  102.             then max:=l;
  103.         end;
  104.       lunghezza_stringhe[i]:=max;
  105.     end;
  106.   (*for i:=1 to num_finestre do
  107.     for j:=1 to dim_finestre[i] do
  108.       for k:=length(finestra_stringhe[i,j]) to lunghezza_stringhe[i]-1 do
  109.         finestra_stringhe[i,j]:=finestra_stringhe[i,j]+' ';*)
  110. end;
  111.  
  112.  
  113. procedure scelta_colori(i:byte);
  114. begin
  115.   for campo_p:=TC to TB_bordo
  116.     do colori_principale[campo_p]:=colori_principali[i,campo_p];
  117.   for campo_f:=TC2 to TB2_ombra
  118.     do colori_finestra[campo_f]:=colori_finestre[i,campo_f];
  119. end;
  120.  
  121.  
  122.  
  123. begin
  124.   inizializza_dim_finestre;
  125.   inizializza_stringhe;
  126. end.