Biblioteci grafice de Pascal

§ 6.1. Biblioteci grafice de Pascal

În timpul care a trecut de la crearea limbajului de programare Pascal, au fost scrise un număr imens de subprograme care pot fi utilizate în programele de aplicații. Astfel de subrutine sunt colectate în biblioteci și proiectate sub formă de module. Un modul este un cod special proiectat care nu poate fi executat independent, dar poate fi conectat și utilizat de orice program. Numele modulelor disponibile în limba Pascal, numele componentelor subrutinelor lor, pot fi găsite în literatură.







Necesitatea de a utiliza biblioteci de subrutine apare, de exemplu, atunci când desenați pe ecran. Este de obicei necesar să utilizați bibliotecile Graph și Ct. Pentru a conecta aceste biblioteci la începutul programului, trebuie să specificați numele acestora în directiva privind utilizările, de exemplu:

Modulul CRT conține proceduri și funcții care asigură controlul modului text al ecranului, lucrează cu sunet, proceduri pentru curățarea ecranului și lucrul cu tastatura. Modulul GRAPH conține un set extins de tipuri, constante, proceduri și funcții (mai mult de 50) pentru controlul modului grafic al ecranului.

Aceste biblioteci conțin zeci de proceduri și funcții, dintre care unele sunt descrise mai jos. O descriere mai completă a acestor module poate fi găsită în literatură. Următoarea descriere indică numărul și tipul parametrilor și tipul de funcții, astfel încât programatorul să poată orienta, ce date pot fi utilizate la apelarea acestor rutine. Cu toate acestea, atunci când se scriu operatori de apeluri, tipurile nu sunt specificate, așa cum se arată în exemplele din paragraful următor.

putpixel (x. y.integer; color.word) - desenează un punct cu coordonate (x, y) și culoare.

linia (x 1, y 1, x 2, y 2: integer) trasează o linie care începe în punctul (x1, y1) și se termină în punctul (x2, y2).

dreptunghi (x 1, y 1, x 2, y 2: integer) - desenează un dreptunghi (x1, y1) - coordonatele colțul din stânga sus (x2, y2) - dreapta jos.

bara (x1, y1, x2, y2) - trage un dreptunghi umplut, (x1, y1) - coordonatele coltului din stânga sus, (x2, y2) - partea din dreapta jos. Culoarea și modelul de umplere sunt stabilite prin procedurile SetFillStyle și SetFillPattern.

cercul (x. y.integer; R.word) atrage un cerc centrat la (x, y) și la raza R.

arc (x, y: integer, stangle, endangle, R: cuvânt); - trage un arc de cerc, de la colțarul de colț până la capăt. cu raza R. folosind un punct cu coordonate (x, y), ca centrul unui cerc.







elipsă (x y.integer; .... stangle endangle xr xy.word) - atrage un arc de elipsă cu un centru la punctul (x, y), semiaxes xr. an; stangle și endangle - pornire și se termină unghiuri ale arcului (descris pe axa orizontală în sens antiorar).

pieslice (x y.integer; .... stangle endangle R cuvânt) - construiește un sector de cerc, umbrită de incubație și culoarea curentă de umplere (proceduri stabilite setfillstyle și setfillpattern). (x, y) sunt coordonatele centrului sectorului cercului; stangle și endangle - începutul și sfârșitul unghiuri sector, măsurată invers acelor de ceasornic de la axa orizontală îndreptată spre dreapta; R este raza sectorului.

setcolor (color.word) - stabilește culoarea liniei, parametrul de culoare are valori cuprinse între 0 și 15.

setbkcolor (culoarea cuvântului); - setați culoarea de fundal. numerele culorilor de fundal se situează între 0 și 15.

(x, y, integer, cuvânt de frontieră); - culorizează zona închisă utilizând stilul de umplere și culoarea setată de procedurile setfillstyle și setfillpattern. Punctul cu coordonate (x, y) reprezintă punctul de plecare din interiorul zonei închise, din care va începe umbrirea. Zona delimitată de culoarea cu numărul de margine este pictată.

setfillstyle (model, cuvânt, culoare, cuvânt); - stabilește culoarea culorii și stilul de umplere al umpluturii (întreg 0-12).

setfillpattern (model; - stabilește culoarea culorii și modelul de umplere. definită de utilizator prin tipul de umplere după cum urmează:

tip fillpatterntype = matrice [1..8] de octet;

outtext (x, y: integer; textstring: șir); - Afișează textstring-ul parametrului șir din poziția (x, y) a ecranului grafic.

Decodarea stilurilor și modelelor de pictura a procedurii setfillstyle

Parametrul tiparului poate lua următoarele valori:

0 - EmptyFill - nu vopsea (fundal), 1 - SolidFill - umbrire solid, 2 - LineFill - eclozeze linii orizontale 3 - LtSlashFill - eclozare prin linii oblice //////, 4 - SlashFill - linie îngroșată ///// ////// 5 - BkSlashFill - \\\\\\\\\\\\ linie îngroșată 6 - LtBkSlashFill - lineart \\\\\\\\\\\ 7 - HatchFill - umplere ++ ++++ 8 - XhatchFill - xxxxx umplere, 9 - InterleaveFill - umplere ######## 10 - WideDotFill - zapolnnenie puncte rare 11 - CloseDotFill - umplere puncte frecvente 12 - UserFill - modele, definite de utilizator- . În acest din urmă caz, trebuie să utilizați procedura setfillpattern pentru a determina tipul de umbrire.

Puteți seta culorile în modul grafic în mai multe moduri:

· Specificarea numărului de culori în cifre de la 0 la 15;

· Specificați numele culorii în limba engleză (fără ghilimele);

Tabelul 6.1. Coduri de culori și nume pentru programare în Pascal

O descriere mai completă a procedurilor modulului Graph este prezentată în Anexa M.

întârziere (ms: cuvânt); - procedura suspendă executarea programului pentru milisecunde ms.

keypressed. boolean; - procedura returneaza TRUE. dacă ați apăsat orice tastă de pe tastatură și FALSE - dacă nu.

readkey. char; - funcția citește caracterul corespunzător tastei presate. Dacă tasta funcțională este apăsată, pentru prima dată funcția ia valoarea # 0, a doua oară - valoarea codului acestei taste. Dacă nu apăsați nici o tastă, funcția întrerupe programul și așteaptă apăsarea tastei.

O descriere mai completă a procedurilor pentru modulul Crt este prezentată în Anexa L.

Alte proceduri pentru aceste module pot fi găsite în literatura de specialitate despre limba Pascal, precum și în anexele la acest manual.







Trimiteți-le prietenilor: