| Referate | Director web | Adauga link | Contact |

Titlu referat: UNIT-UL CRT

Nivel referat: liceu

Descriere referat:
UNIT-UL CRT
O unitate de program se
defineşte ca o colecţie de constante, tipuri de date, variabile proceduri şi
funcţii, în mod normal legate între ele, plasate ţi compilate într-un alt
fişier sursă al programului. Folosirea unităţilor se realizează prin
precizarea numelui unităţii într-o declaraţie uses.
Avantajele folosirii
unităţilor sunt următoarele:
se
realizează o mai bună structurare a programului;
se
economiseşte timp la compilare, deoarece unit-urile se compilează separat
(generând fişiere TPU);
            
-      se facilitează colaborarea mai multor persoane
la realizarea programului.
            
Unit-ul
Crt conţine o serie de subprograme (proceduri şi
funcţii) folosite în aplicaţii în care ecranul este utilizat în mod text.
Programele care utilizează acest unit trebuie să conţină directiva
uses crt.
Ecranul în mod text are 25 de linii şi 80 de
coloane (ele pot fi schimbate prin apelul procedurii TextMode ), având coordonatele (valorile
x cresc spre dreapta, iar a lui y în jos ): colţul stânga sus (0,0), colţul
stânga jos (0,24), colţul dreapta sus (79,0), colţul dreapta jos
(79,24).
Să considerăm “write(‘abc’);”
În modul text, instrucţiunea va lăsa
cursorul în coloana care va urma după ultima literă (ex: C). Dacă ultima
literă (ex: C) a fost scrisă pe coloana 79, atunci cursorul va trece în
coloana 0 a liniei următoare. Dacă ultima literă (ex: C) a fost scrisă pe
coloana 79 a liniei 24, atunci întregul ecran va defila cu o linie în sus şi
cursorul va trece în coloana 0 a liniei 24.
Subporg. bibliotecii Crt pot fi clasificate
astfel:
de
interes general
supbrog. destinate gestiunii ferestrelor;
supbrog. orientate pt culori;
supbrog. destinate generări sunt şi intensităţii
video;
1.Subprograme de interes general:
TextMode 
Procedura
TextMode asigură selectarea unui mod text specificat ea
este definită prin: procedure TextMode(tm:integer);
   
     
 Unde
tm defineşte tipul modului text, şi poate lua ca
valori următoarele constante predefinite :
Constantă
Valoare
Descriere
mod
Adaptor
BW40
0
40x25
Alb/Negru
CGA
CO40
1
40x25 Color
CGA
BW80
2
80x25
Alb/Negru
CGA
CO80
3
80x25 Color
CGA
MONO
7
80x25
Alb/Negru
HGC
Font8x8
256
43 linii / 50
linii
EGA/VGA
EXEMPLU:
program crttm;
     uses crt;
     var
modoring:word;
     begin        
         clrscr;{sterge
ecranul}
         
modoring:=lastmod;{savare mod original}
         
{…}
          
Textmode(modoring);{reface tip
original}         
          
{…}
      
end.
Variabila LastMode
de tip Word salvează modul
video actual, ea este iniţializată cu modul video activ în momentul
respectiv.
Keypressed Funcţia
~ returnează valoarea true
dacă pe tastatură s-a apăsat o tastă, false
în caz contrar. Funcţia se defineşte prin
:
        function keypressed:boolean;(
funcţia ~ nu sesizează apăsarea tastelor Shift,
Alt, Numlock)
ReadKey     Funcţia ~ returnează un caracter care sa
tastat la tastatură. Caracterul citit nu apare pe ecran. Dacă keypressed este
true înaintea apelului Readkey, funcţia returnează automat caracterul tastat, în caz contrar
Readkey aşteaptă tastarea unui caracter.
       Funcţia se defineşte astfel:
        function WhereX:byte – returnează
abscisa cursorului curent function
ReadKey:char ;
Unul din avantajele utilizării unitu-lui Crt
este creşterea flexibilităţii şi vitezei operaţiilor de ieşire.
Programele care nu utilizează unit-ul Crt trimit datele de ieşire pe ecran
prin intermediul DOS-ului. Folosind unit-ul Crt, datele de ieşire sunt trimise
direct la BIOS, s-au prin operaţii şi mai rapide direct la memoria video.
AssignCrt    Procedura ~ ataşează ecranului
(CRT-ului) un fişier text.      
                                     
procedure AssignCrt(var f: text); (unde f este fişierul care se ataşează)
În secţiunea de interfaţă a unit-ului crt
sunt definite variabilele CheckBreak, CheckEof,
DirectVideo care permit stabilirea unor facilităţi
suplimentare.
CheckBreak 
variabila predefinită ~ de tip boolean validează sau invalidează utilizare
întreruperii Crtl-Break. Dacă variabila este iniţializată cu true, prin
apăs. simultană a tastelor Crtl şi Break programul- la prima tentativă de
scriere pe ecran – va fi
abortat. Dacă variabila este iniţializată cu false apăs. tastelor nu are
nici un efect.
CheckEof    Variabila ~ de tip boolean validează sau
invalidează caracterul de sfârşit de fişier. Dacă variabila este
iniţializată cu true, prin apăsarea simultană a tastelor Crt-Z se genereză
un caracter de sfârşit de fişier în timpul citirii dintr-un fişier asignat
ecranului. Dacă var. este iniţializată cu false, apăsarea simultană a
tastelor Crtl-Z nu are nici un efect.
DirectVideo Variabila ~ de tip boolean validează sau
invalidează accesul direct al memoriei pt. operaţiunile Write şi Writeln
care afişează pe ecran. Dacă variabila este init. cu true, operaţiunile
Write şi Writeln la fişiere asociate cu Crt vor memora caracterele direct în
memoria video (şi nu vor apela BIOS-ul pt. această operaţiune de afişare).
Dacă este init. cu false, toate caracterele vor fi scrise prin apelul
BIOS-ului şi va fi mai lent.
Toate variabilele au val. implicite
true.
2.Subprograme destinate gestiuni
ferestrelor
Unitul pune la
dispoziţia utilizatorului posibilitatea  de a defini ferestre pe ecran
(Zone ale ecranului); definirea de ferestre se face cu procedura Window. Atunci când se efectuează o
înscriere într-o astfel de fereastră, fereastra se comportă
exact ca şi cum s-ar folosi
întreg: în interiorul ferestrei se pot insera şi şterge linii, iar când
cursorul ajunge la marginea din dreapta, va trece automat la liniei următoare.
Dacă cursorul a ajuns la sfârşitul ultimei linii, toate liniile din ecran se
vor deplasa automat cu o linie mai sus şi înscrierea se va face în linia de
la bază (defilare automată).
Window      Procedura ~ este definită :
        procedure window(x1,y1,x2,y2:bzte);
             
                   
           
       
unde (x1,y1) sunt coordonatele  coltului stânga
sus ale ferestrei, iar (x2,y2) sânt coordonatele  coltului dreapta jos
ale ferestrei. Fereastra implicita depinde de  modul text utilizare; de
exemplu C080 (80x25 color pe adaptor  color) este Window (0,0,79,24), iar
la BW40 (40x25 negru/alb pe adaptor color) este Window (0,0,39,24).
                    
Procedura Window încarcă automat variabilele WindMin şi WindMax (definite
în unit-ul CRT, de tip word) cu coordonatele stânga sus al ferestrei,
respectiv cu coordonatele coltului              
                    
Dreapta  jos ale ferestrei, respectiv cu coordonatele colţului dreapta
jos ale ferestrei.(De ex: Lo(WinMax) produce abscisa  a colţului stânga
sus iar Hi(WindMin)Produce ordonata a colţului dreapta jos. În interiorul
ferestrei coordonatele colţului stânga sus sunt(1,1).
GotoXY        Poziţionează
cursorul în interiorul ferestrei curente şi sr defineşte:            
                            
       procedure GoToXY(x,y:byte);  
           
                   
           
                  unde x,y reprezintă noile coordonate (relative la fereastra
actuală)ale ferestrei.
WhereX şi  
     Determină poziţia curentă a
cursorului şi sunt definite:
WhereY  
       function WhereX:byte
– returnează abscisa cursorului curent
             
         function WhereY:byte – returnează ordonata cursorului
curent
ClrScr  
     Realizează ştergerea ferestrei
active şi mută cursorul în colţul stânga sus al ferestrei.            
   procedure
ClrScr;
ClrEol  
     Şterge toate caracterele până
la sfârşitul liniei pornind de la poziţia actuală a cursorului        procedure
ClrEol;
InsLine  
     Inserează o linie goală în
poziţia cursorului .Liniile situate dedesubtul cursorului vor defila în jos
cu o linie şi ultima linie iese de pe ecran.               
                       
           procedure InsLine;
DelLine  
     Şterge linia în care se află
cursorul. Liniile situate dedesubtul cursorului vor defila în sus cu o linie.
       
             
                     
                     
           
         procedure DelLine;
3.Proceduri orientate pe culori
TextBackGround
Stabileşte culoarea de fond.      
                     
                       
                   procedure
TextBackGround(culf:byte);      
                   
           
                 unde culf
este codul culorii fondului. Cele opt valori predefinite pentru culoarea
fondului sunt următoarele:
Black=0;(negru)
Blue=1;(albastru)
Green=2;(verde)
Cyan=3;(turcoise)
Red=4;(roşu)
Magenta=5;(violet)
Brown=6;(maro)
LigthGray=7;(gri deschis)
TextColor          Stabileşte
culoarea caracterelor.      
                     
                       
                   procedure
TextColor(cul:byte);      
                   
           
                   
           
 unde culf este codul
culorii caracterelor. Cele 15 valori predefinite sunt următoarele:
DarkGray=8;(gri închis)...



Curs valutar
Euro4,5511
Dolarul american4,2615
Lira Sterlina5,3015
Gramul de aur170,1555
Leul moldovenesc0,2176
Materii referate

Anatomie (61)

Astronomie (61)

Biologie (546)

Chimie (530)

Contabilitate (87)

Design (4)

Diverse (878)

Drept (356)

Ecologie (59)

Economie (520)

Educatie Fizica (2)

Educatie si Invatanmant (2)

Engleza (463)

Filosofie (99)

Fizica (343)

Franceza (25)

Geografie (838)

Germana (40)

Informatica (354)

Istorie (1169)

Italiana (21)

Latina (26)

Literatura (22)

Logica (6)

Management (133)

Marketing (118)

Matematica (114)

Mecanica (13)

Medicina si Farmacie (229)

Muzica (35)

Psihologie (337)

Religie (248)

Romana (2303)

Spaniola (31)

Statistica (17)

Stiinte politice (27)

Turism (64)

Nota explicativa

Informatiile oferite de acuz.net au scop educativ si orientativ pentru cercetare academica. Va recomandam utilizarea acestora doar ca sursa de inspiratie sau ca resurse educationale.