|
Lucrarea
6
Generarea de ferestre
tip formular
1. Generatoare de cod
2. Generatorul Expert pentru ferestre formular
Exemplu:
Sa va crea un formular utilizând macheta pentru formulare
si generatorul Expert.
La pasul 1 se va selecta tabela Stud.dbf.
La pasul 2 se vor alege toate câmpurile din aceasta tabela.
La pasul 3 se alege formatul ColumnarLayout
si Multiple Pages.
La pasul 4 se alege un stil oarecare si se modifica câteva
caracteristici, apoi se va salva sub numele stud.
La pasul 5 se va alege optiunea RunForm
si apoi se va salva formularul sub numele Stud.wfm.
La rulare se va merge pe diverse înregistrari cu ajutorul
butoanelor de navigare care au aparut pe bara de unelte a aplicatiei:
|
3. Editorul Designer pentru ferestre formular
Exemplu:
Se va încarca în editorul de formulare fisierul Stud.WFM.
Se vor adauga din paleta de unelte 5 controale "pushbutton"
care vor afisa textul:
"OK" - închide
formularul
"PRIM" - merge pe
prima înregistrare
"URM" - merge pe urmatoarea
înregistrare
"PREC" - merge pe
precedenta înregistrare
"ULT" - merge pe ultima
înregistrare
Se vor completa corespunzator proprietatile Name si Text
si se vor scrie rutinele de eveniment OnClick pentru fiecare.
Se va rula formularul si se va verifica functionarea acestora.
|
Exemplu:
Se va realiza o fereastra pentru adaugarea de noi studenti. Pentru
aceasta se va crea folosind generatorul Expert un formular Addstud.wfm
de vizualizare tabela Stud.dbf cu toate
câmpurile vizibile.
Dupa încarcarea formularului în editor se vor parcurge
urmatorii pasi:
1. Se redenumesc câmpurile de introducere valori dupa modelul:
efNume, efDataNastere
etc. Se text a formularului (titlul sau) în "Adaugare
studenti".
2. Se seteaza proprietatile Function,
Picture, MaxLenght
etc. din grupul Edit Properties astfel
încât sa permita doar intrari valide. Pentru aceasta
se va studia din Help capitolul referitor
proprietatile Pictures si Functions.
Spre exemplu proprietatea Pictures
a câmpului codS ar putea avea
valoarea "!!###" ceea ce
permite introducerea a doua litere mari urmata de trei cifre.
3. Se trateaza evenimentul OnOpen pentru
obiectul form, pentru a porni adaugarea unei noi înregistrari
la deschiderea formularului:
Procedure Form_OnOpen
form.BeginAppend() &&
creeaza un buffer pentru o noua înregistrare
RETURN
3. Se trateaza evenimentul CanClose
pentru a renunta la noua înregistrare la închiderea
fortata a formularului:
Procedure Form_CanClose
form.AbandonRecord() &&
nu adauga noua înregistrare la tabela
RETURN .T. && permite închiderea
formularului
4. Se adauga un buton cu numele buSalvez
si textul "Salvez". Se trateaza
evenimentul OnClick al acestuia astfel
încât sa salveze modificarile si sa adauge o noua înregistrare.
Procedure buSalvez_OnClick
IF form.IsRecordChanged() &&
verifica daca s-au facut modificari
form.SaveRecord() &&
salveaza noua înregistrare
ENDIF
form.BeginAppend() &&
creeaza un nou buffer de înregistrare
RETURN
5. Se adauga un buton cu numele buRenunt
si textul "Renunt". Se trateaza
evenimentul OnClick al acestuia astfel
încât sa salveze modificarile si sa adauge o noua înregistrare.
Procedure buRenunt_OnClick
form.Close() && închide
formularul, ceea ce va duce la apelul CanClose
&&
care renunta la înregistrarea adaugata.
RETURN
6. Se salveaza si se ruleaza formularul, verificând functionarea
acestuia.
|
4. Codul generat de modulele Expert si Designer pentru Formular
5. Probleme propuse
P1. Rulati exemplele prezentate în
acest capitol.
P2. Creati
un formular pentru navigarea prin tabela masini.dbf.
P3. Creati
un formular de adaugare masina. Verificati existenta câmpului CODS
în tabela de studenti, iar daca nu exista nu permiteti salvarea
masinii.
©
s.l. dr. ing. Dan Pescaru '2004
|