1
Primele programe, instrucţiuni şi proceduri
Unul din cele mai simple programe, este acela de a afişa un text pe
ecran, ca īn exemplul următor :
Program inceput;
begin
writeln('Vornicescu Silviu');
writeln('Programator al firmei Delphin Software');
end.
Īn acest caz programul cuprinde :
Un antet, adică cuvīntul rezervat Program, urmat de
numele programului. Īn Pascal folosirea antetului este obligatorie, dar
īn Turbo Pascal antetul nu mai este obligatoriu, dar e bine să īl
folosim pentru o mai mare claritate a programelor.
Blocul programului, singurul care este obligatoriu.
Īn interiorul blocului se pot face declaraţii de variabile sau
constante şi pot fi scrise instrucţiuni. Un bloc poate să conţină la
rīndul său alte blocuri.
Următorul program este asemănător cu primul, dar conţine elemente noi
īn structura sa.
uses crt;
begin
clrscr;
writeln('Salut');
end.
Īn acest caz, programul conţine īn plus cuvīntul rezervat Uses, urmat
de numele unit-ului care se va utiliza, crt;
Īn acest exemplu este utilizată subrutina clrscr (clear screen) din
unitul crt , care este folosită pentru ştergerea ferestrei curente cu
culoarea fondului. Implicit, culoarea fondului este neagră, iar a
scrisului este albă.
Scrierea datelor
Orice operaţie de scriere a datelor se execută īncepīnd din poziţia
curentă a cursorului (liniuţa care clipeşte) şi lasă cursorul după
ultimul caracter scris.
Procedurile Write şi WriteLn
Sintaxa : Write (argument1, argument2, …, argument n)
Numărul minim de argumente este unu. Un argument poate fi afişat cu sau
fără format. O afişare cu format are forma : e:w:f īn care
e reprezintă expresia a cărei valoare se afişează
pe w poziţii sau pe mai multe, dacă valoarea de
afişat depăşeşte w poziţii
valoarea expresiei f se referă la numărul
zecimalelor cu care se va scrie valoarea expresiei e de tip real, īn
reprezentare fără exponent.
Valoarea argumentelor se scrie pe linia curentă, fără spaţii īntre ele.
Īn funcţie de tipul expresiei, formele admise ale argumentului pot fi
cu sau fără format special.
Argumentul “e” poate fi de tip CHAR (caracter), STRING (şir de
caractere), BOOLEAN (logic) sau INTEGER (Număr īntreg). Formele
posibile sīnt : e sau e:w
Argumentul “e” poate fi şi de tip REAL. Formele posibile sīnt : e sau
e:w sau e:w:f.
Exemple de afişare date cu Write
Write('1234567890'); Afişează 1234567890
Write(1969:10); Afişează numărul 1969 īncepind cu
coloana 10 spre coloana 7, pentru că numarul este aliniat la dreapta.
Write(9.752:7:2); Afişează 9.75 īncepind cu coloana 7
spre coloana 4. O coloană este ocupată de punctul zecimal, iar afişarea
se face cu 2 zecimale. Numărul este aliniat la dreapta.
Write(9.999:7:2); Afişează 10.00 īncepind cu coloana
7 spre coloana 3. O coloană este ocupată de punctul zecimal, iar
afişarea se face cu 2 zecimale. Se observă că numărul este rotunjit
superior. Numărul este aliniat la dreapta.
Write(3.14:7); Afişează 3.1E+00 . Dacă nu se
specifică numărul de zecimale pentru afişarea unui numar real, se
afişează īn format ştiinţific.
Procedura WriteLn are apelul cu aceiaşi formă cu a procedurii Write.
Dacă este apelată fără parametri, are ca efect trecerea cursorului la
īnceputul liniei următoare. Dacă există o listă de parametri, efectul
este identic cu al procedurii Write, urmată de apelul procedurii
WriteLn fără argumente.
Exemple de afişare date cu WriteLn
WriteLn; Afişează un rīnd gol şi mută cursorul la
īnceputul liniei următoare.
WriteLn('Vornicescu Silviu'); Afişează textul dintre
apostroafe şi mută cursorul la īnceputul liniei următoare. Textul este
aliniat la stīnga.
Listingul programului Prg_0001
program inceput_Prg_0001;
var a,b : integer;
{Se declară variabilele "a"
şi "b" ca nr. īntregi}
begin
{Īnceputul programului}
WriteLn('Vornicescu Silviu'); {Afişează textul
dintre apostroafe şi mută
cursorul la īnceputul
liniei următoare}
WriteLn('Programator al firmei Delphin Software'); {Afişeaza textul
dintre
apostroafe şi mută cursorul
la inceputul liniei
următoare}
WriteLn;
{Afişează un rīnd gol şi
mută cursorul la īnceputul
liniei următoare}
Write('1234567890');
{Afişează 1234567890}
WriteLn;Write(1969:10); {Trece
cursorul pe rīndul următor şi apoi
afişează numărul 1969
īncepīnd cu coloana 10
spre coloana 7, pentru că
numărul este aliniat
la dreapta.}
WriteLn;Write(1969:9);
{Trece cursorul pe rīndul următor şi apoi
afişează numărul 1969
īncepīnd cu coloana 9
spre coloana 6, pentru că
numărul este aliniat
la dreapta.}
WriteLn;Write(1969:8);
{Trece cursorul pe rīndul următor şi apoi
afişează numărul 1969
īncepīnd cu coloana 8
spre coloana 5, pentru că
numărul este aliniat
la dreapta.}
WriteLn;Write(9.752:7:2); {Afişează 9.75
īncepīnd cu coloana 7 spre coloana
4. O coloană este ocupată
de punctul zecimal, iar
afişarea se face cu 2
zecimale. Numărul este
aliniat la dreapta.}
WriteLn;Write(9.999:7:2); {Afişează 10.00
īncepīnd cu coloana 7 spre coloana
3. O coloană este ocupată
de punctul zecimal, iar
afişarea se face cu 2
zecimale. Se observă că
numărul este rotunjit
superior. Numărul este
aliniat la dreapta.}
WriteLn;Write(7.2569:7:3); {Afişează 7.257 īncepīnd
cu coloana 7 spre coloana
3. O coloană este ocupată
de punctul zecimal, iar
afişarea se face cu 3
zecimale. Se observă ca
numărul este rotunjit
superior. Numărul este
aliniat la dreapta.}
WriteLn;Write(3.14:7);
{Afişează 3.1E+00 . Dacă nu se specifică numărul
de zecimale pentru afişarea
unui numar real, se
afişează īn format
ştiinţific.}
a:=5;
{Se atribuie valoarea 5,
variabilei "a"}
WriteLn;WriteLn(a);
{Se afişeazā valoarea variabilei "a"}
WriteLn(a:2);
{Se afişează valoarea
variabilei "a" īncepīnd cu
coloana 2}
b:=111;
{Se atribuie valoarea 111,
variabilei "b"}
WriteLn;WriteLn(a,b);
{Se afişează valorile variabilelor "a" şi "b"
una dupa alta, de apare
"5111"}
WriteLn;WriteLn('a = ',a); {Se afişează şirul de
caractere "a = ",urmat de
valoarea variabilei "a"}
WriteLn;WriteLn('a = ',a,' ','b = ',b); {Se afişează două şiruri de
caractere
şi valorile celor două
variabile, despărţite
printr-un caracter "spaţiu"}
WriteLn;
end.
Citirea datelor
Citirea datelor se face īncepīnd din poziţia curentă a cursorului şi
lasă cursorul după ultimul caracter citit.
Procedurile Read şi ReadLn
Sintaxa : Read (variabila1, variabila2, …, variabila n)
Numărul minim de parametri este unu. Datele citite de la tastatură,se
transferă īntr-o zonă tampon de memorie (bufer).
Program Citire_Scriere_Prg_0002;
VAR
{Declarare variabile}
Raza :
Integer;
{Raza cercului}
Begin
{Īnceputul programului}
WriteLn;
{Afişează un rīnd gol}
WriteLn('Introduceti raza cercului'); {Afişează textul
dintre apostroafe}
ReadLn(Raza);WriteLn('Raza = ',Raza); {Citeşte valoarea
introdusă de la
tastatură pentru variabila
“raza” şi
apoi tipăreşte această
valoare}
WriteLn('Aria cercului este
',3.14*Raza*Raza:10:3); {Tipăreşte textul
dintre apostroafe şi apoi
valoarea
rezultată, prin calculare
directă, īncepīnd cu
coloana 10, spre stīnga}
WriteLn('Lungimea cercului este ',2*3.14*Raza:10:3); {La fel deasupra}
WriteLn;
{Afişează un rīnd gol}
End.
{Sfirşitul programului}
Unit-ul Crt
Unit-ul standard Crt (prescurtare de la Cathode Ray Tube) implementează
un număr de subprograme axate spre aplicaţii īn care ecranul este
utilizat īn mod caracter. Programele care utilizează aceste
subprograme, trebuie să conţină directiva uses Crt .
Subprogramele unit-ului Crt pot fi clasificate astfel :
De interes general
Subprograme destinate gestiunii ferestrelor
Subprograme orientate spre culori
Subprograme destinate generatorului de sunet şi a
intensitaţii video
Īn accepţiunea unit-ului Crt, valorile “x” sau coloanele sīnt
numerotate crescător, de la stīnga la dreapta, iar valorile “y” sau
liniile sīnt numerotate crescător, de sus īn jos. Un ecran cu
coordonate normale are 80 de coloane şi 25 de linii.
Citiri speciale de la tastatură
Funcţia KeyPressed
Funcţia “KeyPressed” returnează valoarea “True” dacă pe claviatură s-a
apăsat o tastă sau “False” īn caz contrar. Funcţia nu sesizează
apăsarea tastelor “Shift, Alt, NumLock”. Se foloseşte īn situaţiile īn
care se rulează o secvenţă de instrucţiuni pīnă cīnd este apăsată o
tastă. Īn cazul īn care această funcţie este reapelată, trebuie golit
buffer-ul, utilizīnd funcţia “ReadLn” fără parametri, altfel funcţia
returnează “True” fără ca vreo tastă să fie apăsată. Programul următor
(Prg_0003) aşteaptă apăsarea unei taste pentru a se opri.
Program Functia_KeyPressed_Prg_0003;
Uses Crt;
Begin
{Īncepe programul}
ClrScr;
{Şterge ecranul}
Repeat
{Repetă secvenţa de instrucţiuni
cuprinsă īntre "Repeat" şi "Until"
cīt timp "KeyPressed" este "True"}
Write('Turbo Pascal');Until KeyPressed; {Afişează textul dintre
apostroafe}
End.
Funcţia ReadKey
Funcţia “ReadKey” este de tip caracter, fără parametri formali şi
returnează un caracter care s-a apăsat la tastatură. Caracterul tastat
nu apare la ecran. Dacă īn timpul funcţionării unui program, se ajunge
la această instrucţiune, programul aşteaptă un timp nedeterminat, pīnă
se apasă o tastă.
Program ReadKey_Prg_0004;
Uses Crt;
Var
c:Char;
Begin
ClrScr;
{Ştergerea ecranului}
c:=ReadKey;
{Citirea caracterului tastat}
If c=#0 Then c:=ReadKey;
Case c
Of
{Instrucţiune de selecţie multiplă}
#72:Write('Am apasat sageata sus');
#80:Write('Am apasat sageata jos');
#75:Write('Am apasat sageata stinga');
#77:Write('Am apasat sageata dreapta');
Else Write('Nu am apasat tastele cu sageti');
End
End.
Program Prg_0005_ReadKey;
Uses Crt;
Var
c:Char;
{Variabila "c" este de tip
caracter}
Begin
ClrScr;
{Şterge ecranul}
c:=ReadKey;
{Aşteaptă să se apese o tastă}
Write('Ai apasat o
tasta');
{Afişează textul dintre apostroafe}
End.
Ferestre ecran
O fereastră reprezintă o porţiune dreptunghiulară din ecran, īn care se
fac citiri şi scrieri de date. Dacă nu se declară nici o fereastră,
atunci tot ecranul este fereastra implicită. Īn momentul īn care avem
declarate mai multe ferestre, numai una poate fi activă la un moment
dat.
Deschiderea unei ferestre se face cu procedura :
Window(C1,L1,C2,L2)
Perechile (C1,L1) şi (C2,L2) reprezintă coordonatele colţurilor din
stīnga sus şi dreapta jos. C1 şi C2 reprezintă coloanele iar L1 şi L2
reprezintă liniile. Colţul din stīnga sus al unei ferestre are
coordonatele (1,1). Nu există o procedură prin care se īnchide o
fereastră. Prin deschiderea unei ferestre, se īnchide fereastra
anterioară, adică nu mai este activă. Pentru a activa din nou o
fereastră, se folosesc iar procedurile Window, TextBackGround şi
TextColor.
Despre culori
Culorile sīnt obţinute prin amestecul a trei culori : Red (Roşu), Green
(Verde) şi Blue (Albastru). Ele sīnt codificate cu numere de la 0 la 15
sau cu constante simbolice reprezentīnd denumirile īn engleză a
culorilor.
Unit-ul Crt lucrează īn mod text. Ecranul văzut de noi dispune de 25 de
linii şi 80 de coloane. Un caracter se afişează la intersecţia dintre o
linie şi o coloană. Īn memoria video pentru fiecare caracter se
utilizează doi octeţi, unul pentru a reţine codul caracterului şi unul
pentru a reţine atributele grafice, adică culoarea fondului, culoarea
caracterului şi pīlpīirea.
Spaţiul de afişare a unui caracter are o culoare de fond (F),
caracterul are o culoare de afişare (C) şi afişarea este continuă sau
intermitentă (B = Blink). Informaţiile referitoare la atributele
caracterului sīnt reţinute īntr-un octet. Structura acestuia pe biţi
este următoarea : BFFFCCCC. Cei patru biţi notaţi cu C reţin culoarea
de afişare a caracterului. De aici rezultă că avem la dispoziţie 24
culori adică 16, codificate de la 0 la 15. Culoarea de fond se
reprezintă pe 3 biţi notaţi cu F, deci aem la dispoziţie 23 culori,
adică 8, notate de la 0 la 7. Bitul B indică afişarea continuă
(valoarea 0) sau intermitentă (valoarea 1).
Culorile Valoare
Intensitate Roşu
Verde Albastru
Black Negru 0
0 0 0 0
Blue Albastru 1
0 0 0 1
Green Verde 2
0 0 1 0
Cyan Turcoaz 3
0 0 1 1
Red Roşu 4
0 1 0 0
Magenta Mov 5
0 1 0 1
Brown Maro 6
0 1 1 0
LightGray Gri Deschis 7
0 1 1 1
DarkGray Gri Īnchis 8
1 0 0 0
LightBlue AlbastruDeschis
9 1 0
0 1
LightGreen VerdeDeschis
10 1 0
1 0
LightCyan Albast.Desc.Str
11 1 0
1 1
LightRed RoşuDeschis 12
1 1 0 0
LightMagenta MovDeschis
13 1 1
0 1
Yellow Galben 14
1 1 1 0
White Alb 15
1 1 1 1
1
Procedura TextBackGround(culoare)
Această procedură are un singur parametru formal şi anume culoarea.
Culoarea poate fi dată īn două moduri, şi anume : printr-o cifră de la
0 la 7 sau printr-un cuvīnt īn engleză, din tabelul de mai sus. Această
formă de adresare a culorii este posibilă, deoarece īn unit-ul Crt,
numele culorilor sīnt declarate drept constante cu valorile codurilor
respective. Totuşi simpla ei apelare nu schimbă culoarea fondului.
Culoarea fondului devine vizibilă īn două cazuri :
După rularea procedurii ClrScr
După scrierea efectivă īn fereastră
Există posibilitatea ca fiecare text scris īntr-o fereastră să fie
identificat prin propriile culori de fond şi de scriere a caracterelor.
Din acest motiv, după execuţia acestei proceduri, fereastra activă nu
capătă culoarea adresată.
Procedura ClearScreen (ClrScr)
Această procedură nu are parametri şi are următoarele efete :
Curăţă fereastra prin umplere cu spaţii goale
(blancuri)
Atribuie īntregii ferestre culoarea fondului
declarată cu “TextBackGround”
Poziţionează cursorul īn colţul din stīnga sus.
Procedura TextColor(culoare)
Parametrul trebuie să conţină un număr cuprins īntre 0 şi 15 sau un
cuvīnt care exprimă această culoare, din tabelul de mai sus. Prin
adăugarea constantei “Blink = 128” la culoarea scrisului, afişarea
caracterelor este clipitoare.
Program Prg_0006_Ferestre;
Uses Crt;
Var
c:Char;
{Se declară variabila C
pentru
aşteptare}
Begin
{Īnceputul programului}
TextBackGround(0);
{Culoarea fondului este negru}
ClrScr;
{Se şterge ecranul}
Window(1,1,40,10);
{Coordonatele ferestrei}
TextBackGround(1);
{Culoarea fondului este albastru}
ClrScr;
{Se şterge ecranul}
TextColor(14);
{Culoarea scrisului este galben}
Write(' Fereastra nr. 1');
{Se
afişează textul dintre apostroafe}
C:=ReadKey;
{Se aşteaptă apăsarea unei taste}
Window(41,1,80,10);
{Coordonatele ferestrei}
TextBackGround(2);
{Culoarea fondului este verde}
ClrScr;
{Se şterge ecranul}
TextColor(4);
{Culoarea scrisului este roşu}
Write(' Fereastra nr.
2'); {Se
afişează textul dintre apostroafe}
C:=ReadKey;
{Se aşteaptă apăsarea unei taste}
Window(1,11,80,25);
{Coordonatele ferestrei}
TextBackGround(3);
{Culoarea fondului este albastru deschis}
ClrScr;
{Se şterge ecranul}
TextColor(14);
{Culoarea scrisului este galben}
Write(' Fereastra nr.
3'); {Se
afişează textul dintre apostroafe}
C:=ReadKey;
{Se aşteaptă apăsarea unei taste}
End.
{Sfirşitul programului}
Program Prg_0007_Culorile_Fondului_si_Caracterelor;
Uses Crt;
Begin
TextBackGround(0);TextColor(15);
ClrScr;
TextBackGround(0);TextColor(15);
WriteLn(' Cod Fond = 0 (Black) -
Cod Culoare Caracter = 15 (White) ');
TextBackGround(1);TextColor(14);
WriteLn(' Cod Fond = 1 (Blue)
- Cod Culoare Caracter = 14 (Yellow) ');
TextBackGround(2);TextColor(13);
WriteLn(' Cod Fond = 2 (Green) - Cod Culoare Caracter = 13
(LightMagenta) ');
TextBackGround(3);TextColor(12);
WriteLn(' Cod Fond = 3 (Cyan)
- Cod Culoare Caracter = 12 (LightRed) ');
TextBackGround(4);TextColor(11);
WriteLn(' Cod Fond = 4
(Red) - Cod Culoare
Caracter = 11 (LightCyan) ');
TextBackGround(5);TextColor(10);
WriteLn(' Cod Fond = 5 (Magenta) - Cod Culoare Caracter = 10
(LightGreen) ');
TextBackGround(6);TextColor(9);
WriteLn(' Cod Fond = 6 (Brown) -
Cod Culoare Caracter = 9 (LightBlue ');
TextBackGround(7);TextColor(8);
WriteLn(' Cod Fond = 7 (LightGray) - Cod Culoare Caracter = 8
(DarkGray ');
TextBackGround(0);TextColor(7);
WriteLn(' Cod Fond = 0 (Black) -
Cod Culoare Caracter = 7 (LightGray ');
TextBackGround(1);TextColor(6);
WriteLn(' Cod Fond = 1 (Blue)
- Cod Culoare Caracter = 6
(Brown ');
TextBackGround(2);TextColor(5);
WriteLn(' Cod Fond = 2 (Green) -
Cod Culoare Caracter = 5
(Magenta ');
TextBackGround(3);TextColor(4);
WriteLn(' Cod Fond = 3 (Cyan)
- Cod Culoare Caracter = 4
(Red ');
TextBackGround(4);TextColor(3);
WriteLn(' Cod Fond = 4
(Red) - Cod Culoare
Caracter = 3
(Cyan ');
TextBackGround(5);TextColor(2);
WriteLn(' Cod Fond = 5 (Magenta) - Cod Culoare
Caracter = 2
(Green ');
TextBackGround(6);TextColor(1);
WriteLn(' Cod Fond = 6 (Brown) -
Cod Culoare Caracter = 1
(Blue ');
TextBackGround(7);TextColor(0);
WriteLn(' Cod Fond = 7 (LightGray) - Cod Culoare Caracter
= 0 (Black ');
TextBackGround(11);TextColor(1+Blink);{Se adaugă la culoarea scrisului
constanta "Blink" = 128}
WriteLn('Text Clipitor');
End.
Variabila TextAttr
Variabila “TextAttr” este de tip “byte” şi memorează atributele
caracterelor. Informaţiile de culoare sīnt codificate īn felul următor
: BFFFCCCC. De aceea formula de calcul a atributelor unui caracter este
următoarea :
TextAttr:=CulScris+16*CulFond+Blink
Procedura GoToXY
Este folosită la poziţionarea cursorului īn interiorul ferestrei active.
GoToXY(C,L);
C şi L reprezintă coordonatele relative la fereastra activă, adică
coloana şi linia. Īn cazul coordonatelor care nu se īncadrează īn
mărimea ferestrei, procedura nu are efect.
GoToXY(5,7); - Poziţionează cursorul pe coloana 5 din linia 7.
Procedurile WhereX şi WhereY
Aceste proceduri sīnt folosite pentru a determina poziţia curentă a
cursorului.
WhereX – returnează abcisa cursorului curent, adică
numărul coloanei.
WhereY – returnează ordonata cursorului curent, adică numărul liniei.
Program Prg_0008_GoToXY_si_Where;
Uses Crt;
Begin
ClrScr;
{Se şterge ecranul}
GoToXY(10,5);
{Se mută cursorul pe col. 10 şi Lin.5}
Write(' Coloana 10,Linia
5'); {Se afişează
textul dintre apostroafe}
WriteLn;
{Se afişează un rīnd gol}
WhereX;WhereY;
{Se află coordonatele X şi Y ale
cursorului}
WriteLn(WhereX);WriteLn(WhereY);
{Se afişează coordonatele cursorului}
End.
Procedura ClrEol
Pornind de la poziţia actuală a cursorului, procedura “ClrEol” şterge
toate caracterele pīnă la sfīrşitul liniei. Poziţia cursorului nu este
modificată.
Program Prg_0009_ClrEol;
Uses Crt;
Begin
ClrScr;
{Se şterge ecranul}
Write('Turbo Pascal
7.0');
{Se afişează textul dintre apostroafe}
ReadKey;
{Se aşteaptă apăsarea unei taste}
GoToXY(18,1);
{Se mută cursorul pe col. 18 si Lin. 1}
Write('este un limbaj de programare'); {Se afişează textul dintre
apostroafe}
ReadKey;
{Se aşteaptă apăsarea unei taste}
GoToXy(18,1);
{Se mută cursorul pe col. 18 si Lin. 1}
ReadKey;
{Se aşteaptă apăsarea unei taste}
ClrEol;
{Se şterg caracterele de la
dreapta
cursorului}
ReadKey;
{Se aşteaptă apăsarea unei taste}
End.
Procedura InsLine
Procedura “InsLine” inserează o linie goală la poziţia cursorului.
Liniile situate dedesuptul cursorului vor defila īn jos cu o linie şi
ultima linie iese de pe ecran.
Program Prg_0010_InsLine;
Uses Crt;
Begin
ClrScr;
{Se şterge ecranul}
WriteLn;
{Se afişează un rīnd gol}
WriteLn('Turbo Pascal
7.0'); {Se
afişează textul dintre apostroafe}
GoToXY(1,1);
{Se mută cursorul pe col. 1 si Lin. 1}
ReadKey;
{Se aşteaptă apăsarea unei taste}
InsLine;
{Se inserează un rīnd gol}
ReadKey;
{Se aşteaptă apăsarea unei taste}
InsLine;
{Se inserează un rīnd gol}
ReadKey;
{Se aşteaptă apăsarea unei taste}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
InsLine;
{Se inserează un rīnd gol}
ReadKey;
{Se aşteaptă apăsarea unei taste}
End.
Procedura DelLine
Procedura “DelLine” şterge toată linia la care se află cursorul.
Liniile situate dedesuptul cursorului, vor defila īn sus cu o linie.
Linia aflată la bază, va fi vidă.
Program Prg_0011_DelLine;
Uses Crt;
Begin
ClrScr;
{Se sterge ecranul}
GoToXY(1,25);
{Se mută cursorul pe col. 1 şi Lin. 25}
WriteLn('Turbo Pascal
7.0'); {Se
afişează textul dintre apostroafe}
GoToXY(1,1);
{Se mută cursorul pe col. 1 şi Lin. 1}
ReadKey;
{Se aşteaptă apăsarea unei taste}
DelLine;
{Se inserează un rīnd gol}
ReadKey;
{Se aşteaptă apăsarea unei taste}
DelLine;
{Se inserează un rīnd gol}
ReadKey;
{Se aşteaptă apăsarea unei taste}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
DelLine;
{Se inserează un rīnd gol}
ReadKey;
{Se aşteaptă apăsarea unei taste}
End.
Variabila CheckBreak
Variabila predefinită CheckBreak este de tip boolean şi validează sau
invalidează testarea īntreruperii Ctrl-Break. Dacă variabila este
iniţialiată cu true, atunci prin apăsarea simultană a tastelor
Ctrl-Break se opreşte programul. Dacă variabila este iniţializată cu
false, atunci apăsarea simultană a tastelor Ctrl-Break nu are nici un
efect. Valoarea implicită a variabilei este true.
Exemplu : CheckBreak:=True;
Variabila CheckEof
Variabila predefinită CheckEof este de tip boolean şi validează sau
invalidează caracterul de sfīrşit de fişier. Dacă variabila este
iniţializată cu true, atunci prin apăsarea simultană a tastelor Ctrl-Z,
se generează un caracter sfīrşit de fişier īn timpul citirii dintr-un
fişier asignat ecranului. Dacă variabila este iniţializată cu false,
apăsarea simultană a tastelor Ctrl-Z nu are nici un efect. Valoarea
implicită a variabilei este true.
Exemplu : CheckEof:=True;
Variabila DirectVideo
Variabila predefinită DirectVideo este de tip boolean şi validează sau
invalidează accesul direct la ecran pentru operaţiile Write şi WriteLn
care afişează pe ecran. Dacă variabila este iniţializată cu true,
procedurile Write şi WriteLn, la fişierele asociate cu Crt, vor memora
caracterele direct īn memoria video, şi nu vor apela BIOS-ul pentru
această afişare. Dacă variabila este iniţializată cu false, toate
caracterele vor fi scrise prin apelul BIOS-ului şi deci procesul va fi
mult mai lent.
Cele mai ok referate! www.referateok.ro |