You are on page 1of 23

CURS

Sumar

Componente
funcionale ale
sistemului
Visual FoxPro

Mediul de dezvoltare FoxPro


Modurile de lucru n Visual FoxPro
Dezvoltarea unei aplicaii
Tipuri de aplicaii
Lucrare aplicativ propus spre rezolvare

1. Mediul de dezvoltare FoxPro


Sistemul de gestiune a bazelor de date este componenta unui sistem de baze de
date, care are rolul de a permite descrierea i manipularea datelor conform unui model
de date. La acest moment, n lume, cea mai mare parte a SGBD-urilor utilizate sunt
bazate pe modelul relaional.
Visual FoxPro este un SGBD complet relaional, cu limbaj propriu, care
suport un nucleu extins din limbajul relaional SQL (Structured Query Language).
Mai jos sunt prezentate versiuni ale lui FoxPro Visual de-a lungul timpului ]
n dezvoltarea sa, i adaptarea la cerinele momentului.

1.1 Versiuni FoxPro Visual

Curs 2 SGBD

Mircea Musan

Curs 2 SGBD

Mircea Musan

Mai sunt i alte versiuni ultim aprute, <<Visual FoxPro 9.0>>, aceasta
nefcnd parte dintr-un pachet de aplicaii, fiind de sine stttoare.
Varianta Visual de FoxPro (VFP) studiat n acest curs este versiunea 6.0
lansat n 1998 n cadrul pachetului de programe Visual Studio 6.0. VFP este un
sistem rapid, modularizat, flexibil, care nu necesit resurse de calcul foarte mari,
mbin programarea procedural (prin limbaj propriu) cu cea descriptiv, pe obiecte
(programare vizual).
Utilizatorii neinformaticieni au la dispoziie o gam larg de generatoare
pentru ecrane, meniuri, rapoarte etc. Utilizatorii de specialitate (informaticieni) pot
dezvolta programe n limbaj propriu i n SQL, aplicaii (prin componentele
DESIGNER i APPLICATION). Administratorul bazei de date are la dispoziie
instrumente oferite de VFP pentru asigurarea securitii i integritii datelor, pentru
refacerea bazei de date etc.

1.2 Arhitectura VFP 6.0


Arhitectura SGBD VFP6.0 (fig. 1) corespunde unui model complet relaional,
componentele sale fiind structurate pe trei niveluri: nucleul (kernel), interfeele
(interfaces) i instrumentele (toolkit).
1. Nucleul este componenta central a sistemului. Din nucleu fac parte:
limbajul FoxPro care este propriu sistemului, este de tip procedural. El
coine comenzi att pentru descrierea datelor (LDD) ct i pentru manipularea datelor
(LMD). Tot aici sunt incluse comenzile pentru programarea vizual din tehnologia
orientat spre obiecte.
nucleul extins SQL este un subset din standardul SQL. Acesta este un
limbaj relaional descriptiv, care conine att comenzi pentru descrierea datelor (LDD)
ct i pentru manipularea datelor (LMD).
2. Interfeele sunt produse VFP pentru dezvoltarea aplicaiilor cu baze de
date relaionale. Ele au urmtoarele componente:
DESIGNER permite crearea de diferite obiecte VFP: tabele (TABLE),
cereri de regsire (QUERY), videoformate (FORM), rapoarte (REPORT), etichete
(LABEL), meniuri (MENU). Un produs DESIGNER se apeleaz printr-o comand

Curs 2 SGBD

Mircea Musan

CRETE/MODIFY aferent obiectului respectiv. Comanda poate fi generat de sistem


sau scris de utilizator.
BUILDER permite adgarea rapid a unor noi elemente la obiectele tip
VFP create deja cu produsul DESIGNER.
WIZARD permite realizarea complet i rapid a obiectelor de tip VFP.
Utilizarea modulului WIZARD presupune asistarea utilizatorului de ctre sistem n
proiectarea obiectelor. Generarea lor se face automat, pe baza opiunilor exprimate de
utilizator, sub form de rspuns la diferite ntrebri. Acest modul face parte din
categoria instrumentelor de proiectare asistat de calculator.
EXPORT/IMPORT permite schimbul de date ntre VFP i alte sisteme.
Generatoare specializate pentru realizarea proiectelor (PROJECT), a
aplicaiilor (APP), a documentaiei (DOC).
API (Application Programmers Interface) permite apelarea din aplicaia
VFP a unor rutine scrise n limbajul C sau limbaj de asamblare.
3. Instrumentele sunt produse VFP pentru ntreinerea i exploatarea bazei
de date:
EDITOR de texte permite ncrcarea i editarea programelor surs
(fiiere .PRG), precum i a fiierelor ASCII. Apelarea editorului se poate face prin
comanda dat n fereatra Command:
MODIFY COMMAND <nume_fiier>

Curs 2 SGBD

Mircea Musan

UTILITARE de ntreinere permit gestiunea fiierelor, setarea unor


parametri de lucru, activiti desfurate de administratorul bazei de date.
DEBUG permite depanarea interactiv a programelor scrise n FoxPro.
HELP/DEMO permite instruirea interactiv a utilizatorilor.
INTERNET permite utilizarea unor sevicii de Internet (mail, transfer de
fiiere etc.).

2. Modurile de lucru n VFP


Dup intrarea n VFP utilizatorul poate lucra n dou moduri: cu meniul sistem i
prin comenzi. Ecranul principal VFP conine o fereastr de tip Microsoft cu
urmtoarele elemente (fig. 2):

Curs 2 SGBD

Mircea Musan

Fig. 2

1 bara de titlu pe care este scris Microsoft Visual FoxPro (n stnga)


i butoanele pentru minimizare/maximizare i nchidere fereastr (dreapta).
2 bara meniului sistem care conine un meniu orizontal cu opiunile de
lucru (modul de lucru meniu sistem):File, Edit, View, Format, Tools,
Program, Window, Help. La selectarea unei opiuni apare un submeniu
vertical, de unde se alege mai departe subopiunea dorit.
3 bara cu instrumente care conine butoane (icon-uri) dispuse
orizontal. Acestea pot fi active sau nu, n funcie de starea curent de lucru.
Prin aceste butoane se poate apela, sub o alt form, o suboperaiune din
meniul sistem.
4 fereastra de comand care conine un cursor i permite introducerea
unei comenzi VFP sau apelul unui program (modul de lucru prin comenzi).
5 aria de ieire este format din restul spaiului neocupat din fereastra
principal unde vor fi afiate rezultatele execuiei unei comenzi sau a unui
program VFP.

3.1 Modul de lucru meniu sistem


Este modul de lucru care permite apelarea tuturor instrumentelor i interfeelor
sistemului VFP. Soluia este adoptat de utilizatorii care prefer dezvoltarea
aplicaiilor cu ajutorul generatoarelor. Efortul depus este redus i nu se programeaz
n cod surs. Opiunile din meniul principal ca i cele din submeniuri pot fi apelate
prin mouse, sau cu o combinaie de taste. De exemplu apelarea meniului File se face
tastnd secvena ALT/F (litera subliniat din componena numelui meniului).
Funciile opiunilor din meniul principal al sistemului sunt:
- File apeleaz instrumente pentru ntreinerea fiierelor aferente
unei baze de date VFP (fig. 3):
New creaz un obiect nou. Apare o list din care putem selecta:
Project (creare proiect), Database (creare baz de date), Table
(creare tabel), Query (creare cerere), Connection (conexiune),
View (viziune local), Remote View (viziune la distan), Form

Curs 2 SGBD

Mircea Musan

(creare unui videoformat), Report (creare raport), Label (creare etichet), Program
(creare program surs), Class (creare clas de obiecte), Text file (creare fiier text
ASCII), Menu (creare meniu utilizator). n partea dreapt exist dou butoane, pentru
creare fiier nou (New) i pentru utilizarea asistentului (Wizard).
Open (deschide) apare o fereastr din care alegem tipul fiierului,
directorul i numele, cu opiunile New, Open, Cancel.
Close nchide fiierul deschis.
Save/Save As salvare, respectiv salvare cu redenumire.
Import/Export permite importul respectiv exportul de date cu
alte sisteme de gestiune a bazelor de date.
Print Preview vizualizare nainte de ieire la imprimant.
Print ieire la imprimant.
Send trimite prin e-mail.
Exit ieire din program.
Fig. 3

- Edit ofer faciliti de lucru obinuite ntr-o fereastr de editare de texte (fig. 4):
Undo/Redo renu la ultima modificare n text / repet ultima
aciune n text.
Cut/Copy/Paste tiere, memorare n memoria tampon, copiere la
o nou locaie n fiier a unui text.
Clear tergere text.
Select all selecteaz ntreg textul.
Find/Find again/Replace caut/caut n continuare a unui ir de
caractere/nlocuiete irul gsit cu un altul. Cutarea se poate face
cu activarea/dezactivarea opiunii de difereniere ntre litere
mari/litere mici.
Fig. 4

- View permite setarea unor parametri privind bara curent de instrumente de lucru.
- Format permite setarea unor parametri privind litele (Font), spaierea etc.
- Tools permite apelul interfeelor i instrumentelor VFP.
- Program permite lansarea sau oprirea unuia din paii ce se parcurg la execuia
unui program VFP (fig. 5).

Fig. 5

Curs 2 SGBD

Mircea Musan

Do lanseaz n execuie un program.


Cancel anuleaz execuia programului.
Resume reia execuia programului.
Suspend suspend execuia programului.
Compile compileaz programul.
Window permite setarea parametrilor ferestrei curente de lucru (inclusiv fereastra
de comand).
Help apeleaz instrumentele pentru autodocumentare.
Datele pot fi introduse n dou moduri, utiliznd fie tabele independente
(File/New/Table) care nu aparin unei baze de date, fie crend o baz de date
(File/New/Database), n care se pot introduce tabele existente sau se pot crea noi
tabele.
Relaiile ntre tabele se pot stabili n ambele cazuri. Exist trei tipuri de relaii
ntre datele unor tabele: 11, 1n, mn.
Deschiderea unui tabel individual, cu secvena File/Open/Table/nume_tabel nu
duce automat la afiarea coninutului acestuia n spaiul de lucru.
Pentru aceasta trebuie activat icon-ul

care corespunde opiunii Data Session, care

va afia ntr-o fereastr o serie de opiuni legate de tabel (fig. 6):


Properties pentru modificare/consultare structur tabel (nume,tip, poziie cmp).
Browse pentru afiare date/nume cmpuri.
Open pentru deschidere altor tabele.
Close nchidere fiier selectat.
Relation stabilirea relaiilor ntre tabele independente, deschise n sesiunea curent.

Fig. 6

Fig.7

Curs 2 SGBD

Mircea Musan

La alegerea opiunii Browse (rsfoire), fie din meniul View fie din fereastra Data
Session, va apare meniul Table n bara de meniuri cu urmtoarele subopiuni (fig. 7):
Go to Record regsirea unei nregistrri dup diferii parametri: numr nregistrare,
deplasare la nceputul/sfritul tabelului, localizare nregistrare dup valoarea unui
cmp etc.
Append New Record adgarea unei noi nregistrri.
Append Records adugarea de noi nregistrri dintr-un alt fiier
Delete Records marcare pentru tergere (la nivel logic).
Recall Records anularea marcrii pentru tergere.
Remove Deleted Records tergerea definitiv din tabel a nregistrrilor marcate (la
nivel fizic).
Replace Field actualizare cmp nregistrare (schimbarea valorii cmpului).
Size Field modificarea limii de afiare a cmpului n browser.
Move Field schimbarea poziiei de afiare a cmpului n browser.
n cazul n care se construiete o aplicaie n care vor fi folosite o gam larg de
obiecte din VFP, (baze de date, tabele independente, cereri, videoformate, rapoarte,
etichete, programe surs, clase de obiecte, meniuri utilizator, iconu-uri etc.) se va
construi un proiect (Project), n seciunile cruia se pot declara aceste obiecte (fig.
8). ntreg proiectul se va finaliza ntr-un program executabil care va conine toate
obiectele declarate ca fiind utilizate n aplicaie. Pentru a realiza proiectul n form
executabil, n prealabil se folosete opiunea Build, pentru a realiza compilarea i
link-editarea.

Fig. 8

Curs 2 SGBD

10

Mircea Musan

3.2 Programarea n FoxPro


n Visual FoxPro se poate scrie cod n trei locuri: fereastra de comenzi,
procedurile de eveniment, sau programele distincte.
a) fereastra de comenzi
n fereastra de comenzi putem scrie cod fie pentru a lansa programe de
asisten, fie pentru setarea n sesiunea respectiv a mediului, fie pentru a obine
secvene de instruciuni pe care dorim s le testm. Activitatea n acest mod de lucru
se desfoar n fereastra de comand din ecranul principal al VFP (Command). Aici
se gsete poziionat cursorul i utilizatorul poate lucra n stil interpretor sau
compilator.
b) programe distincte
Intrarea n modul programat structurat se poate face din fereastra de comand:
MODIFY COMMAND

&& se intr n editorul de texte al aplicaiei

Sau folosindu-se mediul interactive de intrare.


Un program n VFP nu are o structur, ci se prezint ca un text memorat pe
unul sau mai multe fiiere cu extensia .prg. Orice fiier de acest fel poate fi compilat
independent i poate fi executat. Compilarea se poate face prin meniul Program, iar
execuia prin comanda do nume_fisier_program sau prin butonul

Formele

compilate ale programelor au extensia .fxp i compilarea este automat innd seama
de data ultimei modificri. Textul programului surs nu e casesensitive. Scrierea se
face cte o linie pe rnd, n cazul n care o linie de text nu e suficient se utilizeaz
caracterul ;.
Comentariile se folosesc pentru a indica nceputul unei linii neexecutabile n
program. Sunt admise pentru comentarii:
- caracterul * plasat la nceputul liniei va ntregul rnd;
- caracterele && pentru comentarii pe acelai rnd, cu cel puin un spaiu de
demarcare fa de textul propriu-zis;
- cuvntul rezervat NOTE, pentru a comentaria mai multe rnduri de text, se introduce
n continuare prima linie de comentariu (la distan de minim un spaiu), se marcheaz
continuarea comentariului pe rndul urmtor cu caracterul punct i virgul (;),
nchiderea comentariului se face cu caracterul punct.

Curs 2 SGBD

11

Mircea Musan

Un program are o parte de setare a mediului la momentul execuiei. Exist


peste 100 de astfel de instruciuni de forma SET optiune ON|OFF sau SET optiune TO
expresie.
Exemplu: SET DEFAULT TO C:\MyDir && se seteaz lucrul pe o locaie dorit
SET EXACT ON
SET TALK OFF &&interzice afisarea rezultatului intr-o fereastra
SET PATH TO C:\Dir1\Dir2

&&dirijam cautarea

SET ANSI ON &&comparare


Utilizarea comenzilor SET n fiiere de comenzi (programe surs):
SET BELL ON/OFF
TO frecven, durat
- permite utilizarea unui semnal sonor n cazul executrii unor comenzi sau
satisfacerii unor condiii;
- ON este valoarea implicit;
- frecvena sunetului poate lua valori ntre 19 i 10000 Hz. Implicit este 512
Hz.
- durata se stabilete n secunde, implicit fiind de 2 secunde.
SET CARRY ON/OFF
TO list_cmpuri ADDITIVE
- permite copierea valorilor nregistrrii anterioare n cea curent;
- list_cmpuri include numele de cmpuri care vor fi obiectul acestui
transfer;
- ADDITIVE este clauza prin care se adaug un nou grup de cmpuri la cele
deja existente.
SET CLEAR ON/OFF
- tergerea complet a ecranului, implicit fiind valoarea ON.
SET COLOR TO standard, evideniere, chenar
- permite stabilirea culorilor afiate pe ecran;
- standard reprezint perechea de culori utilizat pe ecran n mod normal;

Curs 2 SGBD

12

Mircea Musan

- evideniere reprezint perechea de culori utilizat pentru afiajul videoinvers;


- chenar specific culoarea utilizat pentru ferestre, dialoguri i zone
evideniate.
- perechea de coduri de culori este de forma xx/xx, unde primul cod este
culoarea pentru caracterele ASCII, iar al doilea pentru fundal.
- codurile de culori sunt : N (negru), X (negru intens), B (albastru), G
(verde), Bg (cyan), R (rou), Br (magenta), Gr (maro), W (alb), etc.
SET COLOR OFF SCHEME nr
- exist maxim 24 de seturi posibile de scheme de culori. Primele 11 i cele
din intervalul 17-24 pot fi apelate de ctre utilizator iar cele dintre 12-16 sunt
rezervate sistemului.
- primele 11 scheme sunt :
1 - ferestre utilizator
2 - meniuri utilizator
3 - meniuri orizontale (de tip bar)
4 - meniuri verticale
5 - ferestre de dialog
6 - ferestre de dialog structurate vertical (pop-up)
7 - ferestre de atenionare (n caz de eroare)
8 - ferestre
9 - ferestre structurate vertical (pop-up)
10 - fereastra Browse
11 - ferestre de definire a rapoartelor.
SET CONSOLE ON/OFF
- asigur controlul afirii sau nu pe ecran a rezultatelor executrii
comenzilor;
- valoarea implicit este ON;
- nu afecteaz comenzile @ ... SAY i nici ieirile la imprimant.
SET DATE TO tip_de_dat
- se fixeaz formatul de dat folosit;
- tipurile utilizate sunt : ansi (a.l.z), american (l/z/a), british (z/l/a), french

Curs 2 SGBD

13

Mircea Musan

(z/l/a), german (z.l.a), italian (z-l-a), japan (a/l/z), usa (l-z-a), mdy (l/z/a), dmy
(z/l/a), ymd (a/l/z). Implicit este cel american.
SET DECIMALS TO nr
- permite stabilirea numrului de zecimale afiat n cazul calculelor cu
cmpuri sau variabile de tip numeric;
- nr este un numr cuprins ntre 0 i 18. Valoarea implicit este 2.
SET DEFAULT TO disc:\director
- stabilirea directorului de lucru implicit.
SET ESCAPE ON/OFF
- se permite controlul asupra posibilitii de ntrerupere a programului prin
tasta ESC;
- valoarea implicit este ON. Recomandabil este OFF.
SET EXCLUSIVE ON/OFF
- foarte util n cazul folosirii n reea a tabelelor, deoarece se asigur
protecia lor fa de accesul neautorizat al altor utilizatori;
- valoarea implicit este ON.
SET EXACT ON/OFF
- se verific gradul de exactitate al comparrii irurilor de caractere;
- valoarea implicit este OFF.
SET FIELDS ON/OFF
TO list_cmpuri ALL
LIKE EXCEPT ablon
- permite accesul la anumite cmpuri ale unei tabele
- list_cmpuri conine numele cmpurilor ce pot fi utilizate;
- ALL este clauza ce specific faptul c toate cmpurile din tabel vor fi
utilizate;
- LIKE EXCEPT ablon permite construirea unor condiii de selecie;
- ON/OFF specific accesul sau nu la cmpurile specificate.

Curs 2 SGBD

14

Mircea Musan

SET FUNCTION nr TO ir_caractere


- permite modificarea operaiilor ataate tastelor funcionale.
SET INTENSITY ON/OFF
- determin afiarea n mod video-invers; implicit este OFF.
SET MARGIN TO nr
- se permite modificarea marginii din stnga a textelor imprimate.
- implicit are valoarea 0;
- nu se afecteaz rapoartele create cu generatorul de rapoarte.
SET MEMOWIDTH TO nr
- realizeaz controlul mrimii pe ecran a cmpurilor de tip memo.
- nr este un numr cuprins ntre 8 i 256.
- valoarea implicit este 50.
- lungimea specificat va fi luat n considerare i n cazul unor comenzi cum
sunt ?, ??, DISPLAY i LIST.
SET MESSAGE TO expr_caractere
expr_numeric LEFT|CENTER|RIGHT
TO WINDOW

nume_fereastr

- expr_caractere permite introducerea unui ir de caractere (max. 79).


- expr_numeric stabilete linia de pe ecranunde va fi afiat mesajul
specificat prin opiunea MESSAGE. Dac este 0, mesajul nu este afiat, lipsa
acestui argument plaseaz mesajul pe ultima linie, dac este 24 sau mai mare
mesajul va apare n centru.
- LEFT, RIGHT, CENTER determin alinierea corespunztoare.
- nume_fereastr direcioneaz mesajul ctre o fereastr cu numele
specificat.

SET MOUSE ON|OFF

Curs 2 SGBD

15

Mircea Musan

TO expr_numeric
- permite controlul senzitivitii mouse-ului.
- expr_numeric reprezint senzitivitatea ce poate lua valori ntre 1 (cea mai
joas senzitivitate) i 10 (cea mai mare senzitivitate).
SET NEAR ON|OFF
- n cazul executrii fr succes a unei comenzi FIND sau SEEK, determin
poziionarea pointerului de nregistrare pe nregistrarea imediat urmtoare.
- valoarea implicit este OFF (pointerul este poziionat la sfritul tabelei).
SET SAFETY ON|OFF
- dac este ON, utilizatorul este avertizat nainte de operaiile care suprascriu un
fiier existent (tabel, index, fiier text, etc.). Dac este OFF, operaia are loc fr
avertisment. A se folosi aceast comand cu precauie.
SET SPACE ON|OFF
- se activeaz facilitatea de separare n cazul comenzilor ? i ??.
SET TEXTMERGE ON|OFF
- realizeaz controlul asupra evalurii cmpurilor, tabelelor, variabilelor,
funciilor, expresiilor.
- comanda va direciona ieirea acestora pe ecran, ntr-o fereastr sau ntr-un
fiier.
SET TALK ON|OFF|WINDOW
- determin afiarea unor rezultate pe ecran.
- includerea clauzei ON(este implicit) ncetinete execuia programului.
- clauza WINDOW direcioneaz rezultatul ntr-o mic fereastr din colul
dreapta-sus al ecranului.

3. Dezvoltarea unei aplicaii

Curs 2 SGBD

16

Mircea Musan

n FoxPro o aplicaie comport o serie de elemente componente cum sunt:


-

una sau mai multe baze de date

unul sau mai multe programe, din care unul este principal

obiecte de interfa cum ar fi: meniuri, formulare cu obiecte, etc.


Toate componentele se prezint ca fiiere de diferite tipuri, astfel nct o

aplicaie este o mulime de fiiere. Pentru o aplicaie este necesar s se defineasc un


director cel puin (o structur de directoare), iar fiierele trebuie organizate ca proiect,
ntr-un fiier de proiect cu extensia .pjx. Directorul numit director cadru (Framework
Directory) se construiete cu ajutorul sistemului de operare (de ex. Windows
Explorer). Fiierul de proiect se construiete n mediul FoxPro alegnd File New
Project. Se d un nume proiectului, care e un nume i pentru fiier.
Aplicaiile sub form de proiect pot fi dezvoltate prin intermediul unui
program special oferit de mediu i numit Project Manager. Acest fiier, lansat n
execuie, gestioneaz fiierul .pjx i organizeaz fiierele componente ale proiectului
n structuri arborescente. Componentele sunt mprite n categorii, fiecare categorie
avnd un arbore de structur. Categoriile sunt:
Data
- Databases (baze de date)
- Tables (tabele)
- Views (vizualizri)
- Cursors (tabele cursor alias)
- Free Tables (tabele libere)
- Queries (cereri interogri)
Documents
- Form (ecrane formulare)
- Reports (rapoarte)
- Labels (etichete)
Class Libraries (librrii de clase)
Code
- Programs (programe)
- API Libraries (biblioteci API)
- Applications (aplicaii)
Others

Curs 2 SGBD

17

Mircea Musan

- Menus (meniuri)
- Text Files (fiiere text)

Mai jos sunt prezentate cteva dintre tipurile de fiiere folosite de Visual
FoxPro pentru dezvoltarea de aplicaii:

Curs 2 SGBD

18

Mircea Musan

Curs 2 SGBD

19

Mircea Musan

Este evident c aproape orice obiect dintr-o aplicaie Visual FoxPro are nevoie
de dou sau chiar mai multe fiiere.

4. Tipuri de aplicaii
Aplicaiile au n vedere mulimea tranzaciilor ca tipuri de tranzacii. n Visual
FoxPro sunt urmtoarele tipuri de tranzacii:
- de inserare;
- de modificare;
- de stergere;
- de accesare.
Primele trei desemneaz situaia de actualizare a bazei de date, ultima referindu-se la
interogare bazelor de date.
Se disting urmtoarele trei tipuri de aplicaii:
a) Aplicaii de actualizare se fac n condiiile n care nu e dorit ca utilizatorul s
intervin direct n baza de date (mijlocesc aceste tranzacii i asigur controlul
riguros). Se pot face aplicaii pe fiecare dintre tranzacii, sau, ele pot fi grupate n
aceeai aplicaie.
b) Aplicaii de consultare acestea extrag informaii din baza de date pe care le
afieaz sub o anumit form, fie n fereastra sistemului, fie sub form de rapoarte.
Este cea mai bogat categorie de aplicaii avnd n vedere destinaia bazei de date ca
mijloc de informare a utilizatorului.
c) Aplicaii mixte acestea realizeaz att consultarea ct i actualizarea bazei de
date, fiind reprezentativ pentru baza de date.
Din punct de vedere al interfeei i al controlului execuiei n aplicaii, putem
distinge dou categorii mari de aplicaii:
a) Aplicaii cu control dirijat intern sunt aplicaii prin care utilizatorul este condus
de aplicaie pas cu pas prin solicitri i afiare de mesaje cu privire la programul
aplicaiei. Interfaa este una simpl, care nu exclude ns utilizarea unor elemente de
interfa grafic cum ar fi de ex. utilizarea formularelor pentru introducerea de date i
afiarea de mesaje n casete de mesaje.

Curs 2 SGBD

20

Mircea Musan

b) Aplicaii cu control prin eveniment n aceste caz aplicaia are un comportament


aleatoriu care rezult din modul n care ea rspunde la evenimentele create de
utilizator sau de sistemul nsui. n aceast aplicaie interfaa este una grafic
constituit din obiecte vizuale capabile s rspund la evenimente prin proceduri de
tratare. n cadrul acestor aplicaii programatorul definete evenimentele semnificative,
i pentru acestea ataeaz la obiectele de interfa procedurile de tratare. Orice alt
eveniment are o tratare implicit prin sistemul de execuie. Din punct de vedere
structural, o aplicaie de acest gen se concepe ca o mulime de obiecte vizuale
(meniuri, formulare cu controale, etc.) i trebuie s aib un program principal care s
iniieze execuia i s menin bucla de mesaje a aplicaiei.
* cod ptr. programul main.prg
do MainMenu.mpr

&& se afiseaza meniul

* alt cod de initializare


read events

&& bucla interna pentru evenimente

* cod de incheiere (curatire)

Dac aplicaia nu are meniu, ea poate fi condus prin casete de dialog. Trebuie s
existe o caset principal care s fie lansat n programul principal n forma: do
MainForm.frm.

5. Lucrare aplicativ propus spre rezolvare


Construirea unei aplicaii exemplu simple folosind modul interactiv pentru evidena
unei agende telefonice.
Pasul 1.
Se va construi o tabel cu numele Agenda.dbf, folosind modul interactiv de lucru,
prin meniul File New Table New File, cu o structur prezentat mai jos:

Curs 2 SGBD

21

Pasul 2.
Vom construi un formular cu numele Agenda.scx.

Pentru introducerea obiectului grid vom accesa urmtoarele:

Mircea Musan

Curs 2 SGBD

22

Mircea Musan

Butonul Adaugare:

Butonul Stergere:
select agenda
delete next 1
thisform.grid1.setfocus()

Butonul Listare:
report form agenda preview

Butonul Iesire:
thisform.release()
quit

Pasul 3.
Se va construi raportul cu numele Agenda.frx folosindu-se modul interactic prin
folosirea programelor de asisten special create pentru dezvoltarea rapoartelor, File

New Report Wizard

Pasul 4.
Se va construi o aplicaie (un proiect), avnd numele Agenda.pjx. Structura (harta)
acesteia este descris mai jos.

Curs 2 SGBD

23

Mircea Musan

Dup cum se vede, exist i un program Agenda.prg, care va fi setat ca


principal n rulare. Coninutul acestuia este:
do form agenda
read events

n cele din urm se va construi o aplicaie executabil, Agenda.exe,

, ce va putea fi lansat n execuie n


mod independent de deschiderea prealabil a aplicaiei Visual FoxPro.

You might also like