|
Visual Foxpro 0 abc-doar
|
səhifə | 1/17 | tarix | 17.03.2018 | ölçüsü | 1,41 Mb. | | #45490 |
|
***********************
* Visual Foxpro 5.0 *
* ABC-doar *
***********************
************************************
* autor: RUSU MIRCEA AUREL VALER *
************************************
*******************************************
* MOTTO: *
* *
* "Abondance de biens ne nuit pas" *
* *
*******************************************
Microsoft Visual FoxPro 5.0 este un program profesional pentru
procesarea datelor.Se poate utiliza cu succes pentru gestionarea
afacerilor,pentru a forma banci de date,pentru registratura si for-
mularistica,pentru analiza unor volume imense de date,sau pentru
orice alt tip de program sau aplicatie de calcul.Visual FoxPro
combina puterea de operare asupra bazelor de date si modularitatea
programarii structurate in obiecte,cu interfata grafica de tip
Windows (API) reprezentata prin obiecte vizuale.Acest program este
indispensabil oricarui programator profesionist.
C O N T I N U T
Generalitati . . . . . . . . . . . . . . . . . . 1
Fereastra Project Manager . . . . . . . . . . . 6
Data . . . . . . . . . . . . . . . . . . . 6
Forms . . . . . . . . . . . . . . . . . . 13
Report Designer . . . . . . . . . . . . . 42
Labels . . . . . . . . . . . . . . . . . 46
Menu Designer . . . . . . . . . . . . . . 47
Clase si subclase . . . . . . . . . . . . . . . 51
Instrumente specializate . . . . . . . . . . . . 60
Ferestre specializate . . . . . . . . . . 61
Wizards . . . . . . . . . . . . . . . . . 71
Builders . . . . . . . . . . . . . . . . . 92
Toolbars . . . . . . . . . . . . . . . . 102
File si fisiere . . . . . . . . . . . . . 104
Asistenta Help . . . . . . . . . . . . . 106
Depanare si intretinere . . . . . . . . 108
Concluzii generale . . . . . . . . . . . . . . 113
GENERALITATI
O prezentare sumara a acestui program trebuie sa inceapa cu limitele
sale.Pentru organizarea suprastructurata a datelor,FoxPro utilizeaza
baze de date relationale,formate din tabele si file indexate.Fiecare
astfel de tabel,poate contine maximum 1 MILIARD de inregistrari,adica
file cu o dimensiune maxima de 2 GIGABYTES.Fiecare inregistrare din
tabel poate contine maximum 65500 de caractere si poate fi formata din
maximum 255 de campuri de date diferite (coloane).FoxPro poate lucra
simultan cu mai multe astfel de tabele,dar numarul maxim de tabele
deschise simultan,nu poate fi mai mare de 2551.Pentru calculele complexe,
valorile numerice pot fi reprezentate pe maximum 20 de bytes,cu o pre-
cizie de maximum 16 digits.Pentru necesitatile uzuale de programare,
VisualFoxPro accepta 1024 de variabile implicite,65000 de variabile
declarabile si 65000 de arii de date formate din maximum 65000 de ele-
mente distincte/arie.Numarul de linii de program este nelimitat (nu
exista o limita de memorie),la fel este si numarul de proceduri/fila
din program.Pentru fiecare functie sau procedura se pot utiliza pana
la maximum 27 de parametri si se pot intrica pana la 128 de apeluri
DO...Un program poate contine un numar nelimitat de obiecte,ce pot fi
grupate pe maximum 128 de nivele diferite.Numarul de ferestre utilizate
intr-un program este nelimitat,dar numarul de ferestre BROWSE este limi-
tat la 255.Un sir de caractere poate contine maximum 2 GIGABYTES,dar
liniile de comanda nu pot contine mai mult de 8192 caractere/linie.
Numarul de file deschise simultan este limitat doar de catre sistemul de
operare,iar numarul de coloane selectate intr-o instructiune de tip
SQL SELECT este de maximum 255.
Pentru ochiul experimentat,aceasta prezentare sumara ofera o imagine
de ansamblu destul de clara.Visual Foxpro nu este un program pentru in-
cepatori,practic aproape ca nu are limite de exprimare pentru necesitati-
le de programare uzuale.Este un instrument puternic de programare care
nu trebuie sa lipseasca din arsenalul unui programator profesionist.
Acest manual nu este destinat incepatorilor.Pentru insusirea notiu-
nilor elementare,puteti consulta manualul "FoxPro ABC-doar",iar pentru
descrierea amanuntita a mediului de programare Visual FoxPro,puteti
consulta manualul: "Utilizare Visual Foxpro 3 de Michael D. Antonovich"
(Teora 1997 ISBN 973-601-554-8 ).Desi este intitulat ABC-doar,acest
manual nu va explica notiunile fundamentale de programare,ci va prezenta
doar,sub forma de exemple functionale,principalele mijloace de expresie
abordabile in acest mediu de programare.
Visual FoxPro,fata de predecesorul sau Foxpro,adauga o serie intreaga
de facilitati.In primul rand,programul se poate structura modular prin
utilizarea conceptului orientat pe obiecte.In acest manual nu se va
prezenta conceptul programarii orientate spre obiect.Aceste notiuni se
presupun a fi cunoscute (pentru informare puteti consulta manualele:
"Limbajul Pascal ABC-doar","Borland Delphi ABC-doar" si "Limbajul C++
si OOP ABC-doar" sau orice alta sursa de informare).In al doilea rand,
Visual FoxPro adauga instrumentul denumit Project Manager care permite
organizarea intregului proiect cu ajutorul unor obiecte visuale special
concepute.Practic,un program complex de organizare a bazelor de date se
poate realiza cu cateva click-uri de mouse si un numar limitat de linii
de comanda.
-2-
Visual FoxPro nu trebuie vazut doar ca un mediu de programare in care
programatorul scrie coduri,pentru a realiza programe ce vor fi aplicate
de catre utilizatori.Visual FoxPro este un adevarat centru de comanda,de
la care se pot obtine datele necesare pentru un anumit scop.Exista un
numar mare de situatii in care informatiile necesare se pot obtine cu
o singura comanda simpla.Pentru aceste situatii,este recomandabil sa
utilizati fereastra de comenzi.
EXEMPLU: pentru a afla data curenta,introduceti in fereastra Command:
? SYS(1) -pentru a afla data Juliana
sau ? SYS(10,VAL(SYS(1))) -pentru a afla data in format normal
In mod similar,pentru a vedea rapid un anumit tabel,nu este neaparat
necesar sa incarcati un program intreg.Din meniul File,alegeti Open,
apoi selectati fila pe care doriti sa o vedeti (cu extensia .dbf),apoi
scrieti in fereastra de comenzi comanda: BROWSE.
Se va deschide o fereastra in care se poate consulta imediat tabelul
respectiv.Acest gen de operatie este util,fie pentru a face economie de
memorie de operare,fie pentru a selecta tabelul ce urmeaza sa fie inclus
intr-un program sau intr-o aplicatie.
Presupunand ca tabelul este foarte mare,pentru a ajunge la inre-
gistrarea dorita,puteti introduce tot in fereastra de comenzi o comanda
simpla gen: GOTO 1233 (pentru a ajunge la inregistrarea cu numarul 1233).
Fereastra de comenzi se poate utiliza si pentru a testa o anumita
linie de comanda ce urmeaza sa fie integrata intr-un program,dar pentru
care doriti sa vedeti imediat rezultatul executiei.De exemplu,daca
doriti sa alegeti paleta de culori cu care urmeaza sa afisati un anumit
text,puteti verifica comanda in fereastra de comenzi:
EXEMPLU: introduceti comanda
@ 20,10 SAY 'TEXT' COLOR RGB(10,200,100,255,50,100)
evaluati aspectul si modificati cei sase parametri pana cand obtineti
nuantele dorite.Apoi puteti include comanda in programul dorit.
Fereastra de comenzi este indispensabila si pentru operatiile de
depanare sau orientare rapida.Asadar,chiar daca Visual Foxpro ofera si
mijloace mult mai evoluate,fereastra de comenzi nu si-a pierdut cu nimic
din actualitate.Nu ezitati sa scrieti comenzi directe,ori de cate ori
puteti obtine un rezultat direct.
EXEMPLU: pentru a selecta dintr-un tabel doar o singura coloana,
puteti introduce in fereastra de comenzi:
SELECT "numele coloanei" FROM "numele tabelui"
(gen SELECT Numele FROM Angajati )
Cu o astfel de operatie simpla,puteti inlocui cu succes un program intreg
cu obiecte Windows si interogatii de tip SQL.Bineinteles ca acest gen
de operatii nu se pot utiliza decat pentru o orientare rapida a programa-
torului in baza de date cu care lucreaza.Pentru programul destinat utili-
zatorului se va realiza o interfata grafica si se vor adauga filtrele
necesare,astfel incat restul informatiilor sa fie cat mai bine protejate.
ATENTIE: cu comenzi simple in fereastra de comenzi se pot altera sau chiar
sterge definitiv datele.Nu scrieti comenzi la intamplare,sau in viteza,
mai ales atunci cand nu exista si o copie de siguranta a datelor cu care
lucrati.Nu va bazati pe "profesionalismul" d-voastra.Nu utilizati comenzi
pe care nu le intelegeti complet (copiate din manuale sau oferite cu ge-
nerozitate de diversi "binefacatori").
-3-
Sistemul FoxPro,tine o evidenta interna a resurselor de sistem si a
celor definite de utilizator,cu ajutorul unui tabel obisnuit,care este
actualizat la fiecare modificare a parametrilor urmariti.Acest tabel
este denumit "foxuser.dbf" si poate fi accesat prin functia SYS(2005).
Pentru a consulta acest tabel,puteti scrie in fereastra Command:
USE SYS(2005) AGAIN apoi BROWSE
In tabelul foxuser.dbf sunt arhivate o serie intreaga de informatii,cum
ar fi: pozitia si dimensiunea ferestrei Command,macro-uri pentru tasta-
tura,barele de instrumente (toolbars),caracteristicile ultimelor ferestre
tip BROWSE utilizate etc.
Fereastra de comenzi nu poate fi utilizata pentru algoritimi mai
complicati,sau pentru buclele de repetitie de tip FOR...ENDFOR,sau
DO WHILE...ENDDO etc.Pentru acest gen de situatii,se poate utiliza o
fila simpla de tip program.Din meniul File,alegeti New,apoi Program si
apasati butonul cu inscriptia New File.
EXEMPLU: scrieti o fila de genul:
CLEAR
STORE ('10') TO x
SET DECIMALS TO &x
for y=0 to 10
? 'Sinus de: ',y,' este= ',SIN(y)
NEXT
@ 16,4 SAY 'Text scris cu rosu pe verde' COLOR R/G
@ 18,4 SAY 'Text scris cu alte culori' COLOR RGB(0,200,50,20,50,250)
Salvati fila cu un nume oarecare (Exemplu: test1.prg ) apoi executati
programul cu Do test1.prg ( sau din meniul Program)
Acest gen de file de tip program,sunt utile pentru aplicatiile si
programele mici,sau pentru a verifica unele componente ale unui proiect
mai mare.Este chiar indicat,ca inainte de a incepe editarea unui proiect
mai mare,sa faceti o schita a elementelor componente si sa verificati
in file de tip program principalele suite de calcule si analize matematice
ale fiecarui component.In acest fel,evitati operatiile de verificare si
depanare a structurilor mai complexe.
Dupa cum se observa,vechile structuri de programare mostenite de la
FoxPro isi pastreaza actualitatea si utilitatea si in mediul visual.
Conventiile de sintaxa sunt urmatoarele:
1. Majusculele denota comenzi,cuvinte cheie,acronime,constante,unitati.
Exemplu: SET HELP TO
2. Tastele si combinatiile de taste se scriu cu majuscule.
Exemple: SHIFT,SHIFT + F1 etc.
3. Numele fisierelor si al filelor se scrie cu majuscule.
Exemple: TEST1.PRG sau BUTTONS.VCX
4. Calea de acces se scrie cu majuscule si backslashes (\).
Exemplu: C:\VFP\TTEST1.PRG
5. Pentru obiecte,proprietati,evenimente si metode prima litera din cuvant
se scrie cu litera mare.Mai multe cuvinte pot fi concatenate
Exemple: FontSize,ItemData,ListBox etc.
6. Termenii utilizati pentru prima data intr-un text se scriu cu italice
(cu litere aplecate spre dreapta)
7. Tabelele si campurile de date se specifica cu litere mici
Exemplu: USE tabelul1
-4-
8. Variabilele se scriu cu prima litera mare,precedata de un prefix prin
care se specifica tipul de data.Prefixul este o litera mica si poate fi
c (caracter),n(numeric),l(logic),d(data),t(timp),y(moneda),o(obiect)
Exemple: nTotal,cNume,dData1,yEuro
9. Parantezele drepte includ elemente optionale.
Exemplu: [STYLE cStyleName]
10. Bara verticala specifica optiuni care se exclud reciproc
Exemplu: SET BELL ON|OFF
11. Trei puncte inseamna ca elementul se poate repeta de mai ,multe ori
Exemplu: [WindowName...]
In acest caz,elementele vor fi separate intre ele prin virgule,gen
[WindowName1,WindowName2...WindowName15]
Variabilele de sistem au identificatorul format exclusiv din majuscule
precedate de o liniuta de subliniere.Exemple: _ALIGNMENT,_BEAUTIFY,_BOX.
Pentru a nu suprascrie aceste variabile,puteti consulta lista acestora,
sau puteti utiliza un sistem oarecare de formare a identificatorilor prin
care sa evitati eventualele suprapuneri (de exemplu utilizati doar denu-
miri in limba romana).Este bine ca identificatorul sa indice cat mai clar
si modul de utilizare sau destinatia variabilei,pentru a simplifica la
maximum procesul de depanare a programului.Exemplu: daca variabila
urmeaza sa fie utilizata pentru a calcula o suma,se poate denumi: nSuma1.
Manualul Help include si o prezentare completa a elementelor de limbaj
impreuna cu tabele de sinteza.Exemplu: vezi Contents/Languages Categories.
In acest director,functiile Visual FoxPro sunt grupate in functie de
tipul de data cu care opereaza (Data Types),sau in functie de structura
in care opereaza (Databases,Visual FoxProEnviroment,Shared Access to Data)
etc.Cand stiti exact ce anume doriti sa faceti,dar nu stiti ce functie se
poate apela pentru scopul propus,consultati aceste tabele.
Spre deosebire de FoxPro,Visual FoxPro ofera programatorului si o
interfata grafica conceputa pentru a simplifica la maximum munca de creare
a fiecarui element din program.Aceasta interfata grafica asigura accesul
la instrumentele vizuale de programare :designers,windows,wizards,builders
toolbars,menues si debugger.O scurta descriere a acestor instrumente de
programare se gaseste in capitolul Interface Reference.Acest manual va
incerca sa prezinte toate aceste instrumente prin exemple practice.
Programul Visual FoxPro 5.0 ofera si un set bogat de exemple,grupate
in directorul SampleApplications.Pentru un tur de orizont,sau pentru a
observa modul de implementare al acestor solutii,alegeti din meniul Help
aceasta optiune,apoi selectati optiunea Run,pentru Solutions Sample.
In fereastra Visual FoxPro Solutions,alegeti tipul de aplicatie,executati
un click de mouse pe semnul plus respectiv,apoi alegeti fila si RunSample.
Exemplu: din Controls alegeti ab|Editbox,apoi alegeti fila "Edit a memo
field or a text file" si apasati butonul Run Sample.
In fereastra afisata,puteti modifica textul arhivat,sau puteti utiliza
butoanele de navigare,pentru a vedea alte inregistrari din tabel.
Pentru a vedea cum a fost realizata aplicatia,apasati butonul See Code.
Pentru a vedea codul asociat fiecarui obiect din aplicatie,selectati acel
obiect,apoi apasati butonul Code Window (din bara de obiecte situata
deasupra ferestrei Form Designer).Pentru a vedea proprietatile obiectului
executati un click drept de mouse si alegeti Properties.
-5-
Se va afisa o fereastra denumita Properties (asemanatoare cu Object
Inspector din mediul Delphi) in care sunt listate o serie de date.Datele
incluse in aceasta fereastra sunt grupate in: Data,Methods,Layout,Other
sau All(toate).Daca alegeti optiunea Methods,se vor afisa doar metodele
si evenimentele aplicabile pentru obiectul respectiv.Daca alegeti Layout,
se vor afisa proprietatile care determina aspectul obiectului,etc.
Obiectele visuale din Visual FoxPro,sunt la fel ca restul obiectelor
visuale(Object Pascal,Delphi,Visual C++,Visual Basic etc).Prin urmare
se obtin prin derivarea dintr-o clasa de baza (un obiect este o instanta
a clasei respective).Clasa de baza este definita standard cu un construc-
tor,un destructor,o serie de proprietati (variabile locale) si metode
proprii(functii si proceduri),precum si o serie de functii specializate
in tratarea mesajelor Windows (transmit sau receptioneaza mesaje),denumite
"evenimente".
Pentru a obtine un obiect functional,acesta trebuie sa fie derivat din
clasa de baza,prin apelarea functiei constructor.Obiectul astfel derivat
va contine toate proprietatile si metodele implicite ale clasei de baza.
Daca se adauga si proprietati sau functii noi,se obtine un obiect perso-
nalizat,care mosteneste caracterele clasei de baza,dar adauga si alte
atribute noi.Un obiect se poate obtine si prin derivarea din doua sau
mai multe clase de baza.In acest caz,obiectul va mosteni toate proprieta-
tile si metodele claselor ancestrale.Toate regulile referitoare la clase
si obiecte (incapsulare,mostenire,polimorfism etc.) sunt valabile si
pentru obiectele din mediul Visual FoxPro.
Pentru a construi si aplica un obiect,se poate utiliza fie o secventa
de linii de cod,intr-o fila de program(se apeleaza constructorul,apoi se
seteaza proprietatile sau se adauga proprietati si metode noi),fie un
instrument vizual specializat de tip designer sau wizard.
Fereastra Properties nu este decat instrumentul vizual specializat in
care sunt afisate toate proprietatile si metodele unui obiect.
Proprietatile se utilizeaza fie pentru a specifica aspectul obiectului
respectiv (dimensiuni,culori,fonturi etc.),fie pentru a realiza legatura
dintre doua sau mai multe obiecte (link).Metodele sunt destinate pentru a
realiza una sau mai multe operatii asupra datelor controlate de obiectul
respectiv,iar evenimentele sunt functii specializate in prelucrarea mesa-
jelor de tip Windows,astfel incat obiectul respectiv sa poata schimba date
si informatii fie cu alte obiecte,fie cu sistemul Windows.Practic,fiecare
eveniment monitorizeaza un anumit mesaj de tip Windows,pe care il recu-
noaste sau il emite in momentul potrivit,pentru a declansa suita de co-
menzi din procedura asociata cu evenimentul respectiv.Sistemul FoxPro
gestioneaza singur tabela de raspunsuri la fiecare eveniment(nu trebuie
editata ca in C++),astfel incat nu trebuie decat sa alegeti evenimentul
cel mai discriminativ si sa editati algoritmul dorit.
Instrumentele vizuale de tip "Designer" manipuleaza obiectele vizuale
si le grupeaza in ferestre cu aspectul lor real,astfel incat munca de
proiectare a unei interfete grafice este asemanatoare cu un joc de copil,
de tip "puzzle".Nu trebuie decat sa alegeti obiectele dorite,sa setati
proprietatile si sa editati metodele si evenimentele dorite.Tot restul
de operatii este executat automat in momentul compilarii si constructiei.
Pentru inceput,este bine sa studiati cu atentie toate exemplele din
Visual FoxPro Solutions si modul in care au fost implementate.
-6-
FEREASTRA PROJECT MANAGER
Dupa ce sunteti familiarizati cu mediul FoxPro,probabil ca doriti sa
editati primul program.Pentru a organiza cat mai judicios munca de editare
Visual FoxPro include un instrument de programare extrem de util,denumit
Project Manager.Acest instrument,nu numai ca organizeaza filele din pro-
iect,dar contine si toate instrumentele necesare pentru a edita un pro-
gram complet,cu ajutorul unei interfete grafice.Toate obiectele standard
pot fi create cu ajutorul operatorului New(care apeleaza automat construc-
torul standard).Toate filele care formeaza proiectul vor fi incluse
intr-o fila cu extensia .PRJ de unde pot fi preluate sau modificate ulte-
Dostları ilə paylaş: |
|
|