Documente Academic
Documente Profesional
Documente Cultură
Vornicescu Silviu
Vornicescu Silviu
Vornicescu Silviu
Vornicescu Silviu
Elementele limbajului
Vornicescu Silviu
And
Asm
Array
Begin
Case
Const
Constructor
Destructor
Div
Do
Downto
Else
End
Exports
File
For
Function
Goto
If
Label
Library
Mod
Nil
Not
Object
Of
Or
Packed
Procedure
Program
Record
Implementation
In
Inherited
Inline
Interface
Repeat
Set
Shl
Shr
String
Then
Until
Uses
Var
While
With
Xor
Directive standard
Spre deosebire de cuvintele rezervate, directivele standard pot fi
redefinite de programator, aceasta ns nu este recomandat.
Absolute
Far
Near
Virtual
Assembler
Forward
Private
Export
Index
Public
External
Interrupt
Resident
Identificatorii
Snt simboluri care desemneaz variabile, proceduri, funcii, unit-uri,
constante, tipuri, programe i cmpuri de articole. Un identificator ncepe cu o
liter, care poate fi urmat de orice combinaie de litere, cifre sau caracterul de
subliniere (_ , ASCII $5F). Lungimea identificatorilor nu este limitat, dar snt
semnificative doar primele 63 de caractere.
n cazul programelor ce folosesc unit-uri, pot exista instane cu acelai
identificator. Pentru a putea selecta o instan specific, identificatorul ales,
trebuie calificat. Calificarea se realizeaz printr-o construcie de forma :
Nume_unit.identificator
Adic numele identificatorului trebuie s fie precedat de numele unit-ului de
origine, urmat de un punct.
Exemplu : dos.exec
Vornicescu Silviu
Comp
Double
Extended
Integer
Longbool
Longint
Openstring
Pchar
Pointer
Real
Shortint
Single
Text
Word
Wordbool
Etichetele
Snt specificate sub form de numere ntegi din domeniul 09999 sau
de identificatori. Etichetele snt utilizate la instruciunile de salt necondiionat goto.
Dac o instruciune este precedat de o etichet, este permis folosirea ei prin
instruciunea goto. O etichet marcheaz numai o linie. Eticheta este separat de
instruciunea corespunztoare prin caracterul dou puncte (:). Toate etichetele
utilizate trebuie declarate n seciunea label.
Exemplu de etichet :
Label 1234;
{}
begin
{}
1234: y:=sin(x)+1.0;
{}
goto 1234;
{}
end.
Constantele, numerele
Constantele, desemneaz valori ntregi sau reale. n mod obinuit se
folosete notaia zecimal, dar este permis i folosirea notaiei hexazecimale, n
cazul numerelor ntregi. O constant hexazecimal, folosete semnul dolarului ($)
ca prefix.
6
Vornicescu Silviu
partea_ntreag.partea_zecimal
adic n locul virgulei zecimale, se folosete punctul zecimal. Opional se poate
aduga i un exponent, la care litera E sau e este urmat de un exponent cu sau
fr semn. Dac exponentul este prezent, numrul este nmulit cu 10 la puterea
exponentului. Numerele hexa trebuie s fie cuprinse ntre $00000000 i
$FFFFFFFF , iar numerele ntregi trebuie s fie cuprinse ntre 2,147,483,648 i
2,147,483,647.
Operatorii
Limbajul Turbo Pascal 7.0 are nou tipuri de operatori :
1) asignare,
4) relaionali
7) mulime
2) aritmetici,
5) logici
8) asamblare
3) lucru cu bii
6) adresare
9) ir
Unii operatori snt binari, solicitnd doi operanzi, restul snt unari,
solicitnd un operator.
1) Operatorul de asignare
Una din cele mai frecvente operaii n cadrul programelor este asignarea,
adic operaia de atribuire a unei valori, unei variabile. Simbolul de asignare este
format din caracterul dou puncte (:) urmat de caracterul egal (=).
Exemplu : A:=3;
Vornicescu Silviu
2) Operatorii aritmetici
*
Div
/
Mod
+
-
Multiplicare, nmulire
mprire ntreag
mprire cu rest
Modul
Adunare
Scdere
4) Operatori relaionali
Operatorii relaionali permit compararea a dou valori i returneaz
rezultatul boolean , TRUE sau FALSE.
>
>=
<
<=
=
<>
in
mai mare
mai mare sau egal cu
mai mic
mai mic sau egal cu
egal
diferit
apartenena
5) Operatorii logici
Limbajul Turbo Pascal are patru operatori logici :
and
xor
or
not
8
Vornicescu Silviu
6) Operatorii de adresare
Limbajul Turbo Pascal folosete doi operatori de adresare :
- adresa lui @, care returneaz adresa unei variabile
- (^) operatorul de indirectare
reuniunea
diferena
intersecia
redefinire identificator
subexpresie
referin memorie
ntoarce octetul cel mai semnificativ
ntoarce octetul cel mai puin semnificativ
plus unar
minus unar
redefinire segment
ntoarce partea offset
ntoarce partea segmentului
ntoarce tipul, n octei
multiplicare
diviziune
modul
shift logic stng
shift logic drept
adunare binar
scdere binar
negare
intersecie
reuniune
reuniune exclusiv
Vornicescu Silviu
Singurul operator pentru iruri, este operatorul plus (+), care permite
concatenarea (alipirea) a dou iruri.
Separarea instruciunilor
Este realizat prin caracterul punct i virgul ( ;). Acest caracter este
destinat separrii i nu terminrii unei instruciuni. Prezena lui nu este obligatorie
dup fiecare instruciune iar n faa instruciunii End, poate s i lipseasc, iar n
faa cuvntului cheie Else, acest caracter este interzis.
iruri de caractere
Un ir de caractere este o secven de caractere ncadrate ntre dou
apostroafe. Dac se dorete ca irul nsui s conin caracterul apostrof, acest
caracter trebuie s fie dublat. irul poate s conin zero sau mai multe caractere
din setul extin de caractere ASCII. Un ir nu poate fi desprit n mai multe linii. Un
ir de caractere, care nu conine nici un caracter, se numete ir vid (nul).
Limbajul Turbo Pascal permite introducerea caracterelor n iruri i n felul
urmtor : semnul # urmat de un numr natural din domeniul 0255 desemneaz
un caracter din setul ASCII extins. ntre # i numrul natural, nu trebuie s existe
nici un separator. Dac mai multe caractere astfel scrise, snt pri ale unui ir,
atunci nici aici nu snt folosii separatori.
Exemple de iruri de caractere :
Turbo
#13#10#13
#7#7Atenie#7#7
Youll see
Linia 1#13Linia 2
Comentarii
Un comentariu este o secven de caractere inserate n program cu
scopul facilitrii nelegerii aciunilor sale. Comentariile snt construcii ignorate
de compilator i servesc la precizarea observaiilor programatorului, privitor la o
seciune din program. Un comentariu ncepe cu caracterul { sau cu perechea de
caractere (* i se ncheie cu caracterul } sau cu perechea *). Un comentariu care
conine semnul dolar ($), imediat dup deschiderea sa, reprezint o directiv de
compilare. Comentariile pot s conin orice secven de caractere exceptnd pe
cele menionate mai sus.
Exemple de comentarii :
10
Vornicescu Silviu
Directive de compilare
Directivele de compilare, snt comentarii cu o sintax special, i pot fi
utilizate peste tot unde snt admise comentarii. Directivele de compilare ncep cu
caracterele {$ sau (*$, care snt urmate de numele directivei i se termin cu
caracterul } sau *). Exist trei categorii de directive :
Directivele tip comutator, prin care pot fi activate diferite funcii ale
compilatorului. Numele directivei este urmat de caracterul + pentru cuplare sau
de caracterul pentru decuplare.
Directivele tip parametru, specific anumii parametri care afecteaz modul
de compilare.
Directivele condiionale, controleaz compilarea condiional a anumitor pri
ale textului surs.
Directivele de compilare tip comutator
Directivele de compilare tip comutator furnizeaz anumite informaii
necesare compilatorului. Ele pot fi cuplate sau decuplate. De regul, dup
caracterul $, apare o liter i semnul + sau -, de exemplu {$F+}, {$R-}. Ele
se refer la anumii comutatori (valori logice). Directivele de compilare pot fi :
locale
globale
Directivele locale pot s apar oriunde n program sau n unit, pentru c
ele afecteaz doar o parte a compilrii.
Directivele globale trebuie s fie plasate naintea prii de declarare a
programului sau a unit-ului care se compileaz, pentru c ele afecteaz ntreaga
compilare.
Se permite gruparea mai multor directive de compilare, care trebuie
separate cu virgul.
Exemplu :
{$A+}
{$A-}
{$B+}
{$B-}
Descriere
Aliniere date
Valoare implicit
Cuplat [X]
Efect
Global
Evaluare boolean
Decuplat [ ]
Local
11
Vornicescu Silviu
{$D+}
{$D-}
{$E+}
{$E-}
{$F+}
{$F-}
{$G+}
{$G-}
{$I+}
{$I-}
{$L+}
{$L-}
{$N+}
{$N-}
{$O+}
{$O-}
{$P+}
{$P-}
{$Q+}
{$Q-}
{$R+}
{$R-}
{$S+}
{$S-}
{$T+}
{$T-}
{$V+}
{$V-}
{$X+}
{$X-}
{$Y+}
{$Y-}
Informaii de depanare
Cuplat [X]
Global
Emulare
Cuplat [X]
Global
Decuplat [ ]
Local
Local
Testare operaii
intrare / ieire
Cuplat [X]
Local
Local
Informaii
locale
Prelucrare numeric
Decuplat [ ]
Global
Structur de acoperire.
Decuplat [ ]
Global
Global
Local
Local
Local
Cuplat [X]
Local
Local
Sintaxa extins
Decuplat [ ]
Global
Cuplat [X]
Global
{$A+}
{$A-}
Grupa
Generare de cod
Generare de cod
Echivalent
[X] Word Align Data
[ ] Word Align Data
12
Vornicescu Silviu
{$B+}
{$B-}
Sintaxa
Sintaxa
{$D+}
{$D-}
{$E+}
{$E-}
{$F+}
{$F-}
{$G+}
{$G-}
{$I+}
{$I-}
{$L+}
{$L-}
{$N+}
{$N-}
{$O+}
Depanare
Depanare
Prelucrare numeric
Prelucrare numeric
Generare de cod
Generare de cod
Generare de cod
Generare de cod
Erori de execuie
Erori de execuie
Depanare
Depanare
Prelucrare numeric
Prelucrare numeric
Generare de cod
{$O-}
Generare de cod
{$P+}
Sintax
{$P-}
Sintax
{$Q+}
{$Q-}
{$R+}
{$R-}
{$S+}
{$S-}
{$T+}
{$T-}
{$V+}
{$V-}
{$X+}
{$X-}
{$Y+}
Erori de execuie
Erori de execuie
Erori de execuie
Erori de execuie
Erori de execuie
Erori de execuie
Sintax
Sintax
Sintax
Sintax
Sintax
Sintax
Depanare
{$Y-}
Depanare
13
Vornicescu Silviu
{$DEFINE nume}
Introducerea simbolului nume n lista simbolurilor convenionale. Acest
simbol este recunoscut pn nu va fi ters cu o directiv :
{$UNDEF nume}
Existena simbolului poate fi testat cu directiva :
{$IFDEF nume}
Introducerea simbolurilor condiionale poate fi realizat i cu opiunea
Conditional Defines (comanda Compiler din meniul Options).
{$UNDEF nume}
tergerea simbolului nume din lista simbolurilor condiionale. Dac simbolul nu
este definit, directiva nu are efect.
{$IFDEF nume}
14
Vornicescu Silviu
{$ELSE}
sau
{$ENDIF}
Dac simbolul nume nu exist, nu se compileaz textul cuprins ntre aceast
directiv i
{$ELSE}
sau
{$ENDIF}
{$IFNDEF nume}
Lucreaz similar directivei
{$IFDEF nume}
cu deosebirea c se testeaz lipsa simbolului nume n lista simbolurilor
condiionale.
{$IFOPT k+}
Dac opiunea k (care poate fi una din literele A, B, D, E, F, G, I, L, O, P,
Q, R, S, T, V, X, Y) este cuplat, se compileaz textul ntre aceast directiv i
directiva :
{$ELSE}
sau
{$ENDIF}
Dac opiunea k nu este cuplat, nu se compileaz textul cuprins ntre aceast
directiv i
{$ELSE}
sau
{$ENDIF}
Declaraii de variabile
nainte de a trece la declararea variabilelor, vom arta mai nti modul de
aezare a programului i a diverselor date n memoria operativ.
Programul, mpreun cu procedurile i funciile care aparin programului,
este depus n segmentul de cod. naintea versiunii 4.0 a compilatorului, lungimea
maxim admis a fost de 64Ko. Prin utilizarea unit-urilor i a bibliotecilor
dinamice, lungimea maxim a devenit de 640Ko.
n afar de segmentul de cod, mai exist segmentele de date, de stiv
i segmentul extra. Segmentul de date permite memorarea datelor
programului. Aceast memorare este ajutat i de segmentul de stiv, care este
zona principal a gestionrii datelor dinamice. Datele programului ncrcate, n
funcie de tipul lor, vor fi depuse n segmentele de cod, stiv i date.
15
Vornicescu Silviu
Uses U 1, U 2, , U n;
PrefixSeg
)
Program Segment Prefix PSP 256 octei
Adres inferioar memorie DOS
16
OvrHeapEnd
OvrHeapOrg
Vornicescu Silviu
17
Vornicescu Silviu
F1 Help
F2 Save
F3 Open
Alt + F9 Compile
F9 Make
Meniul File
Meniul FILE permite realizarea unor operaii elementare la nivel de fiier,
navigarea pe discuri, ieirea definitiv sau parial din mediul de programare.
New iniiaz deschiderea unei zone de lucru. Aceast zon reprezentnd
o nou fereastr de editare nu are n coresponden un fiier. Pentru
recunoaterea ferestrei, aceasta primete o identificare special format din
cuvntul NONAME concatenat de o valoare numeric de exact dou cifre ntre 00
i 99. Identificarea este aleas astfel nct s fie unic pentru ferestrele deschise
i fiierele din directorul n care se lucreaz curent. Valoarea numeric este mai
mare dect toate cele utilizate pentru identificrile de aceast form. Dup
deschidere, fereastra devine activ, iar ferestra activ nainte de iniierea
comenzii, dac exist, devine inactiv.
Open permite ncrcarea unui fiier salvat anterior cu extensia .PAS .
ncrcarea unui fiier se poate face mai rapid prin apsarea tastei F3.
Save se aplic la fereastra de editare activ i permite realizarea salvrii
coninutului pe o unitate de disc. Atunci cnd exist deja un fiier salvat anterior, la
o nou salvare vechiul fiier i modific extensia n .BAK. Salvarea se face mai
rapid dac se apas tasta F2.
Save as salveaz fiierul din fereastra activ sub un nume specificat,
ntr-o unitate i catalog specificat.
Save all salveaz toate fiierele prezente n ferestrele de editare
deschise i care au fost deja modificate.
Change dir se folosete pentru a schimba amplasarea pe disc a zonei
de lucru, operaie cunoscut ca schimbare de director.
Print se utilizeaz pentru realizarea imprimrii coninutului ferestrei de
editare active. Activitatea se poate activa doar de la nivelul meniului.
Printer setup se utilizeaz pentru stabilirea unor caracteristici legate de
imprimanta conectat la calculator i a modului de realizare a imprimrii.
Dos shell se utilizeaz pentru ieirea temporar din mediul de
programare, cu trecerea la sistemul de operare. Pentru revenirea n mediu,
trebuie dat comanda EXIT la prompterul sistemului de operare. Ieirea
temporar se face cu salvarea strii mediului la momentul ieirii, stare care este
restaurat la revenirea n mediu. Activitatea se iniiaz doar de la nivelul meniului.
Exit (Alt + X) permite ieirea definitiv din mediul de programare i
rentoarcerea la sistemul de operare DOS.
18
Vornicescu Silviu
Meniul Edit
Comenzile meniului Edit permit efectuarea diferitelor operaii legate de
fiierul Clipboard i anumite operaii speciale de anulare i de refacere a
diferitelor aciuni. Fiierul Clipboard realizeaz legtura ntre diferitele ferestre de
editare, care la rndul lui poate fi editat, deplasat, redimensionat sau vizualizat, la
fel ca celelalte ferestre de editare.
Undo (Alt + BkSp) anuleaz efectul unei aciuni anterioare sau al unui
grup de aciuni anterioare. Comanda se refer la un grup de aciuni, dac
comutatorul Group Undo din meniul Options / Environment / Editor Options
este cuplat. n caz contrar, comanda se refer doar la ultima aciune.
Redo permite refacerea aciunilor anulate anterior prin comanda Undo,
n forma i ordinea original.
Cut (Shift + Del) decupeaz un bloc marcat, din fereastra activ de
editare care este adugat n clipboard. Blocul marcat, dispare.
Copy (Ctrl + Ins) copiaz un bloc marcat, din fereastra activ de editare
care este adugat n clipboard. Blocul marcat rmne intact.
Paste (Shift + Ins) insereaz blocul marcat din clipboard, n fereastra
activ de editare, ncepnd cu poziia n care se gsete cursorul.
Clear (Ctrl + Del) terge un bloc marcat din fereastra activ de editare,
fr ca acest bloc s fie depus n clipboard.
Show clipboard deschide o nou fereastr de editare cu numele
clipboard i arat coninutul fiierului clipboard.
Meniul Search
Meniul conine o serie de operaii necesare deplasrii ntr-o fereastr de
editare. Deplasarea se poate realiza necondiionat sau pentru regsirea unei
informaii asupra creia se poate realiza i o editare. Meniul permite diferite
cutri ale diferitelor texte, precum i nlocuirea lor cu alte texte.
Find permite cutarea unui text i deplasarea cursorului la textul
respectiv. Se afieaz o fereastr cu urmtoarea form :
Text to find
Options
[ ] Case sensitive
[ ] Whole words only
[ ] Regular expression
Scope
( . ) Global
( ) Selected text
Direction
( . ) Forward
( ) Backward
Origin
( . ) From cursor
( ) Entire scope
19
Vornicescu Silviu
Cancel
Help
^ $ . * + [ ] \
Un caracter ^ plasat la nceputul unui ir de caractere nseamn c
irul este cutat la nceputul liniei.
Un caracter $ plasat la sfritul unui ir de caractere nseamn c
irul este cutat la sfritul liniei.
Un caracter . semnific faptul c n poziia respectiv este acceptat
orice caracter. De exemplu a.b selecteaz axb, ayb, etc.
Un caracter * plasat dup un caracter nseamn c acel caracter
poate s se repete de un numr arbitrar de ori sau s nu apar niciodat. De
exemplu, ab* va selecta abb, ac, etc.
Un caracter + plasat dup un caracter, nseamn c acel caracter
poate s se repete de un numr arbitrar de ori, dar trebuie s apar cel puin
odat. De exemplu ab+ va selecta abc, abbb, dar nu i ac.
Caracterele plasate ntre parantezele ptrate [ i ] nseamn
acceptarea oricrui caracter specificat n poziia respectiv, dar nu i alt caracter.
De exemplu, a[bcd]e va selecta abe, ace, ade.
Caracterul ^ plasat n faa unui ir de caractere ncadrat de
caracterele [ i ] nseamn negaie : n poziia respectiv este acceptat orice
caracter nespecificat n list. De exemplu, [^abc] selecteaz orice caracter,
exceptnd caracterele a, b, c.
Caracterul din interiorul parantezelor ptrate [ i ] nseamn
limitarea domeniului. De exemplu, [ch] selecteaz orice caracter de la
c pn la g.
Caracterul \ plasat n faa unui caracter funcional comunic faptul
c acel caracter este tratat ca i un caracter obinuit. De exemplu, \^ se refer la
caracterul ^ i nu la selectarea de la nceputul liniei.
20
Vornicescu Silviu
Direction
( . ) Forward
( ) Backward
Origin
( . ) From cursor
( ) Entire scope
Change all
Cancel
Help
Vornicescu Silviu
OK
Help
Error address
OK
0000 : 0000
Cancel
Help
Procedure name
Program principal
OK
Cancel
Help
Vornicescu Silviu
meniului Search prin faptul c prima localizeaz definiia subprogramului iar cea
dea doua, locul n care este apelat subprogramul respectiv.
Versiunea n mod protejat a compilatorului, adic programul BP.EXE,
permite afiarea ferestrelor de tip browse, adic un studiu amnunit despre
toate simbolurile utilizate n fiierul surs. Aceste simboluri pot fi obiecte, unit-uri,
variabile, tipuri, constante, etichete globale i locale, subprograme de tip
procedur i funcie. Comenzile de tip browse pot fi aplicate numai programelor
deja compilate. Informaiile afiate n aceste ferestre conin fie informaii de tip
tabel de materii, pentru obiecte, uniti simboluri globale ale programului
surs, fie informaii despre un simbol selectat.
Meniul Run
Comenzile meniului Run permit execuia unui program, reiniializarea
execuiei, execuia programului pn la poziia actual a cursorului, execuia pas
cu pas precum i stabilirea parametrilor din linia de comand.
Run (Ctrl + F9) execut un program. Dac este nevoie, snt folosii
parametrii din linia de comand, specificai n comanda Parameters din meniul
Run. Dac programul surs a fost modificat de la ultima compilare sau dac
programul nu a fost n prealabil compilat, se trece automat prima dat la
compilare, apoi la execuie. Programul este executat pn la sfritul programului
sau pn la un punct de ntrerupere, dac exist un astfel de punct. La terminarea
execuiei programului, controlul este redat mediului de programare.
Step over (F8) lucreaz similar comenzii Trace into, cu urmtoarea
deosebire : dac instruciunea actual este un apel de subprogram, ntregul
subprogram este executat ntr-un singur pas i bara de execuie va fi poziionat
pe instruciunea care urmeaz dup apelul de subprogram.
Trace into (F7) execut instruciunea urmtoare din program, iar la
nceputul execuiei va fi executat prima instruciune executabil a programului.
Dac instruciunea urmtoare este un apel la un subprogram, atunci execuia va
continua cu prima instruciune executabil a subprogramului. Aplicnd repetat
aceast comand, se poate efectua execuia pas cu pas, a programului. Se
menioneaz c instruciunea care urmeaz s fie executat, este evideniat cu o
bar, numit bar de execuie. Comanda poate fi utilizat numai atunci cnd n
momentul compilrii a fost cuplat cheia Debug information din meniul
Options, comanda Compiler, grupa Debugging, respectiv directiva {$D+}.
n caz contrar, se va emite un semnal de eroare, de forma No debug info for
program entry point. Run anyway?, adic nu exist informaii de depanare.
Go to cursor (F4) ncepe sau continu execuia unui program din
poziia curent de execuie, pn la linia n care se gsete cursorul. Dac nu s-a
nceput nc depanarea programului, poziia curent de execuie este linia n care
se gsete prima instruciune executabil. Comanda poate fi utilizat numai atunci
cnd n momentul compilrii a fost cuplat cheia Debug information la fel ca la
comanda de mai sus. Altfel, se emite un mesaj de eroare, de forma No code
generated for this line. Aceast comand , nu creeaz un punct permanent de
ntrerupere.
23
Vornicescu Silviu
Parameter
OK
Cancel
Help
Meniul Compile
Comenzile meniului Compile permit compilarea programelor i a uniturilor.
24
Vornicescu Silviu
Clear primary file terge fiierul primar care a fost actual n momentul
actual.
Meniul Debug
Comenzile meniului Debug (depanare) permit crearea i tergerea unor
puncte de ntrerupere, evaluarea i modificarea valorilor unor expresii numite
expresii de urmrire.
Breakpoints afieaz o fereastr care permite vizualizarea punctelor
de ntrerupere instalate precum i modul lor de utilizare.
Breakpoints list
PRG3D.PAS
PRG3D.PAS
OK
Line # Condition
25
30
Edit
Delete
View
Pas
0
0
Clear all
Help
Modify
Pass count
New
File name
Cancel
25
Help
Vornicescu Silviu
Line number
Aceast fereastr, permite editarea punctelor de ntrerupere
existente. n aceast fereastr se pot modifica :
condiia care cauzeaz declanarea ntreruperii, cu list de istoric
contorul de trecere, ataat ntreruperii
numele fiierului la care se refer ntreruperea
numrul liniei surs a ntreruperii
Modificrile efectuate snt validate prin butonul de comand Modify.
Pentru definirea unui nou punct de ntrerupere, care poate fi n
cadrul aceluiai program se apas butonul New. Celelalte comenzi
ale ferestrei Breakpoints, snt :
Delete care terge punctul actual de ntrerupere, din lista punctelor
de ntrerupere.
View care caut n textul surs, punctul actual de ntrerupere i
poziioneaz cursorul, n dreptul liniei respective.
Clear all care terge toate punctele de ntreruperi din list.
Call stack (Ctrl + F3) afieaz o fereastr care vizualizeaz o stiv
cu istoricul apelurilor subprogramelor. Snt afiate numele subprogramelor i
parametrii actuali corespunztori prin utilizarea crora s-a ajuns la poziia actual
din program. nchiderea ferestrei se poate face cu mouse-ul sau cu comanda
Alt + F3.
Register afieaz o fereastr n colul din dreapta sus al ecranului, ce
nu poate fi redimensionat dar poate fi mutat, cu numele CPU i care prezint
coninutul registrilor microprocesorului. Fereastra se folosete la depanarea
secvenelor de program scrise n limbajul de asamblare.
Watch afieaz fereastra cu titlul Watches, n interiorul creia snt
afiate valorile actuale ale variabilelor i expresiilor supravegheate. Pentru a
vedea valoarea unei variabile, dup ce programul este oprit prin terminare sau
punct de ntrerupere, se apas tasta Insert i apoi se scrie numele variabilei i
se apas Enter.
Output activeaz o fereastr care afieaz textul din linia de comand
DOS i textul generat de programul care se execut. Pot fi vizualizate doar
informaiile n mod text, iar cele n mod grafic nu. Fereastra este utlizat pentru c
pot fi urmrite simultan, att programul surs, ct i rezultatele care se afieaz.
User screen (Alt + F5) afieaz un ecran ntreg cu toate informaiile
trimise de programul actual, indiferent dac informaiile snt n mod text sau n
mod grafic. Fereastra este static i nu poate fi redimensionat sau mutat.
Evaluate/modify (Ctrl + F4) permite evaluarea i vizualizarea valorii
unor variabile i expresii, precum i modificarea valorii unei variabile. n cmpul cu
inscripia Expression se poate introduce orice variabil sau expresie, pentru
care se dorete evaluarea valorii actuale. n momentul lansrii comenzii, este
introdus automat simbolul de la poziia cursorului.
26
Vornicescu Silviu
Watch expression
OK
Cancel
Help
Meniul Tools
Meniul Tools permite lansarea n execuie a diferitelor programe externe
din interiorul mediului de programare 7.0 . Numele programelor care pot fi lansate
n execuie au regim identic cu cel al comenzilor unui meniu. Pentru lansarea lor
se activeaz comanda respectiv.
Messages afieaz o fereastr cu acelai nume, n partea inferioar a
ecranului, care permiteafiarea mesajelor acelor programe care transmit mesajele
ctre mediul de programare prin intermediul unui filtru, de exemplu utilitarul
Grep sau Turbo Assembler.
Grep este un utilitar care permite cutarea diferitelor cuvinte n fiierele
text. De exemplu, dac se dorete cutarea tuturor liniilor surs care conin
cuvntul Write n toate fiierele cu extensia .Pas din catalogul
C:\BP\Examples, atunci se activeaz comanda Grep. Apare o fereastr n
care se introduce cuvntul cutat i calea catalogului n care se caut, separate de
un spaiu.
27
OK
Cancel
Help
Vornicescu Silviu
Chiar dac nu a fost activat anterior, apare dup apsarea butonului OK apare
fereastra Messages, care afieaz o list a tuturor apariiilor cuvntului cutat,
mpreun cu numrul de linie din program n care a fost gsit.
Go to next (Alt + F8) asigur trecerea la urmtoarea linie a ferestrei
de mesaje. Dac aceast linie repereaz o linie dintr-un fiier text, atunci fiierul
va fi deschis, dac nu a fost deschis n prealabil i cursorul este poziionat la linia
referit a fiierului.
Go to previous (Alt + F7) este analoag comenzii precedente, cu
deosebirea c se trece la linia precedent a ferestrei de mesaje.
n meniul Tools pot fi introduse i alte utilitare sau cele existente pot fi
terse. Ele pot fi realizate cu ajutorul comenzii Tools a meniului Options.
Meniul Options
Comenzile meniului Options permit fixarea diferitelor opiuni
referitoare la compilator, editor de legturi, depanator, etc.
Compiler afieaz o fereastr de dialog n care opt fi precizate
opiunile care guverneaz tipul generrii de cod, tipul tratrii erorilor de execuie,
tipul opiunilor sintactice, tipul gestionrii numerelor reale, cantitatea informaiilor
de depanare precum i definirea simbolurilor condiionate.
Code generation
[ ] Force far calls
[ ] Overlays allowed
[X] Word align data
Runtime errors
[ ] Range checking
[X] Stack checking
[X] I/O checking
[ ] Overflow checking
Debugging
[X] Debug information
[X] Local symbols
[X] Symbol information
Conditional defines
[ ] 286 instructions
[ ] Smart callbacks
[ ] Windows stack frames
Syntax options
[X] Strict var-strings
[ ] Complete boolean eval
[X] Extended syntax
[ ] Typed @ operator
[ ] Open parameters
Numeric procesing
[ ] 8087/80287
[X] Emulation
OK
28
Cancel
Help
Vornicescu Silviu
[ ] Overlays allowed
Dac comutatorul nu este poziionat, nu se va folosi modul de generare
tip acoperire, adic un unit nu poate fi acoperit de un alt unit. Este echivalent cu
directiva de compilare {$O+} sau {$O-}.
[ ] 286 instructions
Dac comutatorul este poziionat, codul generat conine instruciunile
procesorului 80286, mrind astfel viteza de execuie. Acest cod ns nu se mai
poate executa pe procesoarele 8088 sau 8086. Este echivalent cu directiva de
compilare {$G+} sau {$G-}.
[ ] Smart callbacks xxx
[ ] Windows stack frames xxx
[ ] Range checking
Dac comutatorul este poziionat, se testeaz, se testeaz apartenena
n domeniul permis de tipul de enumerare sau interval a diferitelor variabile,
valabilitatea indicilor de tablou i de ir de caractere. n caz de eroare se afieaz
29
Vornicescu Silviu
[ ] Stack checking
Dac comutatorul este poziionat, la fiecare apel de subprogram se
testeaz dac n stiv este loc suficient pentru memorarea variabilelor locale.
Dac spaiul este insuficient, programul se oprete. Este echivalent cu directiva
de compilare {$S+} sau {$S-}.
[ ] I / O checking
Dac comutatorul este poziionat, la fiecare operaie de intrare / ieire se
testeaz dac a aprut o eroare. n caz afirmativ, se afieaz un mesaj de eroare
i programul se oprete. Dac comutatorul nu este poziionat, eroarea aprut
poate fi tratat n program cu funcia IOResult. Este echivalent cu directiva de
compilare {$I+} sau {$I-}.
[ ] Overflow checking
Dac comutatorul este poziionat, se va testa depirea rezultatelor
operaiilor +,, * asupra valorilor ntregi, precum i a rezultatelor funciilor
Abs, Sqr, Succ i Pred. Rezultatele funciilor Inc i Dec nu snt verificate.
Este recomandat activarea simultan cu comutatorul Range checking. Este
echivalent cu directiva de compilare {$Q+} sau {$Q-}.
[ ] Extended syntax
Dac comutatorul este poziionat se permite ca funciile s fie apelate ca
i cum ar fi proceduri, iar rezultatul returnat de funcie este neglijat. Sintaxa
extins ns nu poate fi aplicat pentru funciile unit-ului System. Utilizarea
funciilor ca i proceduri are sens, de exemplu cu subprogramele unit-ului Strings
sau n context cu funcia Readkey, cnd nu prezint interes codul tastei apsate.
Este echivalent cu directiva de compilare {$X+} sau {$X-}.
[ ] Typed @ operator
Dac comutatorul este poziionat, atunci se verific tipul reperului
generat de operatorul de adresare @. Dac comutatorul nu este poziionat, atunci
tipul operatorului @ va fi un reper fr tip de baz : pointer. Este echivalent cu
directiva de compilare {$T+} sau {$T-}.
[ ] Open parameters
30
Vornicescu Silviu
[ ] Debug information
Dac comutatorul este poziionat, se genereaz o tabel cu numrul
liniilor surs pentru fiecare instruciune din program. n aceast tabel se face
coresponden ntre adresa codului generat i numrul liniei surs corespunztor.
Astfel mediul permite execuia pas cu pas, pn la locaia cursorului precum i
definirea punctelor de ntrerupere. Dac comutatorul nu este poziionat,
necesitile de memorie descresc, dar mijloacele de depanare devin inaccesibile.
Este echivalent cu directiva de compilare {$D+} sau {$D-}.
[ ] Local symbols
Dac comutatorul este poziionat, se genereaz o tabel cu numele i
tipul tuturor variabilelor i constantelor locale dintr-un modul. Astefel mediul va
permite evaluarea i modificarea valorilor variabilelor locale, precum i istoricul
apelurilor de subprograme. Funciile Linker / Map file i Debugger / Standalone
ale meniului Options pot s livreze informaii referitoare la variabilele locale
numai pentru acele subprograme care au fost compilate cu comutatorul Local
symbols poziionat. Este echivalent cu directiva de compilare {$L+} sau {$L-}.
[ ] Symbol information
Comutatorul poate fi utilizat numai la compilatorul BP.EXE. Dac
comutatorul este poziionat, compilatorul introduce n codul generat informaii de
tip browse. n acest caz se permite afiarea diferitelor ferestre de tip browse
referitoare la obiecte, unit-uri, variabile globale i simboluri. Este echivalent cu
directiva de compilare {$Y+} sau {$Y-}. Cnd comutatorul Symbol information
este cuplat, att comutatorul {$D+} ct i comutatorul {$L+} trebuie s fie cuplat.
[ ] 8087 / 80287
Dac comutatorul este poziionat, atunci se permite utilizarea tuturor
tipurilor reale (real, single, double, extended, comp). Dac comutatorul nu este
poziionat, atunci se permite doar utilizarea tipului real, celelalte tipuri reale snt
interzise. Este echivalent cu directiva de compilare {$N+} sau {$N-}.
[ ] Emulation
Dac comutatorul este poziionat, atunci se utilizeaz o bibliotec care
emuleaz coprocesorul matematic 8087, dac acest coprocesor nu este prezent.
Fiierul executabil poate fi utilizat de orice echipament, indiferent dac 8087 este
sau nu prezent. Este echivalent cu directiva de compilare {$E+} sau {$E-}.
31
Vornicescu Silviu
OK
Cance
Help
Map file
( . ) Off
( ) Segments
( ) Public
( ) Detailed
OK
Link buffer
( . ) Memory
( ) Disk
Cance
Help
Butoanele radio din grupa cu titlul Map file se refer la fiierul text de
extensie .MAP care este un fiier hart de memorie creat de editorul din mediul
de programare. Acest fiier conine informaii necesare depanrii programului i el
este depus pe disc, n catalogul specificat de cmpul Object directories din
meniul Options comanda Directories.
( . ) Off nu se creeaz fiierul *.MAP
32
Vornicescu Silviu
Symbols
[X] Integrated debugging / browsing
[ ] Standalone debugging
Display swapping
( ) None
( . ) Smart
( ) Always
OK
Cance
Help
[ ] Standalone debugging
Dac este cuplat, n codul generat vor fi incluse informaii, care permit
depanarea cu ajutorul utilitarului Turbo Debugger.
Butoanele radio din grupa cu titlul Display swapping determin modul
de schimbare i utilizare a ecranului.
( ) None Dac un program este executat din mediul integrat,
programul va suprascrie ecranul mediului, adic nu are loc o schimbare de ecran.
Ecranul mediului poate fi restabilit cu comanda Refresh display a mediului
Window.
( . ) Smart n momentul scrierii pe ecran de ctre programul executat,
ecranul mediului este schimbat pentru o scurt perioad necesar scrierii pe
ecranul utilizatorului, dup care se face revenirea la starea anterioar pornirii
programului.
( ) Always Dup fiecare instruciune are loc o schimbare de ecran.
OK
33
Cance
Help
Vornicescu Silviu
[X] Variables
[X] Procedures
[ ] Inherited
Prefered pane
( . ) Scope
( ) Reference
[ ] Sort always
OK
Cance
Help
34
Vornicescu Silviu
Grep
OK
Turbo Assembler
Edit
Turbo Debugger
New
Turbo Profiler
Delete
Cance
Help
Hot keys
( ) Unassigned
( . ) Shift + F1
( ) Shift + F2
( ) Shift + F3
( ) Shift + F4
( ) Shift + F5
35
OK
Cance
Help
Vornicescu Silviu
- n + $MEM(64) $NOSWAP
) Shift + F6
) Shift + F7
) Shift + F8
) Shift + F9
) Shift + F10
Preferences
Editor
Mouse
Startup
Colors
Subcomanda Preferences permite stabilirea diferitelor preferine
legate de utilizarea mediului de programare.
Screen size
( . ) 25 lines
( ) 43/50 lines
Desktop file options
( ) Desktop only
( . ) Desktop and symbols
Auto save
[ ] Editor files
[ ] Environment
[ ] Desktop
Source tracking
( . ) New window
( ) Current window
Desktop file
( ) Current directory
( . ) Config file directory
Options
[ ] Auto track source
[X] Close on go to source
[ ] Change dir on open
OK
36
Cance
Help
Vornicescu Silviu
[ ] Editor files
Dac este cuplat, fiierele din ferestrele de editare nc nesalvate, snt
salvate automat n momentul prsirii definitive sau temporare a mediului, la
lansarea n execuie a programului curent sau la declanarea unei aciuni de
depanare.
[ ] Environment
Dac este cuplat, n momentele mai sus menionate, opiunile actuale
ale mediului, adic opiunile de compilare i tabela cu comenzile editorului, snt
salvate automat n fiierul de configurare *.TP.
[ ] Desktop
Dac este cuplat, n momentele menionate la primul comutator, vor fi
salvate automat informaiile referitoare la listele cu istoricul, locaiile punctelor de
ntrerupere i starea zonei de lucru, n fiierul desktop *.DSK. Comutatorul
poate fi cuplat doar atunci, cnd este cuplat i comutatorul Environment.
Grupa cu titlul Options conine trei comutatori :
Vornicescu Silviu
Editor options
[X] Create backup files
[X] Insert mode
[X] Auto indent mode
[ ] Use tab characters
[ ] Optimal fill
[X] Backspace unindents
[ ] Cursor through tabs
Tab size 8
Highlight extensions
*.PAS; *.INC
OK
Cance
Help
38
Vornicescu Silviu
[ ] Overwrite blocks
n stare cuplat i dac i comutatorul Persistent blocks este activ,
blocul marcat poate fi suprascris. n caz contrar, la prima modificare n interiorul
blocului, marcarea este anulat.
Vornicescu Silviu
( ) Nothing
( . ) Topic search
( ) Go to cursor
( ) Breakpoint
( ) Evaluate
( ) Add watch
( ) Browse symbol
Fast
Medium
Slow
OK
Cance
Help
OK
Cance
Help
40
Vornicescu Silviu
Vornicescu Silviu
Group
Browser
Call stack
Compiler
Desktop
Dialogs
Editor
Help
Menus
Messages
Output
Register
Syntax
Watches
Foreground
Background
Text
Text
OK
Cance
Text
Text
Text
Text
Help
Meniul Window
Comenzile meniului Window permit deschiderea, aranjarea i listarea
diferitelor ferestre.
Tile aeaz diferitele ferestre deschise, una sub alta, astfel c toate
ferestrele snt simultan vizibile. Dac numrul de ferestre deschise simultan este
prea mare se emite semnalul de eroare Tile / Cascade area too small to
complete reguest.
Cascade permite aeazarea ferestrelor deschise sub form de
grmad. Prima fereastr ocup ntreaga zon de lucru, celelalte snt micorate,
fereastra activ este deasupra grmezii.
42
Vornicescu Silviu
Meniul Help
Comenzile meniului Help asigur accesul la diferitele componente ale
documentaiei n limba englez, care nsoete mediul de programare.
Powered by http://www.referat.ro/
cel mai tare site cu referate
43
Vornicescu Silviu
44