Se afișează postările cu eticheta units. Afișați toate postările
Se afișează postările cu eticheta units. Afișați toate postările

marți, 1 februarie 2011

Unit-uri în Pascal

Construirea şi gestiunea bibliotecilor utilizator şi gestiunea bibliotecilor standard se realizează cu programul utilitar tpumover.exe care lansează printr-o linie de comandă de forma:
tpumover.exe  fişier-1 [[optiune]fişier-2]] ...
Prin fişier-1 este desemnată o bibliotecă, iar prin fişier-2 o unitate compilată (extensiile implicite ale celor două fişiere sunt .tpl, respectiv .tpu). În absenţa informaţiilor pentru al doilea parametru, se listează conţinutul bibliotecii specificate. De exemplu, pentru listarea bibliotecii standard, considerînd că aceasta se află în directorul D:\TP\BIN, iar tpumover.exe  la fel se află în directorul D:\TP\BIN, se va folosi comanda:
D:\TP\BIN> tpumover.exe   \TP\BIN\TURBO
şi se va obţine o listă de forma:
TPU MOVER Version 7.0 Copyright (c) 1992 Borland International
Unit
Code
Data
Uses
System
22757
702

Overlay
1859
26
System
Crt
1567
20
System
Dos
1591
6
System
printer
54
256
System

Lista conţine unităţile din biblioteca standard, dimensiunea parţii de cod si de date asociate lor, precum şi uniturile pe care le utulizează. Se remarcă faptul că toate unităţile standard se referă la unitatea System. Pentru construirea bibliotecilor proprii, utilizatorul va lansa programul cu precizarea unui nume pentru fişierul bibliotecă, urmat de numele fişierelor .tpu precedate de opţiunea "+" (adăugare). De exemplu, directorul BIN conţine toate fişierele .tpu ale unităţilor create de utilizator, în acest caz pentru crearea bibliotecii personale My_bibl se va scrie:
D:\TP\BIN>tpumover.exe   My_bibl  +sisteme.tpu +matrix.tpu +Interpol.tpu
D:\TP\BIN>tpumover.exe   My_bibl  +ecuatii.tpu +functie.tpu +integr.tpu
După realizarea acestor comenzi ân directoriul BIN se va crea un fişier cu numele My_bibl.tpl.
          Pentru ştergerea unit-ului ecuatii.tpu din biblioteca My_bibl, se scrie comanda:
D:\TP\BIN> tpumover.exe   My_bibl –ecuatii.tpu
La o comandă de forma:
D:\TP\BIN> tpumover.exe   \TP\BIN\My_bibl
se vor afişa informaţii despre conţinutul bibliotecii :



http://resurse-educationale.uv.ro

luni, 31 ianuarie 2011

Modulul Graph în Turbo Pascal

1. Iniţializarea regimului grafic


Placa grafică sau adaptorul de ecran este componenta hard a calculatorului care asigură gestiunea memoriei şi controlul monitorului video. Driver-ul grafic este componenta soft-ului care comandă placa grafică. Placa grafică tratează ecranul în două moduri:

În regimul text fiecare caracter ce apare la ecran este păstrat în memoria calculatorului în doi octeţi, unul cuprinde codul ASCII al caracterului, iar al doilea culorile, iluminarea, culoarea fonului şi clipirea. În regimul grafic memoria ecranului are un cod pentru fiecare pixel prin care se determină culoarea pixelui.

Zona de memorie ecran pentru memorarea unui ecran se numeşte pagină video. Pagina video care apare la un moment dat pe ecran se numeşte pagină vizibilă. Prelucrarea informaţiei grafice în Pascal este susţinută de modulul Graph.

Modulul Graph pune la dispoziţie circa 90 de proceduri şi funcţii păstrate în fişierul graph.tpu. Utilizarea procedurilor şi funcţiilor grafice este posibilă dacă în partea declarativă uses vom declara modulul graph. Fiecare regim grafic are driver-ul său specific. Tabelul  următor conţine lista regimurilor grafice posibile pentru diferite adaptoare grafice. În prima coloniţă sunt indicare  tipurile de drivere, în a doua – numărul de pixeli de pe ecran, în coloniţa a treia este indicată palitra de culori a regimului dat, în ultima coloniţă sunt indicate numărul de pagini video care se pot încărca simultan în memoria videoadaptorului.

Orice program Turbo Pascal ce conţine prelucrarea informaţiei grafice trebuie să cuprindă:

[like url=http://resurse-educationale.uv.ro/]Iniţializarea regimului grafic se relizează prin procedura InitGraph cu formatul:

InitGraph(var GraphDriver:integer; {tipul adaptorului}

var GraphMode:integer; {regimul grafic}

var DriverPath:string); {calea spre driver}

De exemplu:

procedure ini;

var gd, gm:integer;

begin

gd:=detect;

initgraph(gd,gm,'c:\tp\bgi');

if graphresult<>grok then halt(1);

end;

Download Modulul Graph

Biblioteci în Turbo Pascal

Modulul UNIT  - este o unitate de program, textul căruia se compilează de sinestătător (autonom). Această unitate de program include descrierea constantelor, variabilelor, tipurilor de date utilizate, a procedurilor şi funcţiilor ce vor fi create şi care mai apoi vor putea fi chemate în programul de bază. Însă structura internă a modulului personal este ascunsă (în programul unde se apelează unit-ul) de utilizator.


Structura generală  a unui UNIT


Un modul poate fi despărţit în cîteva compartimente: antetul unit-ului, secţiunea de interfaţă, secţiunea de implementare, secţiunea de iniţializare (ea poate să lipsească).


Antetul unit-ului


Antetul modulului puţin se deosebeşte de antetul programului. În modul în locul cuvîntului rezervat Program se utilizează  cuvîntul rezervat Unit. Tot aici pot fi indicate directivele compilatorului.


La alegerea numelui modulului este necesar de luat în consideraţie următoarea latură specifică: vom ţine cont ca numele unit-ului să nu coincidă cu numele căreiva funcţii sau proceduri standarde, cuvînt rezervar sau numele alttui obiect de programare din interiorul programului. La această cerinţă se mai adaugă încă una: numele unit-ului trebuie să corespundă cu numele fişierului în care se păstrează acest unit. Deaceea numele unit-ului nu trebuie să conţină mai mult de opt simboluri.


Secţiunea de interfaţă


Nou spre deosebire de structura unui program este secţiunea de interfaţă. În acest compartiment se descriu toate constantele, tipurile de date şi variabilele, procedurile şi funcţiile accesibile în acest modul pentru a putea fi utilizate în cadrul altor programe externe. Secţiunea de interfaţă conţine toată informaţia, necesară pentru a putea fi accesată de altă programe, descrisă în modulul dat. Orice altă informaţie despre modul pentru a putea fi utilizat nu este necesară.


În secţiunea de interfaţă   este posibil de a face accesibili pentru utilizare module deja create indicînd numele lor în compartimentul uses. După operatorul uses se declară tipurile de date, vatiabilele ce vor fi utilizate la descrierea procedurilor şi funcţiilor descries în acest modul.


Toate procedurile şi funcţiile ce vor putea fi utilizate mai apoi în alte programe sunt descries în secţiunea de interfaţă indicîndu-se numele lor şi parametrii. Textul ca atare al procedurilor şi funcţiilor va fi mai apoi descries în secţiunea de implementare unde se va mai indica încă o dată numele procedurii sau funcţiei.


În practică este posibil şi cazul cînd secţiunea de interfaţă lipseşte aşa cum este indicat în exemplul leer.pas, ce conţine modulul Leer. Acest modul este foarte simplu şi este pur demonstrative.


unit Leer;


INTERFACE


{Acest compartiment este gol}


IMPLEMENTATION


uses crt;


begin


clrscr;


writeln(‘Salut!’)


end.


Secţiunea de implementare


Secţiunea de implementare este compartimentul modulului în care se scrie textul propriu zis al procedurilor şi funcţiilor descries în secţiunea de interfaţă. Procedurile şi funcţiile se descriu exact aşa cum ne-am obişnuit să o facem în programele obişnuite. Tipurile de date şi structura lor sunt inaccesibile pentru cealaltă pasrte a unit-ului şi sunt utilizate numai în secţiunea de implementare. La fel ca şi secţiunea de interfaţă secţiunea de implementare poate să fie vidă.


Secţiunea de iniţializare


Secţiunea de iniţializare reprezintă blocul principal al modulului. Instrucţiunile Indicate în acest bloc se îndeplinesc primele, adică mai întîi se îndeplinesc instrucţiunile din secţiunea de iniţializare a modulului, apoi instrucţiunile ce se conţin între begin şi end al programului Pascal ce utilizează modulul în cauză. De exemplu programul de mai jos exemplu.pas va fi realizat în felul următor: unit-ul Leer.tpu în secţiunea de implementare conţine instrucţiunile clrscr – curăţirea ecranului, apoi writeln(‘Salut!’) – afişează la ecran cuvîntul  Salut după care se va realiza instrucţiunea writeln(‘Program demonstrativ’).


program exemplu;


uses Leer;


begin


writeln(‘Program demonstrativ’)


end.


Pentru a putea utiliza acest unit în alte programe Pascal este necesar de a salva acest unit cu nume_unit.pas, apoi se va compila unit-ul tastînd [F9] (Compile) iar pentru opţiunea Destination se va instala valoarea Disk. În urma acestei operaţii pe disc se va forma fişierul nume_unit.tpu. dacă ve-ţi tasta [Ctrl+F9] atunci după compilare va apărea informaţia Can not run a unit care ne informează că unit-ul nou creat nu se poate realiza desinestătător.


Download Biblioteci in Pascal