Visual Foxpro 0 abc-doar



Yüklə 1,41 Mb.
səhifə1/17
tarix17.03.2018
ölçüsü1,41 Mb.
#45490
  1   2   3   4   5   6   7   8   9   ...   17

***********************

* 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-

Yüklə 1,41 Mb.

Dostları ilə paylaş:
  1   2   3   4   5   6   7   8   9   ...   17




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin