Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Programarea in Turbo Pascal



Programarea in Turbo Pascal


Programarea in Turbo Pascal


Introducere in Turbo Pascal



Limbajul Pascal a fost elaborat in 1972 de catre Nicklaus Wirth de la Universitatea din Zurich in scopul unei mai bune invatari a programarii. Desi la inceput el a fost cunoscut doar de mediul universitar, apoi el a cunoscut un succes imens.


Structura programelor Pascal



1.      Orice program incepe printr-un cuvint numit PROGRAM care este urmat de numele propriu-zis al programului, adica de un nume ales de utilizator si de semnul ; (punct si virgula)



2.      Orice program contine cel putin odata cuvintele cu un inteles special BEGIN si END

3.      Orice program se termina prin punct

4.      Orice cuvint al programului poate fi scris cu litere mari sau mici, deoarece nu are importanta

5.      In versiunea Turbo, prima linie poate lipsi, desi nu se recomanda acest lucru, din ratiuni de ordine

6.      Plasarea cuvintelor pe linie si numarul de spatii dintre ele sint la alegerea programatorului. Se poate scrie tot programul pe o singura linie, insa este bine ca programul sa fie scris in asa fel incit sa fie usor de inteles.


Un program scris in Pascal, oricit de complex ar fi, are urmatoarea structura :

PROGRAM nume ;

definitii de constante ;

definitii de tipuri ;

declaratii de variabile ;

declaratii de proceduri si functii ;

BEGIN

Instructiuni

END

Nu este obligatoriu ca intr-un program sa figureze toate acestea, dar daca ele figureaza, trebuie sa apara in aceasta ordine.

Orice program cuprinde doua parti esentiale :

descrierea instructiunilor ( a actiunilor) si

descrierea datelor care sint prelucrate de instructiuni

Un program Turbo Pascal este structurat astfel :

a)     un antet de program, care contine cuvintul rezervat PROGRAM urmat de numele programului

b)     o declaratie, introdusa in cuvintul rezervat USES, a numelor unit-urilor, care se vor folosi intr-un program

c)      o parte obligatorie formata dintr-un bloc, urmat de caracterul punct

Componentele a) si b) , de mai sus, pot sa lipseasca dintr-un program

Un UNIT este o colectie de declaratii de constante, tipuri, variabile si subprograme in cod obiect (adica compilate separat), care se utilizeaza in program prin specificarea numelui sau in clauza Uses. Folosirea unit-urilor permite scrierea unor programe mari care depasesc 64 K. Dimensiunea unui program, ca si ceea a unui unit, nu poate depasi 64 K. Numarul unit-urilor utilizate de un program nu este insa limitat si de aceea programul poate atinge dimensiuni care depind de capacitatea memoriei interne. Utilizatorii pot sa-si creeze unit-uri proprii dar pot utiliza si cele 8 unit-uri standard oferite de mediul Turbo Pascal : SYSTEM, DOS, GRAPH, CRT, OVERLAY, PRINTER, GRAPH3, TURBO3. Unit-ul SYSTEM este incorporat in toate programele Pascal, fara sa fie obligatorie declararea lui in USES, deoarece el cuprinde procedurile si functiile cel mai des folosite. Folosirea unit-urilor, nu este posibila in Pascal Standard.

Blocul, este elementul de baza al programului si cuprinde o sectiune de declaratii, care este optionala si o sectiune obligatorie de program.


Elementele limbajului


Turbo Pascal foloseste urmatorul subset al caracterelor ASCII :

litere : a - z, A - Z

cifre : 0 - 9

cifre hexa : 0 - 9; A - F; a - f

caractere speciale : + - * / @ # $ % ^ &

caracterele ASCII 0 - 32



Cuvintele cheie (rezervate)


Aceste cuvinte pot fi scrise atit cu litere majuscule, cit si cu minuscule sau pot fi chiar si amestecate. Cuvintele rezervate sint cuvinte care au un inteles special, ele neputind fi redefinite de utilizator.


And

End

Label

Repeat

Asm

Exports

Library

Set

Array

File

Mod

Shl

Begin

For

Nil

Shr

Case

Function

Not

String

Const

Goto

Object

Then

Constructor

If

Of

Until

Destructor

Implementation

Or

Uses

Div

In

Packed

Var

Do

Inherited

Procedure

While

Downto

Inline

Program

With

Else

Interface

Record

Xor


Directive standard


Spre deosebire de cuvintele rezervate, directivele standard pot fi redefinite de programator, aceasta insa nu este recomandat.

Absolute

Far

Near

Virtual

Assembler

Forward

Private


Export

Index

Public


External

Interrupt

Resident



Identificatorii


Sint simboluri care desemneaza variabile, proceduri, functii, unit-uri, constante, tipuri, programe si cimpuri de articole. Un identificator incepe cu o litera, care poate fi urmata de orice combinatie de litere, cifre sau caracterul de subliniere (_ , ASCII $5F). Lungimea identificatorilor nu este limitata, dar sint semnificative doar primele 63 de caractere.

In cazul programelor ce folosesc unit-uri, pot exista instante cu acelasi identificator. Pentru a putea selecta o instanta specifica, identificatorul ales, trebuie calificat. Calificarea se realizeaza printr-o constructie de forma :

Nume_unit.identificator

Adica numele identificatorului trebuie sa fie precedat de numele unit-ului de origine, urmat de un punct.

Exemplu : dos.exec


O alta categorie speciala de identificatori sint tipurile predefinite ale limbajului. Aceste sint urmatoarele :


Boolean

Comp

Longbool

Pointer

Text

Byte

Double

Longint

Real

Word

Bytebool

Extended

Openstring

Shortint

Wordbool

Char

Integer

Pchar

Single



O alta categorie speciala de identificatori o reprezinta, directivele name, index, resident (folosite de biblioteci de legare dinamica .DLL), precum si parametrul Self.

Atit tipurile predefinite, cit si directivele precedente pot fi redefinite, dar aceasta redefinire nu este recomandata.


Etichetele


Sint specificate sub forma de numere integi din domeniul 0.9999 sau de identificatori. Etichetele sint utilizate la instructiunile de salt neconditionat goto. Daca o instructiune este precedata de o eticheta, este permisa folosirea ei prin instructiunea goto. O eticheta marcheaza numai o linie. Eticheta este separata de instructiunea corespunzatoare prin caracterul doua puncte (:). Toate etichetele utilizate trebuie declarate in sectiunea label.

Exemplu de eticheta :


Label 1234;


begin


1234: y:=sin(x)+1.0;


goto 1234;


end.



Constantele, numerele



Constantele, desemneaza valori intregi sau reale. In mod obisnuit se foloseste notatia zecimala, dar este permisa si folosirea notatiei hexazecimale, in cazul numerelor intregi. O constanta hexazecimala, foloseste semnul dolarului ($) ca prefix.

Numerele reale se scriu sub forma :

partea_intreaga.partea_zecimala

adica in locul virgulei zecimale, se foloseste punctul zecimal. Optional se poate adauga si un exponent, la care litera E sau e este urmata de un exponent cu sau fara semn. Daca exponentul este prezent, numarul este inmultit cu 10 la puterea exponentului. Numerele hexa trebuie sa fie cuprinse intre $00000000 si $FFFFFFFF , iar numerele intregi trebuie sa fie cuprinse intre -2,147,483,648 si 2,147,483,647.


Operatorii


Limbajul Turbo Pascal 7.0 are noua tipuri de operatori :

1) asignare, 4) relationali 7) multime

2) aritmetici, 5) logici 8) asamblare

3) lucru cu biti                  6) adresare 9) sir


Unii operatori sint binari, solicitind doi operanzi, restul sint unari, solicitind un operator.


Precedenta (prioritatile) operatorilor


In expresii complexe, regulile de precedenta (prioritate), clarifica ordinea in care se vor executa operatiile. Tabelul urmator prezinta prioritatile :

Operator

Prioritate

@ not

1

* / div mod and shl shr

2

+ - or xor

3

= <> < > <= >= in

4

Operatorii care au aceiasi prioritate sint executati in mod normal de la stinga la dreapta. Expresiile cu paranteze sint evaluate mai intii, independent de operatorii precedenti sau de succesori.


1)     Operatorul de asignare


Una din cele mai frecvente operatii in cadrul programelor este asignarea, adica operatia de atribuire a unei valori, unei variabile. Simbolul de asignare este format din caracterul doua puncte (:) urmat de caracterul egal (=).

Exemplu : A:=3;


2)     Operatorii aritmetici



Multiplicare, inmultire

Div

Impartire intreaga


Impartire cu rest

Mod

Modul


Adunare


Scadere


3)     Operatori pentru biti


Shl   

(shift left)

Shr           

(shift right)

And


Or


Xor


Not



4)     Operatori relationali


Operatorii relationali permit compararea a doua valori si returneaza rezultatul boolean , TRUE sau FALSE.


>

mai mare

>=

mai mare sau egal cu

<

mai mic

<=

mai mic sau egal cu


egal

<>

diferit

in

apartenenta


5)     Operatorii logici


Limbajul Turbo Pascal are patru operatori logici :

and

xor

or

not

care sint similari, dar nu identici cu operatorii pentru biti.


6)     Operatorii de adresare


Limbajul Turbo Pascal foloseste doi operatori de adresare :

adresa lui @, care returneaza adresa unei variabile

(^) - operatorul de indirectare

7)     Operatorii pentru multimi


+

reuniunea

-

diferenta


intersectia


8)     Operatorii limbaj de asamblare


&

redefinire identificator


subexpresie


referinta memorie

HIGH

intoarce octetul cel mai semnificativ

LOW

intoarce octetul cel mai putin semnificativ


plus unar


minus unar


redefinire segment

OFFSET

intoarce partea offset

SEG

intoarce partea segmentului

TYPE

intoarce tipul, in octeti

PTR



multiplicare


diviziune

MOD

modul

SHL

shift logic sting

SHR

shift logic drept


adunare binara


scadere binara

NOT

negare

AND

intersectie

OR

reuniune

XOR

reuniune exclusiva


9)     Operatorul pentru siruri


Singurul operator pentru siruri, este operatorul plus (+), care permite concatenarea (alipirea) a doua siruri.



Separarea instructiunilor



Este realizata prin caracterul punct si virgula ( ). Acest caracter este destinat separarii si nu terminarii unei instructiuni. Prezenta lui nu este obligatorie dupa fiecare instructiune iar in fata instructiunii End, poate sa si lipseasca, iar in fata cuvintului cheie Else, acest caracter este interzis.


Siruri de caractere



Un sir de caractere este o secventa de caractere incadrate intre doua apostroafe. Daca se doreste ca sirul insusi sa contina caracterul apostrof, acest caracter trebuie sa fie dublat. Sirul poate sa contina zero sau mai multe caractere din setul extin de caractere ASCII. Un sir nu poate fi despartit in mai multe linii. Un sir de caractere, care nu contine nici un caracter, se numeste sir vid (nul). Limbajul Turbo Pascal permite introducerea caracterelor in siruri si in felul urmator : semnul urmat de un numar natural din domeniul 0.255 desemneaza un caracter din setul ASCII extins. Intre si numarul natural, nu trebuie sa existe nici un separator. Daca mai multe caractere astfel scrise, sint parti ale unui sir, atunci nici aici nu sint folositi separatori.

Exemple de siruri de caractere :

'Turbo'

#13#10#13

#7#7'Atentie'#7#7

'You''ll see'

'Linia 1'#13'Linia 2'


Comentarii



Un comentariu este o secventa de caractere inserate in program cu scopul facilitarii intelegerii actiunilor sale. Comentariile sint constructii ignorate de compilator si servesc la precizarea observatiilor programatorului, privitor la o sectiune din program. Un comentariu incepe cu caracterul sau cu perechea . Un comentariu care contine semnul dolar ($), imediat dupa deschiderea sa, reprezinta o directiva de compilare. Comentariile pot sa contina orice secventa de caractere exceptind pe cele mentionate mai sus.

Exemple de comentarii :


Acesta este un program



Directive de compilare



Directivele de compilare, sint comentarii cu o sintaxa speciala, si pot fi utilizate peste tot unde sint admise comentarii. Directivele de compilare incep cu caracterele sau . Exista trei categorii de directive :

Directivele tip comutator, prin care pot fi activate diferite functii ale compilatorului. Numele directivei este urmat de caracterul pentru cuplare sau de caracterul pentru decuplare.

Directivele tip parametru, specifica anumiti parametri care afecteaza modul de compilare.

Directivele conditionale, controleaza compilarea conditionala a anumitor parti ale textului sursa.


Directivele de compilare tip comutator


Directivele de compilare tip comutator furnizeaza anumite informatii necesare compilatorului. Ele pot fi cuplate sau decuplate. De regula, dupa caracterul "$", apare o litera si semnul " " sau " ", de exemplu Ele se refera la anumiti comutatori (valori logice). Directivele de compilare pot fi :

locale

globale

Directivele locale pot sa apara oriunde in program sau in unit, pentru ca ele afecteaza doar o parte a compilarii.

Directivele globale trebuie sa fie plasate inaintea partii de declarare a programului sau a unit-ului care se compileaza, pentru ca ele afecteaza intreaga compilare.

Se permite gruparea mai multor directive de compilare, care trebuie separate cu virgula.

Exemplu :


Directiva

Descriere

Valoare implicita

Efect



Aliniere date

Cuplata [X]

Global



Evaluare booleana

Decuplata [ ]

Local



Informatii de depanare

Cuplata [X]

Global



Emulare

Cuplata [X]

Global



Model de apel far

Decuplata [ ]

Local



Generare de instructiuni 286

Decuplata [ ]

Local



Testare operatii

intrare / iesire

Cuplata [X]

Local



Informatii simboluri locale

Cuplata [X]

Local



Prelucrare numerica

Decuplata [ ]

Global



Structura de acoperire.

Numai in mod real !

Decuplata [ ]

Global



Parametru sir deschis de caractere

Decuplata [ ]

Global



Testare depasire numere intregi

Decuplata [ ]

Local



Testare domeniu de valori

Decuplata [ ]

Local



Testare depasire stiva

Cuplata [X]

Local



Operator de adresare @ cu tip

Decuplata [ ]

Local



Test identitate tip la parametru / argument sir

Cuplata [X]

Local



Sintaxa extinsa

Decuplata [ ]

Global



Informatii tip browser

Numai in mod protejat !

Cuplata [X]

Global



Directivele de compilare si echivalentele lor in meniul Option/Compiler


Directiva

Grupa

Echivalent



Generare de cod

Generare de cod

[X] Word Align Data

[ ] Word Align Data



Sintaxa

Sintaxa

[X] Complete Boolean eval. Boolean Evaluation. Short Circuit



Depanare

Depanare

Debug Information.On

Debug Information.Off



Prelucrare numerica

Prelucrare numerica

Emulation.On

Emulation.Off



Generare de cod

Generare de cod

Force Far Calls.On

Force Far Calls.Off



Generare de cod

Generare de cod

286 Code.On

286 Code.Off



Erori de executie

Erori de executie

I/O Checking.On

I/O Checking.Off



Depanare

Depanare

Local Symbols.On

Local Symbols.Off



Prelucrare numerica

Prelucrare numerica

80x87 Code.On

80x87 Code.Off




Generare de cod


Generare de cod

Overlay Code Generation.On

(Numai in mod real)

Overlay Code Generation.Off

(Numai in mod real)




Sintaxa


Sintaxa

Open string parameters.

Enabled

Open string parameters.

Disabled



Erori de executie

Erori de executie

Overflow Checking.On

Overflow Checking.Off



Erori de executie

Erori de executie

Range Cecking.On

Range Cecking.Off



Erori de executie

Erori de executie

Stack Cecking.On

Stack Cecking.Off



Sintaxa

Sintaxa

Typed @ operator.On

Typed @ operator.Off



Sintaxa

Sintaxa

Strict Var - String Checking

Relaxed Var - String Checking



Sintaxa

Sintaxa

Extended Syntax.On

Extended Syntax.On




Depanare


Depanare

Symbol reference information. On (numai in mod real)


Symbol reference information. Off (numai in mod real)


Directive tip parametru


Directivele tip parametru specifica parametri care afecteaza modul de compilare a programului.

Directive parametru

Semnificatie

$C Atribut

Atributul segmentului de cod (sub Windows si in mod protejat)

$D Text

Descriere (sub Windows si in mod protejat)

$I Numefisier

Includerea fisierului sursa, cu extensia .PAS

$G NumeUnit

Segmente de grup unit (sub Windows si in mod protejat)

$L Numefisier

Includerea fisierului obiect, cu extensia .OBJ

$M DimensiuneStiva,

HeapMinim,

HeapMaxim

Dimensiunile de alocare a memoriei : stiva si valori extreme pentru heap.

$O NumeUnit

Numele unit-ului de acoperire, cu extensia .OVR (numai in mod real)

$R NumeFisier

Fisier de resurse (sub Windows si modul protejat)

$S DimSegment

Preferinta dimensiune segment (sub Windows si in mod protejat)


Intre numele directivei si parametrii trebuie plasat cel putin un caracter blanc.

Exemplu :


Directivele si simbolurile compilarii conditionate


Compilarea conditionata se bazeaza pe evaluarea simbolurilor conditionale.


Introducerea simbolului "nume" in lista simbolurilor conventionale. Acest simbol este recunoscut pina nu va fi sters cu o directiva :


Existenta simbolului poate fi testata cu directiva :


Introducerea simbolurilor conditionale poate fi realizata si cu optiunea Conditional Defines (comanda Compiler din meniul Options).


Stergerea simbolului "nume" din lista simbolurilor conditionale. Daca simbolul nu este definit, directiva nu are efect.


Daca simbolul "nume" exista in lista simbolurilor conditionale, se compileaza textul cuprins intre aceasta directiva si directiva :


sau


Daca simbolul "nume" nu exista, nu se compileaza textul cuprins intre aceasta directiva si


sau


Lucreaza similar directivei


cu deosebirea ca se testeaza lipsa simbolului "nume" in lista simbolurilor conditionale.


Daca optiunea 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 cuplata, se compileaza textul intre aceasta directiva si directiva :


sau


Daca optiunea k nu este cuplata, nu se compileaza textul cuprins intre aceasta directiva si


sau



Declaratii de variabile


Inainte de a trece la declararea variabilelor, vom arata mai intii modul de asezare a programului si a diverselor date in memoria operativa.

Programul, impreuna cu procedurile si functiile care apartin programului, este depus in segmentul de cod. Inaintea versiunii 4.0 a compilatorului, lungimea maxima admisa a fost de 64Ko. Prin utilizarea unit-urilor si a bibliotecilor dinamice, lungimea maxima a devenit de 640Ko.

In afara de segmentul de cod, mai exista segmentele de date, de stiva si segmentul "extra". Segmentul de date permite memorarea datelor programului. Aceasta memorare este ajutata si de segmentul de stiva, care este zona principala a gestionarii datelor dinamice. Datele programului incarcate, in functie de tipul lor, vor fi depuse in segmentele de cod, stiva si date.

Variabilele programului principal, daca nu sint specificate ulterior alte atribute, sint memorate in segmentul de date. Aceste variabile sint statice, deoarece locatia lor din memorie in timpul executiei ramine nemodificata. Din alt punct de vedere aceste variabile sint si globale, deoarece pot fi folosite in intreaga intindere a programului.

O alta clasa de variabile este legata de subprograme. Aceste variabile "traiesc" doar in timpul executiei subprogramului (procedura sau functie). Variabilele locale sint alocate la inceputul segmentului de stiva. In segmentul de stiva, alocarea se face in ordine inversa, adica de la adrese mai mari la adrese mai mici. In momentul apelarii subprogramului, variabilele locale vor fi alocate, adica stiva va creste. In momentul iesirii din subprogram, spatiul din stiva alocat variabilelor locale, va fi eliberat. In momentul declararii variabilelor noi, spatiul din memorie eliberat, va fi din nou reutilizabil.

Tot in segmentul de stiva, in zona numita heap, sint alocate variabilele dinamice. Declararea variabilelor dinamice difera substantial de declararea celorlalte variabile, deoarece declararea lor se realizeaza in timpul executiei programului. Dupa ce aceste variabile au fost utilizate, spatiul ocupat de ele poate fi eliberat. Cu alte cuvinte ele ocupa spatiu atita timp, cit sint efectiv necesare. Alocarea de memorie pentru variabilele dinamice se realizeaza cu procedurile New si GetMem, iar eliberarea de memorie se realizeaza cu subprogramele Dispose, FreeMem, Mark si Release.


Geografia memoriei este urmatoarea :

Adresa superioara memorie DOS

FreePtr

Lista pentru descrierea zonelor libere in Heap


HeapPtr

Zona de memorie libera


HeapOrg

Heap (creste spre adrese mari)

OvrHeapEnd


Tamponul overlay (de acoperire)

OvrHeapOrg

Sseg:Sptr

Stiva (Stack - creste spre adrese mici)


Sseg:0000

Stiva neutilizata



Variabilele globale din programul principal si din unit-uri


Dseg:0000

Variabilele initializate (constante tipizate)



Segmentul de cod pentru unit-ul SYSTEM


Segmentul de cod pentru unit-ul U 1


Segmentul de cod pentru unit-ul U 2


Segmentul de cod pentru unit-ul U n

Cseg:0000

Segmentul   de cod pentru programul principal (in care apare directiva :

Uses U 1, U 2, ., U n;


PrefixSeg

Program Segment Prefix - PSP 256 octeti


Adresa inferioara memorie DOS



Zona desemnata cu semnul

Reprezinta continutul fisierului .EXE

O declaratie de variabila asociaza un nume si un tip unei locatii de memorie. Valorile tipului specificat vor fi memorate in locatia respectiva.

Fiecare variabila care apare intr-un program trebuie sa fie introdusa printr-o declaratie de variabila. Declaratia trebuie sa preceada orice utilizare a variabilei.

Declaratia variabilelor se face in sectiunea var astfel :

var

lista de identificatori : tip;


lista de identificatori : tip;

unde identificatorii din lista sint despartiti prin virgula. Tipul asociat unei variabile poate sa fie predefinit sau utilizator,caz in care tipul respectiv trebuie sa fie definit in sectiunea type din cadrul blocului actual sau intr-un bloc exterior.


Modul Real si modul Protejat


Microprocesoarele 80286, 80386, 80486 si urmatoarele, pot opera in doua moduri diferite : in mod Real (Real mode) si in mod Protejat (DPMI; DOS Protected Mode Interface).

Modul Real permite gestiunea spatiului de memorie traditional, cu o dimensiune de pina la 1Mo.

Modul Protejat se poate adresa un spatiu de memorie de dimensiune maxima de 16 Mo.

Atit la modul real cit si la modul protejat, adresa logica este memorata pe doua cuvinte, fiecare avind 16 biti, adica in total 32 de biti. Unul dintre cuvinte este denumit adresa de baza (in mod real) sau selector (in mod protejat). Celalalt cuvint poarta numele de deplasament. Din adresa logica se formeaza adresa fizica, insa prin doua metode diferite. Se mentioneaza ca deplasamentul in ambele cazuri, permite adresarea unei zone de memorie (segment) de 64 Ko, deoarece pe 16 biti se pot reprezenta

216 = 65536 = 64 * 1024 = 64 K octeti



Pornirea si descrierea mediului de programare


Pentru a lansa compilatorul de la prompter-ul sistemului de operare, se introduce cuvintul Turbo pentru modul real sau BP pentru modul protejat. Deoarece in modul protejat, putem accesa o memorie de pina la 16 Mo, in tot ceea ce vom face de acum in colo, ne vom referi la modul protejat.

Programul BP.EXE se gaseste in catalogul C: BP BIN. Dupa pornire, pe ecran apar urmatoarele informatii :

File

Edit

Search

Run

Compile

Debug

Tools

Options

Window

Help



F1 Help

F2 Save

F3 Open

Alt + F9 Compile

F9 Make

Alt + F10 Local menu

In rindul cel mai de sus, adica in lista meniurilor, sint specificate meniurile din mediu. Pentru a activa aceasta linie, este suficient sa se apese tasta F10 sau se tine apasata tasta Alt plus prima litera a meniului, care este de culoare rosie sau cu mouse-ul.


Meniul File


Meniul FILE permite realizarea unor operatii elementare la nivel de fisier, navigarea pe discuri, iesirea definitiva sau partiala din mediul de programare.


New initiaza deschiderea unei zone de lucru. Aceasta zona reprezentand o noua fereastra de editare nu are in corespondenta un fisier. Pentru recunoasterea ferestrei, aceasta primeste o identificare speciala formata din cuvantul NONAME concatenat de o valoare numerica de exact doua cifre intre 00 si 99. Identificarea este aleasa astfel incat sa fie unica pentru ferestrele deschise si fisierele din directorul in care se lucreaza curent. Valoarea numerica este mai mare decat toate cele utilizate pentru identificarile de aceasta forma. Dupa deschidere, fereastra devine activa, iar ferestra activa inainte de initierea comenzii, daca exista, devine inactiva.

Open permite incarcarea unui fisier salvat anterior cu extensia .PAS . Incarcarea unui fisier se poate face mai rapid prin apasarea tastei F3.

Save se aplica la fereastra de editare activa si permite realizarea salvarii continutului pe o unitate de disc. Atunci cind exista deja un fisier salvat anterior, la o noua salvare vechiul fisier isi modifica extensia in .BAK. Salvarea se face mai rapid daca se apasa tasta F2.

Save as salveaza fisierul din fereastra activa sub un nume specificat, intr-o unitate si catalog specificat.

Save all salveaza toate fisierele prezente in ferestrele de editare deschise si care au fost deja modificate.

Change dir se foloseste pentru a schimba amplasarea pe disc a zonei de lucru, operatie cunoscuta ca schimbare de director.

Print se utilizeaza pentru realizarea imprimarii continutului ferestrei de editare active. Activitatea se poate activa doar de la nivelul meniului.

Printer setup se utilizeaza pentru stabilirea unor caracteristici legate de imprimanta conectata la calculator si a modului de realizare a imprimarii.

Dos shell se utilizeaza pentru iesirea temporara din mediul de programare, cu trecerea la sistemul de operare. Pentru revenirea in mediu, trebuie data comanda EXIT la prompterul sistemului de operare. Iesirea temporara se face cu salvarea starii mediului la momentul iesirii, stare care este restaurata la revenirea in mediu. Activitatea se initiaza doar de la nivelul meniului.

Exit (Alt + X) permite iesirea definitiva din mediul de programare si reintoarcerea la sistemul de operare DOS.


Meniul Edit


Comenzile meniului Edit permit efectuarea diferitelor operatii legate de fisierul Clipboard si anumite operatii speciale de anulare si de refacere a diferitelor actiuni. Fisierul Clipboard realizeaza legatura intre diferitele ferestre de editare, care la rindul lui poate fi editat, deplasat, redimensionat sau vizualizat, la fel ca celelalte ferestre de editare.

Undo (Alt + BkSp) anuleaza efectul unei actiuni anterioare sau al unui grup de actiuni anterioare. Comanda se refera la un grup de actiuni, daca comutatorul Group Undo din meniul Options / Environment / Editor Options este cuplat. In caz contrar, comanda se refera doar la ultima actiune.

Redo permite refacerea actiunilor anulate anterior prin comanda Undo, in forma si ordinea originala.

Cut (Shift + Del) decupeaza un bloc marcat, din fereastra activa de editare care este adaugat in clipboard. Blocul marcat, dispare.

Copy (Ctrl + Ins) copiaza un bloc marcat, din fereastra activa de editare care este adaugat in clipboard. Blocul marcat ramine intact.

Paste (Shift + Ins) insereaza blocul marcat din clipboard, in fereastra activa de editare, incepind cu pozitia in care se gaseste cursorul.

Clear (Ctrl + Del) sterge un bloc marcat din fereastra activa de editare, fara ca acest bloc sa fie depus in clipboard.

Show clipboard deschide o noua fereastra de editare cu numele "clipboard" si arata continutul fisierului clipboard.


Meniul Search


Meniul contine o serie de operatii necesare deplasarii intr-o fereastra de editare. Deplasarea se poate realiza neconditionat sau pentru regasirea unei informatii asupra careia se poate realiza si o editare. Meniul permite diferite cautari ale diferitelor texte, precum si inlocuirea lor cu alte texte.

Find permite cautarea unui text si deplasarea cursorului la textul respectiv. Se afiseaza o fereastra cu urmatoarea forma :


Text to find

Options


Direction

] Case sensitive

) Forward

] Whole words only

) Backward

] Regular expression


Scope

Origin

) Global

) From cursor

) Selected text

) Entire scope

OK

 

Cancel

 

Help

 


In cimpul cu inscriptia "Text to find" se introduce sirul de caractere care trebuie cautat. Cimpul este prevazut cu o lista, cu istoricul cuvintelor cautate. Pentru demararea operatiei de cautare se apasa butonul "OK". Textul gasit este marcat si ramine marcat pina la urmatoarea actionare a unei taste. Cursorul este plasat in urma cuvintului gasit. In cazul in care cuvintul nu este localizabil, se emite un mesaj de eroare de forma "String not found" (sirul nu este gasit).

] Case sensitive - daca este pozitionat [X], se face distinctie intre majuscule si minuscule. Implicit, nu se face aceasta distinctie.

] Whole words only - daca este pozitionat [X], atunci se cauta numai cuvintele "intregi", adica sirul cautat trebuie sa fie incadrat de caracterul "spatiu" sau de semne de punctuatie.

] Regular expression - daca    este pozitionat [X], atunci in specificarea textului care se cauta, pot fi utilizate diferite caractere functionale cu efect special. Aceste caractere sint urmatoarele :

^ $ . * + [ ]

Un caracter plasat la inceputul unui sir de caractere inseamna ca sirul este cautat la inceputul liniei.

Un caracter plasat la sfirsitul unui sir de caractere inseamna ca sirul este cautat la sfirsitul liniei.

Un caracter semnifica faptul ca in pozitia respectiva este acceptat orice caracter. De exemplu a.b selecteaza axb, ayb, etc.

Un caracter plasat dupa un caracter inseamna ca acel caracter poate sa se repete de un numar arbitrar de ori sau sa nu apara niciodata. De exemplu, ab* va selecta abb, ac, etc.

Un caracter plasat dupa un caracter, inseamna ca acel caracter poate sa se repete de un numar arbitrar de ori, dar trebuie sa apara cel putin odata. De exemplu ab+ va selecta abc, abbb, dar nu si ac.

Caracterele plasate intre parantezele patrate si inseamna acceptarea oricarui caracter specificat in pozitia respectiva, dar nu si alt caracter. De exemplu, a[bcd]e va selecta abe, ace, ade.

Caracterul plasat in fata unui sir de caractere incadrat de caracterele si inseamna negatie : in pozitia respectiva este acceptat orice caracter nespecificat in lista. De exemplu, [^abc] selecteaza orice caracter, exceptind caracterele a, b, c

Caracterul din interiorul parantezelor patrate si inseamna limitarea domeniului. De exemplu, [c-h] selecteaza orice caracter de la c pina la g

Caracterul plasat in fata unui caracter functional comunica faptul ca acel caracter este tratat ca si un caracter obisnuit. De exemplu, se refera la caracterul si nu la selectarea de la inceputul liniei.

Directia cautarii este specificata de butoanele radio din grupa cu inscriptia "Direction". Daca este pozitionat pe ( ) Forward cautarea se face catre sfirsitul fisierului, iar daca este pozitionat pe ( Backward cautarea se face catre inceputul fisierului.

Domeniul in care se efectueaza cautarea este specificat de butoanele radio din grupa cu inscriptia "Scope". Daca este pozitionat pe ( ) Global, cautarea se face in intregul fisier, in directia definita de Direction. Daca este pozitionat pe ( ) Selected text, cautarea este efectuata doar in blocul marcat.

Originea cautarii adica punctul de unde incepe cautare, este specificata cu butoanele radio, din grupa "Origin". Daca este pozitionat ( ) From cursor, cautarea se face de la pozitia actuala a cursorului, in directia definita de "Direction" si in domeniul definit de "Scope". Daca este pozitionat ( ) Entire scope, cautarea se face in intregul fisier sau in blocul marcat, indiferent de pozitia actuala a cursorului.

Replace permite cautare si inlocuirea diferitelor texte. Se afiseaza o fereastra cu urmatoarea forma :


Text to find

New text

Options


Direction

] Case sensitive

) Forward

] Whole words only

) Backward

] Regular expression


[X] Prompt on replace


Scope

Origin

) Global

) From cursor

) Selected text

) Entire scope

Help

 

Cancel

 

Change all

 

OK

 


In cimpul cu inscriptia "Text to find" se introduce textul care se cauta iar in cimpul cu inscriptia "New text" se introduce textul cu care acesta se cere a fi inlocuit.

La grupa de optiuni, apare un nou comutator, cu numele de "Prompt on replace". Daca comutatorul este pozitionat cu [X], inainte de a efectua inlocuirea textului cautat cu noul text, se va cere confirmarea efectuarii inlocuirii respective de catre utilizator (Y = Da, N = Nu). Este prezent un buton nou "Change all" care prin apasare, efectueaza inlocuirea automata a tuturor aparitiilor textului vechi cu textul nou.

Search again repeta ultima comanda "Find" sau "Replace", cu pastrarea tuturor optiunilor specificate in ferestrele corespunzatoare.

Go to line number afiseaza o fereastra de dialog de forma :


Enter new line number

OK

 

Help

 

Cancel

 

Aceasta fereastra are ca efect deplasarea cursorului intr-o linie specificata a programului. In cimpul cu inscriptia "Enter new line number" se specifica numarul liniei sursa cautate. Cimpul este prevazut cu o comanda pentru a afisa istoricul liniilor cautate. Se aminteste ca in coltul din stinga jos al ferestrei de editare, apare numarul de linie si de coloana pentru pozitia actuala a cursorului.

Show last compiler error afiseaza din nou codul si textul mesajului de eroare, corespunzator ultimei erori de compilare. Cursorul va fi deplasat in dreptul locatiei erorii. Daca compilarea s-a realizat fara erori sau daca programul sursa nu a fost compilat, comanda nu poate lucra.

Find error permite localizarea unei erori de executie. Cind se executa sub sistemul DOS un fisier executabil, o eroare de executie apare sub forma :

Runtime error Cod_de_eroare at seg : depl

unde seg si depl reprezinta adresa segmentului si a deplasamentului instructiunii care a declansat eroarea. Dupa ce se noteaza aceste valori, se incarca programul sursa intr-o fereastra de editare sau se specifica numele programului primar, in comanda "Primary file" din meniul "Compile". In continuare se fixeaza destinatia compilarii pe disc si se apeleaza comanda "Find error". Comanda afiseaza o ferestra de dialog de forma :

0000 : 0000

 
Error address

OK

 

Help

 

Cancel

 

In cimpul de introducere cu inscriptia "Error address" se inscrie adresa si deplasamentul erorii respective, de exemplu 00A5 : 000F. Dupa ce comanda a fost executata, cursorul va fi deplasat la inceputul instructiunii sursa care a cauzat eroare respectiva. Linia "Error address" este prevazuta cu comanda pentru afisarea listei cu istoricul cautarilor. Comanda "Find error" este activabila numai atunci cind este pozitionat cu [X] comutatorul "Integrated Debugging" din meniul Options, submeniul Debugger.

Find procedure poate fi utilizata numai atunci cind programul sursa a fost deja compilat. Ea serveste la cautarea locatiei unde este definita o procedura sau functie. Comanda afiseaza o ferestra de dialog de forma urmatoare :

Program principal

 
Procedure name



OK

 

Help

 

Cancel

 

In cimpul cu inscriptia "Procedure name" se specifica numele subprogramului cautat. Numele astfel cautat va fi cautat in intregul fisier sursa, inclusiv unit-urile si fisierele sursa. Cursorul va fi pozitionat pe numele subprogramului cautat. Deci comanda nu se refera la executia codului, ci doar la vizualizarea locatiei de definitie a subprogramului. Comanda Find procedure difera de comanda Find a meniului Search prin faptul ca prima localizeaza definitia subprogramului iar cea dea doua, locul in care este apelat subprogramul respectiv.

Versiunea in mod protejat a compilatorului, adica programul BP.EXE, permite afisarea ferestrelor de tip "browse", adica un studiu amanuntit despre toate simbolurile utilizate in fisierul sursa. Aceste simboluri pot fi obiecte, unit-uri, variabile, tipuri, constante, etichete globale si locale, subprograme de tip procedura si functie. Comenzile de tip "browse" pot fi aplicate numai programelor deja compilate. Informatiile afisate in aceste ferestre contin fie informatii de tip tabela de materii, pentru obiecte, unitati si simboluri globale ale programului sursa, fie informatii despre un simbol selectat.


Meniul Run


Comenzile meniului Run permit executia unui program, reinitializarea executiei, executia programului pina la pozitia actuala a cursorului, executia pas cu pas precum si stabilirea parametrilor din linia de comanda.

Run (Ctrl + F9) executa un program. Daca este nevoie, sint folositi parametrii din linia de comanda, specificati in comanda "Parameters" din meniul "Run". Daca programul sursa a fost modificat de la ultima compilare sau daca programul nu a fost in prealabil compilat, se trece automat prima data la compilare, apoi la executie. Programul este executat pina la sfirsitul programului sau pina la un punct de intrerupere, daca exista un astfel de punct. La terminarea executiei programului, controlul este redat mediului de programare.

Step over (F8) lucreaza similar comenzii "Trace into", cu urmatoarea deosebire : daca instructiunea actuala este un apel de subprogram, intregul subprogram este executat intr-un singur pas si bara de executie va fi pozitionata pe instructiunea care urmeaza dupa apelul de subprogram.

Trace into (F7) executa instructiunea urmatoare din program, iar la inceputul executiei va fi executata prima instructiune executabila a programului. Daca instructiunea urmatoare este un apel la un subprogram, atunci executia va continua cu prima instructiune executabila a subprogramului. Aplicind repetat aceasta comanda, se poate efectua executia pas cu pas, a programului. Se mentioneaza ca instructiunea care urmeaza sa fie executata, este evidentiata cu o bara, numita "bara de executie". Comanda poate fi utilizata numai atunci cind in momentul compilarii a fost cuplata cheia "Debug information" din meniul "Options", comanda "Compiler", grupa "Debugging", respectiv directiva . In caz contrar, se va emite un semnal de eroare, de forma "No debug info for program entry point. Run anyway?", adica nu exista informatii de depanare.

Go to cursor (F4) incepe sau continua executia unui program din pozitia curenta de executie, pina la linia in care se gaseste cursorul. Daca nu s-a inceput inca depanarea programului, pozitia curenta de executie este linia in care se gaseste prima instructiune executabila. Comanda poate fi utilizata numai atunci cind in momentul compilarii a fost cuplata 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". Aceasta comanda , nu creeaza un punct permanent de intrerupere.

Program reset (Ctrl + F2) reinitializeaza actuala sesiune de depanare. Se elibereaza memoria alocata programului si se inchide fiecare fisier deschis, dar valorile variabilelor ramin nemodificate., adica nu sint reinitializate. Punctele de intrerupere nu sint anulate, dar la urmatoarea executie, programul va fi reluat de la inceput.

Parameters afiseaza o fereastra de dialog de forma :


Parameter

OK

 

Cancel

 

Help

 

In cimpul cu inscriptia "Parameter" se pot introduce parametrii liniei de comanda a programului. Pentru introducere se poate folosi si lista cu istoricul parametrilor introdusi anterior. In interiorul programelor, numarul lor poate fi determinat cu functia "ParamCount" iar valoarea celui de -al "N-lea" parametru, poate fi determinata cu functia "ParamStr(n)". Pentru valoarea N = 0 functia va returna numele programului. Daca nu exista nici un parametru, atunci functia "ParamCount" va returna valoarea 0.


Meniul Compile


Comenzile meniului Compile permit compilarea programelor si a unit-urilor.

Compile (Alt + F9) permite compilarea fisierului care se gaseste in fereastra actuala de editare. Acest fisier poate fi atit un program principal, cit si un unit sau biblioteca de legare dinamica (.DLL). Textul compilat poate sa contina si referiri la fisiere externe de includere (directive de tip $I nume).

Make (F9) compileaza fisierul primar specificat, iar in lipsa unui astfel de fisier, se compileaza fisierul din fereastra actuala de editare. Comanda determina unit-urile folosite de programul primar. Acele unit-uri care sint prezente numai in format sursa, vor fi compilate automat si vor fi generate fisiere de extensie .TPU corespunzatoare. De exemplu, daca pentru un unit U1 se gaseste fisierul U1.Pas, acest unit este compilat si rezultatul este depus in fisierul U1.TPU Daca pentru un unit sint prezente atit fisierul cu extensia .PAS cit si fisierul cu extensia .TPU, dar data de creare a fisierului cu extensia .PAS este mai recenta decit data de creare a fisierului cu extensia .TPU, adica daca dupa generarea fisierului .TPU a mai fost actualizat fisierul sursa .PAS, unit-ul respectiv va fi recompilat si astfel va fi regenerat si fisierul .TPU.

Build compileaza fisierul primar si toate unit-urile utilizate de acesta. Recompilarea unit-urilor nu este conditionata de data de creare a acestora. Aceata comanda este similara cu comanda Make cu deosebirea ca compilarea este independenta de data de creare. La comanda Make, recompilarile se refera doar la acele unit-uri, care nu mai sint actuale.

Target permite selectarea platformei de destinatie, adica aplicatie in mod Real, in mod Protejat sau de tip Windows.

Primary file permite specificarea fisierului primar, adica a fisierului care va fi compilat cu comanda Make sau Build, indiferent de continutul ferestrei actuale de editare.

Clear primary file sterge fisierul primar care a fost actual in momentul actual.

Information afiseaza informatii despre fisierul compilat, adica numarul liniilor compilate, dimensiunea codului generat, dimensiunea segmentului de date si de stiva, a heap-ului minim si maxim si despre memorie.


Meniul Debug


Comenzile meniului Debug (depanare) permit crearea si stergerea unor puncte de intrerupere, evaluarea si modificarea valorilor unor expresii numite expresii de "urmarire".

Breakpoints afiseaza o fereastra care permite vizualizarea punctelor de intrerupere instalate precum si modul lor de utilizare.


Breakpoints list                         Line # Condition Pas

PRG3D.PAS     25

0

PRG3D.PAS     30

0

Clear all

 

View

 

Delete

 

Edit

 

Help

 

OK

 


Aceasta fereastra contine o lista cu urmatoarele informatii : pentru fiecare punct de intrerupere apare numele programului sursa, numarul liniei sursa, conditia care trebuie sa fie indeplinita pentru ca sa aibe loc oprirea la punctul respectiv precum si un contor de trecere. Valorile posibile sint in intervalul :

Acest contor precizeaza numarul trecerilor care inca nu declanseaza oprirea programului la instructiunea respectiva. La fiecare trecere este testat un contor interior care a fost initializat cu valoarea contorului de trecere. Daca valoarea este mai mare decit zero, contorul este decrementat cu unu si programul functioneaza mai departe. Daca valoarea contorului, este zero, programul se opreste. In coloana care precizeaza conditia, se introduce o conditie, iar cind aceasta este adevarata, programul se opreste. Fereastra de dialog "BreakPoints" este prevazuta cu cu butoanele standard "Ok" si "Help", dar si cu butoanele de comenzi "Edit, Delete, View si Clear All".

Edit deschide o noua fereastra de dialog cu titlul "Edit Breakpoint" ca mai jos.


Modify

 
Condition


New

 

Cancel

 
Pass count

Help

 

File name

Line number

Aceasta fereastra, permite editarea punctelor de intrerupere existente. In aceasta fereastra se pot modifica :

conditia care cauzeaza declansarea intreruperii, cu lista de istoric

contorul de trecere, atasat intreruperii

numele fisierului la care se refera intreruperea

numarul liniei sursa a intreruperii

Modificarile efectuate sint validate prin butonul de comanda Modify. Pentru definirea unui nou punct de intrerupere, care poate fi in cadrul aceluiasi program se apasa butonul New. Celelalte comenzi ale ferestrei "Breakpoints", sint :

Delete care sterge punctul actual de intrerupere, din lista punctelor de intrerupere.

View care cauta in textul sursa, punctul actual de intrerupere si pozitioneaza cursorul, in dreptul liniei respective.

Clear all care sterge toate punctele de intreruperi din lista.

Call stack (Ctrl + F3) afiseaza o fereastra care vizualizeaza o stiva cu istoricul apelurilor subprogramelor. Sint afisate numele subprogramelor si parametrii actuali corespunzatori prin utilizarea carora s-a ajuns la pozitia actuala din program. Inchiderea ferestrei se poate face cu mouse-ul sau cu comanda Alt + F3.

Register afiseaza o fereastra in coltul din dreapta sus al ecranului, ce nu poate fi redimensionata dar poate fi mutata, cu numele CPU si care prezinta continutul registrilor microprocesorului. Fereastra se foloseste la depanarea secventelor de program scrise in limbajul de asamblare.

Watch afiseaza fereastra cu titlul "Watches", in interiorul careia sint afisate valorile actuale ale variabilelor si expresiilor supravegheate. Pentru a vedea valoarea unei variabile, dupa ce programul este oprit prin terminare sau punct de intrerupere, se apasa tasta "Insert" si apoi se scrie numele variabilei si se apasa "Enter".

Output activeaza o fereastra care afiseaza textul din linia de comanda DOS si textul generat de programul care se executa. Pot fi vizualizate doar informatiile in mod text, iar cele in mod grafic nu. Fereastra este utlizata pentru ca pot fi urmarite simultan, atit programul sursa, cit si rezultatele care se afiseaza.

User screen (Alt + F5) afiseaza un ecran intreg cu toate informatiile trimise de programul actual, indiferent daca informatiile sint in mod text sau in mod grafic. Fereastra este statica si nu poate fi redimensionata sau mutata.

Evaluate/modify (Ctrl + F4) permite evaluarea si vizualizarea valorii unor variabile si expresii, precum si modificarea valorii unei variabile. In cimpul cu inscriptia "Expression" se poate introduce orice variabila sau expresie, pentru care se doreste evaluarea valorii actuale. In momentul lansarii comenzii, este introdus automat simbolul de la pozitia cursorului.

Dupa ce se introduce expresia in cimpul "Expression", se actioneaza butonul de comanda "Evaluate". In acest moment, valoarea expresiei este afisata in cimpul cu inscriptia "Result". Valoarea afisata poate fi modificata la o alta valoare.

Add watch (Ctrl + F7) permite definirea unei variabile sau expresii a carei valoare este supravegheata permanent. Se afiseaza o fereastra ca mai jos.


Watch expression


OK

 

Cancel

 

Help

 


In cimpul cu inscriptia "Watch expression" se introduce numele variabilei sau expresia care se urmareste. Comanda poat fi utiizata doar atunci cind in momentul compilarii este cuplata cheia "Debug information" din meniul "Options, comanda Compiler, grupa Debugging" sau directiva .

Add breakpoint permite introducerea punctelor de intrerupere noi si specificarea conditiilor de oprire. Se mentioneaza ca un program se poate opri cu comanda Ctrl + Break, care este o iesire obisnuita in cazul unui program care are un ciclu infinit.


Meniul Tools


Meniul Tools permite lansarea in executie a diferitelor programe externe din interiorul mediului de programare 7.0 . Numele programelor care pot fi lansate in executie au regim identic cu cel al comenzilor unui meniu. Pentru lansarea lor se activeaza comanda respectiva.

Messages afiseaza o fereastra cu acelasi nume, in partea inferioara a ecranului, care permiteafisarea mesajelor acelor programe care transmit mesajele catre mediul de programare prin intermediul unui filtru, de exemplu utilitarul "Grep" sau "Turbo Assembler".

Grep este un utilitar care permite cautarea diferitelor cuvinte in fisierele text. De exemplu, daca se doreste cautarea tuturor liniilor sursa care contin cuvintul "Write" in toate fisierele cu extensia ".Pas" din catalogul "C:BPExamples", atunci se activeaza comanda "Grep". Apare o fereastra in care se introduce cuvintul cautat si calea catalogului in care se cauta, separate de un spatiu.


WRITE C:BPEXAMPLES*.PAS
 
Enter program arguments


OK

 

Cancel

 

Help

 

OK

 

Chiar daca nu a fost activata anterior, apare dupa apasarea butonului "OK" apare fereastra "Messages", care afiseaza o lista a tuturor aparitiilor cuvintului cautat, impreuna cu numarul de linie din program in care a fost gasit.

Go to next (Alt + F8) asigura trecerea la urmatoarea linie a ferestrei de mesaje. Daca aceasta linie repereaza o linie dintr-un fisier text, atunci fisierul va fi deschis, daca nu a fost deschis in prealabil si cursorul este pozitionat la linia referita a fisierului.

Go to previous (Alt + F7) este analoaga comenzii precedente, cu deosebirea ca se trece la linia precedenta a ferestrei de mesaje.

In meniul "Tools" pot fi introduse si alte utilitare sau cele existente pot fi sterse. Ele pot fi realizate cu ajutorul comenzii "Tools" a meniului "Options".


Meniul Options


Comenzile meniului "Options" permit fixarea diferitelor optiuni referitoare la compilator, editor de legaturi, depanator, etc.

Compiler afiseaza o fereastra de dialog in care opt fi precizate optiunile care guverneaza tipul generarii de cod, tipul tratarii erorilor de executie, tipul optiunilor sintactice, tipul gestionarii numerelor reale, cantitatea informatiilor de depanare precum si definirea simbolurilor conditionate.


Real mode target
 
Compiler settings for

Code generation

[ ] Force far calls

[ ] 286 instructions

[ ] Overlays allowed

[ ] Smart callbacks

[X] Word align data

[ ] Windows stack frames

Runtime errors

Syntax options

[ ] Range checking


[X] Strict var-strings

[X] Stack checking

[ ] Complete boolean eval

[X] I/O checking

[X] Extended syntax

[ ] Overflow checking

[ ] Typed @ operator

Debugging

[ ] Open parameters

[X] Debug information

Numeric procesing

[X] Local symbols

[ ] 8087/80287

[X] Symbol information

[X] Emulation

Conditional defines

 

OK

 

Help

 

Cancel

 


Cimpul cu titlul "Compiler settings" apare numai la compilatorul "BP.EXE". In acest cimp se poate selecta natura aplicatiei pentru care se fac precizari de optiuni de compilare. Valorile posibile sint :

aplicatie in mod Real (Real mode target)

aplicatie in mod Protejat (Protected mode target)

aplicatie sub      Windows (Windows target)

aplicatii pentru toate cele trei platforme de destinatie (All target)

Grupa "Code generation" se refera la comutatorii care definesc modul de generare a codului.


[ ] Force far calls

Daca comutatorul nu este pozitionat, pentru salvarea adresei de retur din subprograme se foloseste modelul de apel apropiat (near, 2 octeti pentru deplasament). Cu comutatorul pozitionat se foloseste modelul de apel indepartat (far, pe 4 octeti, 2 octeti pentru deplasament si 2 octeti pentru adresa de segment). Este echivalent cu directiva de compilare sau .

[ ] Overlays allowed

Daca comutatorul nu este pozitionat, nu se va folosi modul de generare tip acoperire, adica un unit nu poate fi acoperit de un alt unit. Este echivalent cu directiva de compilare sau .

[ ] Word align data

Daca comutatorul este pozitionat, se va alege modul de aliniere tip cuvint, adica toate variabilele de lungime mai mare de un octet sint aliniate la adrese de cuvint (adrese pare). Daca este necesar, intre variabile sint inserati octeti neutilizati. Acest tip de aliniere majoreaza viteza de acces la variabile, cu pretul pierderii de spatiu de memorie. Cu comutatorul pozitionat se alege modul de aliniere tip octet, adica variabilele sint memorate la prima adresa libera, indiferent de dimensiunea lor. Este echivalent cu directiva de compilare sau .

[ ] 286 instructions

Daca comutatorul este pozitionat, codul generat contine instructiunile procesorului 80286, marind astfel viteza de executie. Acest cod insa nu se mai poate executa pe procesoarele 8088 sau 8086. Este echivalent cu directiva de compilare sau .

[ ] Smart callbacks xxx

[ ] Windows stack frames xxx


Grupa Runtime errors se refera la comutatori care guverneaza tipul tratarii erorilor de executie.


[ ] Range checking

Daca comutatorul este pozitionat, se testeaza, se testeaza apartenenta in domeniul permis de tipul de enumerare sau interval a diferitelor variabile, valabilitatea indicilor de tablou si de sir de caractere. In caz de eroare se afiseaza un mesaj si programul se opreste. Este echivalent cu directiva de compilare sau .

[ ] Stack checking

Daca comutatorul este pozitionat, la fiecare apel de subprogram se testeaza daca in stiva este loc suficient pentru memorarea variabilelor locale. Daca spatiul este insuficient, programul se opreste. Este echivalent cu directiva de compilare sau .


[ ] I / O checking

Daca comutatorul este pozitionat, la fiecare operatie de intrare / iesire se testeaza daca a aparut o eroare. In caz afirmativ, se afiseaza un mesaj de eroare si programul se opreste. Daca comutatorul nu este pozitionat, eroarea aparuta poate fi tratata in program cu functia IOResult. Este echivalent cu directiva de compilare sau .

[ ] Overflow checking

Daca comutatorul este pozitionat, se va testa depasirea rezultatelor operatiilor " asupra valorilor intregi, precum si a rezultatelor functiilor "Abs, Sqr, Succ si Pred". Rezultatele functiilor "Inc si Dec" nu sint verificate. Este recomandata activarea simultana cu comutatorul "Range checking". Este echivalent cu directiva de compilare sau .


Grupa Syntax options se refera la optiunile sintactice.


[ ] Strict var-strings

Daca comutatorul este pozitionat, la transmisia parametrilor variabili de tip sir de caractere, se compara lungimea parametrului formal. Daca lungimile sint diferite, se semnaleaza o eroare de executie si programul se opreste. Este echivalent cu directiva de compilare sau .

[ ] Complete boolean eval

Daca comutatorul este pozitionat, fiecare termen dintr-o expresie logica este evaluat. Daca comutatorul nu este pozitionat, se fac optimizari in codul generat. Este echivalent cu directiva de compilare sau .

[ ] Extended syntax

Daca comutatorul este pozitionat se permite ca functiile sa fie apelate ca si cum ar fi proceduri, iar rezultatul returnat de functie este neglijat. Sintaxa extinsa insa nu poate fi aplicata pentru functiile unit-ului System. Utilizarea functiilor ca si proceduri are sens, de exemplu cu subprogramele unit-ului Strings sau in context cu functia Readkey, cind nu prezinta interes codul tastei apasate. Este echivalent cu directiva de compilare sau .

[ ] Typed @ operator

Daca comutatorul este pozitionat, atunci se verifica tipul reperului generat de operatorul de adresare @. Daca comutatorul nu este pozitionat, atunci tipul operatorului @ va fi un reper fara tip de baza : pointer. Este echivalent cu directiva de compilare sau .

[ ] Open parameters

Daca comutatorul este pozitionat, atunci la un parametru formal de tip string poate sa lipseasca specificarea exacta a lungimii sirului de caractere, iar parametrul actual corespunzator poate sa fie de tip string de lungime arbitrara (parametru tip deschis).Este echivalent cu directiva de compilare sau .


Grupa Debugging se refera la cantitatea informatiilor de depanare pastrate.


[ ] Debug information

Daca comutatorul este pozitionat, se genereaza o tabela cu numarul liniilor sursa pentru fiecare instructiune din program. In aceasta tabela se face corespondenta intre adresa codului generat si numarul liniei sursa corespunzator. Astfel mediul permite executia pas cu pas, pina la locatia cursorului precum si definirea punctelor de intrerupere. Daca comutatorul nu este pozitionat, necesitatile de memorie descresc, dar mijloacele de depanare devin inaccesibile. Este echivalent cu directiva de compilare sau .

[ ] Local symbols

Daca comutatorul este pozitionat, se genereaza o tabela cu numele si tipul tuturor variabilelor si constantelor locale dintr-un modul. Astefel mediul va permite evaluarea si modificarea valorilor variabilelor locale, precum si istoricul apelurilor de subprograme. Functiile Linker / Map file si Debugger / Standalone ale meniului Options pot sa livreze informatii referitoare la variabilele locale numai pentru acele subprograme care au fost compilate cu comutatorul "Local symbols" pozitionat. Este echivalent cu directiva de compilare sau .

[ ] Symbol information

Comutatorul poate fi utilizat numai la compilatorul "BP.EXE". Daca comutatorul este pozitionat, compilatorul introduce in codul generat informatii de tip "browse". In acest caz se permite afisarea diferitelor ferestre de tip "browse" referitoare la obiecte, unit-uri, variabile globale si simboluri. Este echivalent cu directiva de compilare sau . Cind comutatorul "Symbol information" este cuplat, atit comutatorul cit si comutatorul trebuie sa fie cuplat.


Grupa Numeric procesing se refera la comutatori care guverneaza tipul gestionarii numerelor reale.


[ ] 8087 / 80287

Daca comutatorul este pozitionat, atunci se permite utilizarea tuturor tipurilor reale (real, single, double, extended, comp). Daca comutatorul nu este pozitionat, atunci se permite doar utilizarea tipului "real", celelalte tipuri reale sint interzise. Este echivalent cu directiva de compilare sau .

[ ] Emulation

Daca comutatorul este pozitionat, atunci se utilizeaza o biblioteca care emuleaza coprocesorul matematic 8087, daca acest coprocesor nu este prezent. Fisierul executabil poate fi utilizat de orice echipament, indiferent daca 8087 este sau nu prezent. Este echivalent cu directiva de compilare sau .


Memory sizes deschide o fereastra de dialog in care pot fi precizate necesitatile de memorie ale unui program.

Fereastra are forma de mai jos :


------- Real target -------


Stack size

16384

Low heap limit

0

High heap limit

655360

------- Protected target -------

Stack size

16384

------- Windows target -------

Stack size

8192

Local heap size

8192


Se observa ca se poate specifica dimensiunea stivei (Stack size) si specificarea dimensiunii minime (Low heap limit) si maxime (High heap limit) pentru zona heap. Este echivalent cu directiva de compilare sau . Valorile implicite sint : .

Linker afiseaza o fereastra care se refera la precizarea informatiilor necesare editorului de legaturi integrat. Fereastra are forma :


Map file

Link buffer

( . ) Off


( . ) Memory

( ) Segments

( ) Disk

( ) Public


( ) Detailed



Butoanele radio din grupa cu titlul "Map file" se refera la fisierul text de extensie ".MAP" care este un fisier harta de memorie creat de editorul din mediul de programare. Acest fisier contine informatii necesare depanarii programului si el este depus pe disc, in catalogul specificat de cimpul "Object directories" din meniul "Options" comanda "Directories".

( . ) Off - nu se creeaza fisierul " *.MAP"

( ) Segments - fisierul " *.MAP" va contine doar informatiile referitoare la segmente : nume, dimensiune, adresa de inceput si de sfirsit, clasa.

( ) Public - fisierul " *.MAP" va contine si tabela care contine numarul liniilor sursa si numele modulelor, precum si adresa in segmentul de cod a instructiunilor corespunzatoare liniilor. La aceste module, la care in momentul compilarii, comutatorul local "Local symbols" este cuplat (meniul Options, comanda Compiler), in fisierul " *.MAP" se vor depune informatii si despre simbolurile locale. Butoanele radio din grupa cu titlul "Link buffer" stabilesc locul tamponului editorului de legaturi.

( . ) Memory - Tamponul este rezervat in memorie

( ) Disk - Tamponul este rezervat pe disk.


Debugger deschide o fereastra de dialog in care pot fi precizate optiunile referitoare la depanator si modul de utilizare a ecranului.


Symbols

[X] Integrated debugging / browsing

[ ] Standalone debugging

Display swapping

( ) None

( . ) Smart

( ) Always


[X] Integrated debugging / browsing

Daca este cuplat, in codul generat vor fi incluse informatii, care permit executia programului in regim de depanare cu ajutorul depanatorului integrat.

[ ] Standalone debugging

Daca este cuplat, in codul generat vor fi incluse informatii, care permit depanarea cu ajutorul utilitarului "Turbo Debugger".

Butoanele radio din grupa cu titlul "Display swapping" determina modul de schimbare si utilizare a ecranului.

( ) None - Daca un program este executat din mediul integrat, programul va suprascrie ecranul mediului, adica nu are loc o schimbare de ecran. Ecranul mediului poate fi restabilit cu comanda "Refresh display" a mediului "Window".

( . ) Smart - In momentul scrierii pe ecran de catre programul executat, ecranul mediului este schimbat pentru o scurta perioada necesara scrierii pe ecranul utilizatorului, dupa care se face revenirea la starea anterioara pornirii programului.

( ) Always - Dupa fiecare instructiune are loc o schimbare de ecran.


Directories afiseaza o fereastra de dialog in care pot fi precizate diferite directoare care contin anumite fisiere necesare mediului de programare.


EXE & TPU directory



Include directories



Unit directoriess



Object directories



Resource directories




EXE & TPU directory - este catalogul care contine fisierele ".EXE, .TPU, .MAP". Daca nu se introduce nimic in cimpul aferent, aceste fisiere sint depuse in catalogul fisierului sursa.

Include directories - se refera la directoarele care contin fisierele de includere ale utilizatorului. In programul sursa, aceste fisiere sint referentiate cu directiva . In cazul directoarelor multiple, acestea sint separate cu ";".

Unit directories - se refera la directoarele care contin fisierele unit-urilor standard sau unit-urilor utilizator.

Object directories - se refera la directoarele care contin fisierele obiect ".OBJ" ale utilizatorului adica codul obiect al subprogramelor scrise in limbaj de asamblare cu extensia ".ASM". In programul sursa, aceste fisiere sint referentiate cu directiva .


Browser poate fi utilizata numai in cazul compilatorului "BP.EXE".


Symbols

[X] Labels

[X] Variables

[X] Constants

[X] Procedures

[X] Types

[ ] Inherited

Sub-browsing

Prefered pane

( . ) New browser

( . ) Scope

( ) Replace curent

( ) Reference

Display

[X] Qualified symbols

[ ] Sort always


Grupa cu titlul "Symbols" defineste natura simbolurilor pentru care se doreste aplicarea serviciilor "browse", adica simbolurile care pot apare in ferestrele de tip "browse". Exista sase categorii de simboluri utilizabile : etichete (Labels), constante (Constants), tipuri (Types), variabile (Variables), proceduri (Procedures) si simboluri mostenite (Inherited).

Grupa cu titlul "Sub-browsing" contine urmatoarele butoane radio :

( . ) New browser - adica daca din fereastra actuala de tip "browse" se trece la afisarea informatiilor mai amanuntite sau se schimba tipul listei, noile informatii sint afisate intr-o noua fereastra de tip "browse".

( . ) Replace curent - adica noile informatii vor inlocui informatiile din fereastra actuala.

Grupa cu titlul "Prefered pane" contine urmatoarele butoane radio :

( . ) Scope - daca pentru o categorie de simboluri este posibila afisarea mai multor tipuri de ferestre "browse",atunci tipul implicit de fereastra, care se afiseaza prima data este de tip S (Scope) adica domeniu.

( . ) Reference - tipul ferestrei este R adica referinta.

Grupa cu titlul "Display" stabileste modul de afisare a informatiilor. Exista urmatorii comutatori :

[X] Qualified symbols - daca comutatorul este pozitionat, se afiseaza si originea simbolului. De exemplu, metoda "rotate" a obiectului "TObject1" va fi afisata in lista de tip S (Scope) sub forma calificata "Tobject1.rotate", dar daca comutatorul nu este pozitionat, se afiseaza doar "rotate".

[ ] Sort always - daca comutatorul este pozitionat, elementele listei "browse" sint afisate in ordine alfabetica, iar daca nu este pozitionat ele sint afisate in ordinea declaratiilor.


Tools - permite introducerea utilitarelor noi in meniul "Tools" sau stergerea ori modificarea celor vechi. Meniul poate sa contina cel mult zece programe. Utilitarele actuale sint afisate intr-o lista cu inscripatia "Program titles" intr-o fereastra de dialog cu urmatoarea forma :


Grep


Turbo Assembler


Turbo Debugger


Turbo Profiler




Parametrii utilitarului actual al listei se modifica prin actionarea butonului de comanda "Edit". In urma apelarii se afiseaza urmatoarea fereastra :


Titles

Hot keys

~G~rep

( ) Unassigned


( . ) Shift + F1

Program path

( ) Shift + F2

GREP

( ) Shift + F3


( ) Shift + F4

Command line

( ) Shift + F5

- n + $MEM(64) $NOSWAP

( ) Shift + F6


( ) Shift + F7


( ) Shift + F8


( ) Shift + F9


( ) Shift + F10



Daca se doreste includerea unui utilitar nou in lista de comenzi a meniului "Tools" atunci se va actiona butonul de comanda "New", care va afisa fereastra de mai sus. Comanda "Delete" permite stergerea elementului actual din lista de utilitare apelabile. Cimpul "Title" stabileste sau modifica titlul comenzii care este afisat in meniul "Tools". Caracterul evidentiat al comenzii trebuie incadrat intre doua caractere "~" (Tilda). Cimpul "Program path" defineste numele fisierului, care poate fi precedat de unitatea de disc si de cale, in conformitate cu conventiile folosite in sistemul MS-DOS. Cimpul Command line" permite stabilirea parametrilor utilizati in linia de comanda, daca este cazul. Grupa de butoane radio cu titlul "Hot keys" permite asocierea fiecarui utilitar la cite o combinatie functionala din domeniul "Shift + F2, ., Shift + F10".Daca se alege varianta "Unassigned", atunci utilitarului nu I se asociaza nici o combinatie de taste.

Environment este o comanda care afiseaza o lista de subcomenzi.

Preferences

Editor

Mouse

Startup

Colors

Subcomanda "Preferences" permite stabilirea diferitelor preferinte legate de utilizarea mediului de programare.


Screen size

Source tracking

( . ) 25 lines

( . ) New window

( ) 43/50 lines

( ) Current window

Desktop file options

Desktop file

( ) Desktop only

( ) Current directory

( . ) Desktop and symbols

( . ) Config file directory

Auto save

Options

[ ] Editor files

[ ] Auto track source

[ ] Environment

[X] Close on go to source

[ ] Desktop

[ ] Change dir on open


Butoanele radio din grupa "Screen sizes" stabilesc dimensiunea ecranului. Se poate alege una din variantele : 25 linii pe ecran sau 43/50 linii pe ecran (43 la EGA si 50 la VGA).

Butoanele radio din grupa "Source tracking" stabilesc modul de deschidere al fisierelor care se editeaza in mediu. Daca se alege varianta "New window", atunci fisierul deschis pentru editare este plasat intr-o fereastra noua de editare. Daca se alege varianta "Current window", noul fisier este plasat in fereastra actuala de editare.

Butoanele radio din grupa "Desktop" stabilesc directorul in care este salvat fisierul desktop "TURBO.DSK" sau fisierul "BP.DSK". Fisierul " *.DSK" contine informatii referitoare la zona de lucru a mediului : listele cu istoricul, locatiile punctelor de intrerupere, starea zonei de lucru. Daca se alege varianta "Current directory" , atunci fisierul " .DSK" va fi salvat in directorul curent. Daca se alege varianta "Config file directory", atunci fisierul " *.DSK" va fi salvat in directorul in care este salvat si fisierul de configurare "TURBO.TP" sau "BP.TP". Fisierul de configurare " *.TP" contine optiunile actuale de compilare si tabela cu comenzile editorului.

Butoanele radio din grupa "Desktop file" sint utilizabile numai la compilatorul "BP". Ele permit selectarea urmatoarelor optiuni ale fisierului " *.DSK" : daca se alege varianta "Desktop and symbols", atunci fisierul desktop va contine si informatiile referitoare la simbolurile utilizate in program, iar daca se alege varianta "Desktop only", informatiile referitoare la simboluri, nu sint memorate in fisierul desktop.

Grupa cu titlul "Auto save" contine trei comutatori :

[ ] Editor files

Daca este cuplat, fisierele din ferestrele de editare inca nesalvate, sint salvate automat in momentul parasirii definitive sau temporare a mediului, la lansarea in executie a programului curent sau la declansarea unei actiuni de depanare.

[ ] Environment

Daca este cuplat, in momentele mai sus mentionate, optiunile actuale ale mediului, adica optiunile de compilare si tabela cu comenzile editorului, sint salvate automat in fisierul de configurare " *.TP".

[ ] Desktop

Daca este cuplat, in momentele mentionate la primul comutator, vor fi salvate automat informatiile referitoare la listele cu istoricul, locatiile punctelor de intrerupere si starea zonei de lucru, in fisierul desktop " *.DSK". Comutatorul poate fi cuplat doar atunci, cind este cuplat si comutatorul Environment.

Grupa cu titlul "Options" contine trei comutatori :

[ ] Auto track source

In stare cuplata regleaza modul de utilizare al comenzii "Track source" prezenta in meniurile locale "Browse" si "Messages". Linia referentiata de elementul actual al ferestrei "Browse" sau "Messages" va fi selectata automat, este afisata cu o culoare distincta, deci nu este necesara actionarea "barei de spatiu".

[X] Close on go to source

In stare cuplata regleaza modul de utilizare al comenzii "Goto source" prezenta in meniurile locale "Browse" si "Messages". Cind se trece la linia sursa a fisierului desemnat de elementul actual al ferestrei "Browse" sau Messages", fereastra "Browse" sau "Messages" va ramine deschisa.

[ ] Change dir on open

Daca este cuplat, directorul fisierului deschis cu comanda "Open" din meniul "Open" va fi in continuare directorul actual iar daca comutatorul nu este cuplat, atunci nu se va schimba directorul actual.

Subcomanda "Editor" permite parametrizarea editorului incorporat. Ea afiseaza urmatoarea fereastra de dialog :


Editor options

[X] Create backup files

[X] Group Undo

[X] Insert mode

[X] Persistent blocks

[X] Auto indent mode

[ ] Overwrite blocks

[ ] Use tab characters

[X] Syntax highlight

[ ] Optimal fill

[ ] Block insert cursor

[X] Backspace unindents

[X] Find text at cursor

[ ] Cursor through tabs


Tab size

8


Highlight extensions

*.PAS; *.INC



[X] Create backup files

In stare cuplata, la comanda "Save" din meniul "File", mediul va salva automat fisierul sursa original, cu extensia ".BAK", iar daca nu este cuplat, fisierul sursa original nu este salvat.

[X] Insert mode (Ins, Ctrl + V)

In stare cuplata editorul lucreaza in modul inserare, iar forma cursorului este o liniuta, iar daca nu este cuplat, forma cursorului este un dreptunghi.

[X] Autoindent mode (Ctrl + O, I)

In stare cuplata, prin actionarea tastei "Enter", cursorul va fi pozitionat in coloana primului caracter diferit de spatiu din linia precedenta si care nu este o linie numaicu blancuri. Acest lucru contribuie la claritatea programului.

[ ] Use tab characters (Ctrl + O, T)

In stare cuplata editorul insereaza efectiv un caracter "Tab" (Cod ASCII 9) in momentul in care se tasteaza "Tab". In stare decuplata, caracterul "Tab" este inlocuit cu spatii. Numarul spatiilor inserate este definit de cimpul "Tab size".

[ ] Optimal fill (Ctrl + O, F)

In stare cuplata editorul va incerca sa foloseasca un numar minim de caractere la inceputul fiecarei linii, cind "Auto indent mode" este in stare cuplata.

[X] Backspace unindents (Ctrl + O, U)

In stare cuplata, daca cursorul este pe o linie cu spatii sau pe primul caracter diferit de spatiu dintr-o linie, la actionarea tastei "Backspace" toata linia se va alinia astfel incit sa inceapa in aceiasi coloana cu cea precedenta.

[ ] Cursor through tabs (Ctrl + O, R)

In stare cuplata cursorul se misca uniform cind se ajunge la un caracter "Tab", adica caracterul "Tab" este ignorat, altfel cursorul se deplaseaza inainte cu un numar de coloane care este specificat in cimpul "Tab size"

[X] Group Undo

In stare cuplata comanda "Undo" din meniul "Edit" va anula ultimele 10 actiuni, intr-un singur pas. Pot fi grupate urmatoarele actiuni : inserare, stergere si suprascriere de text si actiunile de deplasare a cursorului. Daca este decuplat, comanda "Undo" va restabili doar o singura actiune.

[X] Persistent blocks

In stare cuplata marcarea (supraluminarea) de bloc va ramine valabila si atunci, cind se paraseste domeniul blocului respectiv. In caz contrar, in momentul parasirii blocului, marcarea blocului se termina.

[ ] Overwrite blocks

In stare cuplata si daca si comutatorul "Persistent blocks" este activ, blocul marcat poate fi suprascris. In caz contrar, la prima modificare in interiorul blocului, marcarea este anulata.

[X] Syntax highlight

In stare cuplata diferitele constructii ale limbajului Turbo Pascal, sint colorate diferit.

[ ] Block insert cursor

In stare stare decuplata cursorul corespunzator modului de inserare este o liniuta, iar al modului de suprascriere este un dreptunghi. In stare cuplata este invers.

[X] Fint text at cursor

In stare cuplata, procesul de cautare este pornit de la pozitia actuala a cursorului, in caz contrar se porneste de la inceputul fisierului.

Cimpul cu inscriptia "Tab size" permite definirea numarului de spatii introduse cind este actionata tasta "Tab". Valorile permise sint inre 2 si 16, iar valoarea implicita este 8.

Cimpul cu inscriptia "Highlight extension" permite selectarea acelor extensii de fisiere, pentru care vor fi aplicate serviciile de colorare distincta a diferitelor portiuni din fisierul sursa, validate de comutatorul "Syntax highlight". Colorarile distincte vor fi aplicate implicit fisierelor cu extensia ".PAS; .INC".

Subcomanda "Mouse" afiseaza o fereastra de dialog care este destinata gestionarii activitatii cu mouse-ul. Ea are forma urmatoare :


Ctrl + Right mouse button

Mouse double click

( ) Nothing

Fast Medium Slow

( . ) Topic search


( ) Go to cursor


( ) Breakpoint


( ) Evaluate

[ ] Reverse mouse button

( ) Add watch


( ) Browse symbol



Grupa butoanelor "Ctrl + Right mouse button" ataseaza o comanda la actionarea butonului din dreapta al mouse-ului. Pot fi selectate urmatoarele variante :

( ) Nothing - butonul din dreapta este inactiv.

( . ) Topic search - comanda "Topic search" (Ctrl + F1) din meniul "Help".

( ) Go to cursor - comanda "Go to cursor" (F4) din meniul "Run"

( ) Breakpoint - comanda "Add breakpoint (Ctrl + F8) din meniul "Debug".

( ) Evaluate - comanda "Evaluate/Modify (Ctrl + F4) din meniul "Debug"

( ) Add watch - comanda "Add watch" (Ctrl + F7) din meniul "Debug".

( ) Browse symbol - comanda "Symbol" din meniul "Search", numai in mod protejat.

Timpul dintre doua apasari consecutive a butonului de mouse, pentru ca actiunea sa fie interpretata ca si cum ar fi o apasare dubla, poate fi stabilita in cimpul cu titlul "Mouse double click". Viteza creste de la dreapta spre stinga.

Comutatorul "Reverse mouse buttons" se pozitioneaza atunci cind se doreste schimbarea rolului butonului din dreapta cu cel din stinga.

Subcomanda Startup afiseaza o fereastra de dialog in care pot fi precizati comutatorii care definesc modul de lansare al mediului de programare integrat.




[ ] Dual monitor support


[ ] Graphics screen save

[ ] EGA / VGA palette save

[X] CGA Snow checking

[ ] LCD color set

[X] Load .TPL file

[X] Preserve symbols

[X] Return to last dir

Swap file size


Swap file directory

0

K




[ ] Dual monitor support

Acest comutator se cupleaza numai daca computerul utilizeaza doua placi video care pot functiona in paralel. In acest caz, in urma cuplarii optiunii, pe monitorul central se afiseaza mediul de programare, iar pe celalalt se afiseaza datele de iesire ale programului.

[ ] Graphics screen save

In stare cuplata, in modul de depanare, salveaza intreaga memorie grafica. Mediul rezerva o memorie tampon de 8Ko, in momoria EMS, daca aceasta categorie de memorie este accesibila, la sistemele pe EGA, VGA sau MCGA.

[ ] EGA / VGA palette save

In stare cuplata, in caz de depanare, salveaza sau restabileste paleta EGA / VGA. Daca programul nu modifica registrii de paleta, nu este necesara cuplarea acestui comutator.

[X] CGA snow checking

In stare cuplata determina testarea si anularea fenomenului deranjant de "ninsoare" a placilor CGA.

[ ] LCD color set

In stare pozitionata permite utilizarea mediului de programare si pe ecranele calculatoarelor laptop.

[X] Load .TPL file

In stare cuplata, in momentul incarcarii mediului, incarca si fisierul "BP.TPL" care contine unit-urile standard (System, Crt, Dos, Overlay, Printer, Strings).

[X] Preserve symbols

In stare cuplata "reaminteste" informatiile referitoare la simbolurile utilizate in ferestrele de tip "browse". Daca in urma unei compilari s-au gasit erori, inca pot fi folosite informatiile din ultima compilare reusita.

[X] Return to last dir

Comutatorul determina conservarea directorului curent. Daca optiunea este cuplata, la repornirea calculatorului, directorul curent va fi automat cel care a fost folosit in momentul ultimei iesiri din mediul de programare.

"Swap file size" defineste dimensiunea zonei de memorie care este rezervata pentru memorarea temporara a fisierului in curs de editare sau a zonei de lucru a editorului.

"Swap file directory" permite specificarea directorului in care este memorat fisierul de manevra al editorului. Numele acestui fisier incepe cu TP si are extensia $$$. Acest fisier este temporar, iar in momentul iesirii din mediu este sters automat.

Subcomanda "Colors" afiseaza o fereastra de dialog care permite modificarea culorii diferitelor componente ale mediului.


Group


Item

Foreground

Browser


Frame passive







Call stack

Frame active






Compiler

Frame icons






Desktop

Scroll bar page






Dialogs

Scroll bar icons

Background

Editor

Normal text






Help

Focused text






Menus

Unexpanded mode


Messages

Selected text


Output



Register



Syntax


Text

Text

Text

Watches


Text

Text

Text

Fereastra care se recoloreaza se selecteaza din coloana "Group". Componenta de fereastra se alege din coloana "Item". Culoarea caracterelor se alege din grupa culorilor "Foreground" iar culoarea fondului se alege din grupa culorilor "Background".

Open - afiseaza o fereastra de dialog prin care se poate preciza numele unui fisier de configurare, salvat anterior cu comanda "Save" sau "Save as". Dupa precizarea numelui care de obicei este "C:BPBINBP.TP", fisierul de configurare, in urma apasarii butonului"OK", este incarcat.

Save - salveaza optiunile actuale de compilare si tabela de comanda a editorului, in fisierul actual de configurare, care de obicei este "C:BPBINBP.TP". Optiunile referitoare la zona de lucru "Desktop" - liste cu istoricul,starea zonei de lucru, locatiile punctelor de intrerupere sint memorate in fisierul "BP.DSK".

Save as - afiseaza o fereastra de dialog care permite introducerea numelui de configurare "*.TP". In acest fisier, prin actionarea butonului de comanda "OK", vor fi salvate optiunile actuale de compilare si tabela de comanda a editorului. Fisierul salvat, poate fi incarcat ulterior cu comanda "Open".


Meniul Window


Comenzile meniului "Window" permit deschiderea, aranjarea si listarea diferitelor ferestre.

Tile - aseaza diferitele ferestre deschise, una sub alta, astfel ca toate ferestrele sint simultan vizibile. Daca numarul de ferestre deschise simultan este prea mare se emite semnalul de eroare "Tile / Cascade area too small to complete reguest".

Cascade - permite aseazarea ferestrelor deschise sub forma de gramada. Prima fereastra ocupa intreaga zona de lucru, celelalte sint micsorate, fereastra activa este deasupra gramezii.

Close all - sterge zona de lucru, adica inchide toate ferestrele deschise la un moment dat. Daca exista ferestre in care fisierul modificat nu a fost salvat, atunci se emit mesaje de avertisment.

Refresh display - restabileste ecranul mediului. Aceasta comanda se foloseste atunci cind ecranul mediului este suprascris de un program lansat in executie.

Size / Move(Ctrl + F5) - permite redimensionarea si deplasarea ferestrei actuale. Redimensionarea ferestrei se realizeaza prin actionarea simultana a tastelor "Shift" si una din tastele cu sageti. Cind se ajunge la dimensiunea dorita, se tasteaza "Enter". Deplasarea poate fi realizata cu ajutorul tastelor cu sageti.Dupa ce fereastra a ajuns la locul dorit, se tasteaza "Enter".

Zoom(F5) - permite redimensionarea ferestrei active la dimensiunea maxima.Daca fereastra are deja aceasta dimensiune, comanda restabileste dimensiunea la cea originala, adica comanda functioneaza ca un comutator.

Next(F6) - activeaza urmatoarea fereastra din ferestrele deschise la un moment dat.

Previous(Shift + F6) - activeaza fereastra precedenta, din ferestrele deschise la un moment dat.

Close(Alt + F3) - inchide fereastra actuala. Daca fisierul din fereastra actuala a suferit modificari si inca nu a fost salvat, atunci mediul emite un mesaj de avertisment.

List(Alt + 0(zero) - deschide o fereastra de dialog care listeaza toate ferestrele deschise in momentul respectiv.


Meniul Help


Comenzile meniului "Help" asigura accesul la diferitele componente ale documentatiei in limba engleza, care insoteste mediul de programare.



Powered by http://www.preferatele.com/

cel mai tare site cu referate







Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright

stiinta

Informatica



Access
Autocad
Baze de date
C
Calculatoare
Catia
Excel
Foxpro
Grafica design
Html
Internet
Java
Linux
Mathcad
Matlab
Oracle
Outlook
Photoshop
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

Documente online pe aceeasi tema


3D Max - interfata 3D Studio max
Formalizarea documentelor de intrare
Limbajul de programare pascal
Mod de incarcare/ exploatare a fisierelor kmz in Google Earth
Cerinte finalizare activitate laborator ML
Interfata norton commander (nc)
Metode si tehnici de reprezentare legate de logica
Elemente fundamentale ale limbajului JavaScript
Functiile de transfer ale sistemelor continue si cu esantionare
De la Sistemele de Rezervare Aeriene la GDS: dezvoltarea Sistemului Global de Distributie



Ramai informat
Informatia de care ai nevoie
Acces nelimitat la mii de documente, referate, lucrari. Online e mai simplu.

Contribuie si tu!
Adauga online proiectul sau referatul tau.