Visual Foxpro 0 abc-doar



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

Optiunea 3 Command Clear

Apoi inchideti fereaastra de design si salvati fila cu un nume oarecare,

de exemplu Meniu.mnx.Pentru a verifica meniul,apasati butonul Run.Daca

doriti sa apelati meniul dintr-o fila oarecare,deschideti fila in Form

Designer,deschideti fereastra Properties,alegeti Methods si apoi editati

evenimentul Right Click Event astfel:

DO Meniu.mpr

Apoi verificati fereastra cu Run Form si executati un click drept de

mouse.Meniul se va afisa sub forma unui Popup.

Daca doriti sa verificati definitia meniului,sau sa faceti unele

modificari,puteti deschide direct fila Meniu.mpr (cu Open).Observati ca

fila .mpr contine liniile de cod ce au fost editate automat de catre

instrumentul Shortcut Designer.Puteti efectua eventualele modificari si

apoi salvati fila actualizata.

Pentru a modifica fila,puteti apela si Shortcut Designer selectand

meniul in fereastra Project Manager si apoi apasand butonul Modify.

In Shortcut Designer,caseta Result permite patru variante: Bar#,

Command,Submenu sau Procedure.Daca alegeti optiunea Command nu trebuie

decat sa introduceti comanda dorita in caseta care se deschide automat

(ca in exemplul de mai sus).Cu Bar# si Submenu puteti forma meniuri mai

complexe ce contin si un meniu Popup,iar cu Procedure puteti inlocui

comanda prin o procedura completa.

EXEMPLU: in meniul realizat anterior,inlocuiti pentru Optiunea 3 textul

din caseta Result prin Procedure.Se va deschide o fereastra de dialog in

care confirmati ca doriti sa inlocuiti comanda si apoi se va afisa butonul

Create.Apasati butonul Create si apoi editati procedura in fereastra des-

chisa automat (Shortcut Designer - meniu - Optiunea 3 Procedure ):

Clear

? SYS(1)

? SYS(2)

? SYS(3)

Apoi inchideti Shortcut Designer,confirmati schimbarile,verificati cu Run.

Daca doriti sa utilizati elemente din meniul sistemului,din fereastra

Shortcut Designer apasati butonul Insert Bar si apoi alegeti optiunile

dorite.Daca doriti sa inlocuiti complet meniul sistem,alegeti Menus din

Project Manager,apoi New si apoi Menu.Realizati meniul la fel ca si cel

Shortcut si executati cu Run.Observati meniul ferestrei principale.

Meniul sistem sa va relua dupa ce inchideti si redeschideti programul.


-49- Project Manager - Code

Pe langa meniuri,din grupul Other puteti genera si file de tip text,

sau puteti adauga in proiect file de tip text editate anterior.Pentru

acest scop,alegeti optiunea Text Files si apoi apasati butonul New (sau

respectiv Add).

Ultimul grup de instrumente utile din fereastra Project Manager este

denumit Code si include urmatoarele optiuni: Programs,API Libraries si

Applications.Optiunea Programs se utilizeaza pentru a adauga file de tip

cod.Daca utilizati mai multe astfel de file,care se apeleaza reciproc,

este bine sa denumiti cat mai sugestiv fila principala (cea care coordo-

neaza toate actiunile din proiect).

Exemplu: alegeti Code,apoi Programs si apsati butonul New.Apoi editati

un set oarecare de comenzi: ? Time()

? Date()

Inchideti fereastra si salvati programul cu un nume cat mai sugestiv,

de exemplu: principal.prg.Pentru a verifica programul,selectati fila si

apoi apasati butonul Run.Aceasta va fi fila principala din proiect.

Pentru a adauga un nou program,alegeti Programs,apasati butonul New si

editati cel de al doilea program:

? 'Incepe programul 1 '

MessageBox('Sfarsitul programului 1'

Inchideti fereastra si salvati programul cu numele program1.prg.Puteti

verifica programul cu Run.

Repetati toate operatiile si adaugati inca un program de genul:

? 'Incepe programul 2 '

MessageBox('Sfarsitul programului 2')

Clear

Salvati programul cu numele program2.prg si apoi verificati cu Run.

Acum proiectul d-voastra contine trei programe ce pot fi apelate separat.

Fiecare program are o fereastra de tip mesaj,care introduce de fapt doar

un nivel de inrerupere prin care marcheaza sfarsitul programului.

Daca doriti sa interconectati cele trei programe,de exemplu sa le acce-

sati pe rand,puteti utiliza programul principal pentru a apela succesiv

celelalte programe.Alegeti fila "principal",apasati butonul Modify si apoi

adaugati la codul existent comenzile:

DO program1.prg

DO program2.prg

Salvati modificarile si executati cu Run.Acum cele trei programe vor fi

executate succesiv.Atentie-comanda trebuie sa include calea completa de

acces la program.Daca de exemplu proiectul d-voastra este inclus intr-un

director separat,denumit EXEMPLE,comanda corecta va fi :

DO Exemple/program1.prg

DO Exemple/program2.prg

In mod similar puteti lansa in executie un meniu,sau una dintre ferestrele

de tip Form realizata anterior.Pentru acest scop se va utiliza fila cu

extensia .mpr in cazul meniurilor si respectiv .scx in cazul ferestrelor.

De exemplu,daca proiectul contine o fereastra ce afiseaza un ceas digital

salvata cu numele de Ceas1.scx,fereastra va putea fi lansata in executie

din fila de cod cu o comanda de genul:

DO FORM Ceas1.scx (sau DO FORM Exemple/Ceas1.scx )

Pentru a vedea ce astfel de ferestre sunt accesibile in proiect,alegeti

din meniul principal Open si apoi cautati filele cu extensia .scx.


-50- Project Manager -legaturi

Incercati sa realizati un mic program in care sa deschideti pe rand

cateva dintre ferestrele realizate la exercitiile din grupul FORMS.

Celelalte doua optiuni,API Libraries si Applications se pot utiliza

pentru a adauga in proiect file din tipul respectiv(cu Add).

Ultimul grup din Project Manager,denumit Other Files se poate utiliza

pentru a adauga in proiect orice alt tip de fila auxiliara.In prim plan

sunt cele de tip .BMP,dar se poate include in proiect orice alt tip de

file.Se utilizeaza acest grup,mai ales pentru a simplifica la maximum

calea de acces la fila respectiva.

EXEMPLU: Daca includeti in proiect o fila oarecare de tip .BMP,aceasta

va putea fi utilizata in oricare dintre programele din proiect,direct,

fara sa fie necesar sa includeti calea completa de acces la fila.

Acestea sunt instrumentele de programare oferite de utilitarul Project

Manager.Dupa cum se poate observa,instrumentele oferite sunt suficiente

pentru a putea realiza programe si aplicatii complete.Nu trebuie decat sa

includeti in proiect toate filele necesare,sa realizati corect legaturile

dintre file si componente si apoi sa construiti proiectul pentru a genera

fila executabila.Intreaga operatiune seamana cu un joc de "puzzle",in

care trebuie sa amplasati fiecare piesa in pozitia potrivita.Programarea

este usoara,ca un joc de copil.

Modul in care se realizeaza legaturile dintre file,componente sau mo-

dule depinde de experienta si de imaginatia fiecarui programator.Esential

exista trei tipuri de solutii:

1.-filele si modulele pot fi accesate cu ajutorul unor controale de

tip buton de comanda,sau din interiorul metodelor si evenimentelor orica-

rui component al interfetei grafice.

2.-filele si componentele sau modulele unui program pot fi apelate cu

ajutorul meniurilor de tip bara de meniu sau de tip popup.

3.-filele si modulele pot fi interconectate intre ele cu ajutorul unei

file de cod,in care sunt apelate succesiv,in momentul executiei.

Bineinteles ca se pot imagina si diverse solutii mixte,in care se com-

bina cele trei tipuri esentiale.

Probabil ca cea mai utilizata solutie tehnica este cea care utilizeaza

bare de controale de tip buton,sau grupuri de butoane radio si checkbox.

In general solutiile de tip interfata grafica sunt mult mai apreciate de

catre utilizatori ("totul la un click de mouse").

Nu exista nici o regula fixa.Este recomandabil totusi sa realizati

sistemul de comanda si control cat mai simplu de utilizat.Nu supraestimati

experienta sau inteligenta utilizatorului.Pentru fiecare actiune sau co-

manda utilizati un titlu cat mai sugestiv,sau adaugati si o fereastra de

dialog in care explicati modul in care se utilizeaza controlul respectiv.

Visual Fox este un program visual,special conceput pentru a realiza o

interfata grafica cat mai accesibila si primitoare.Nu ezitati sa utilizati

toate facilitatile grafice oferite : culori,fonturi,icon-uri,desene si

reprezentari grafice,efecte speciale de tip audio-video etc.

Daca nu aveti experienta anterioara,nu va lansati la programe extrem de

complexe.Realizati module pentru fiecare operatie de care aveti nevoie,

apoi alegeti o solutie oarecare prin care sa legati modulele intre ele.

Pastrati fiecare modul.La un progam viitor nu va mai trebui decat sa ale-

geti cateva dintre modulele preferate si sa imaginati tipul de conexiune.

Cu cat sunteti mai organizati,cu atat munca de programare este mai usoara.


-51- CLASE si SUBCLASE

Toate obiectele utilizate in exemplele de pana acum au fost obiecte

vizuale,derivate din clase standardizate incluse in nucleul de operare

al programului.Acest nucleu de baza,este format din urmatoarele clase:

CheckBox,Column,ComboBox,CommandButton,CommandGroup,Container,Control,

Cursor,Custom,DataEnviroment,EditBox,Form,FormSet,Grid,Header,Image,Label,

Line,ListBox,OLEControl,OLEBoundControl,OptionButton,OptionGroup,Page,

PageFrame,Relation,Separator,Shape,Spinner,TextBox,Timer,ToolBar.Acest

set de clase de baza nu poate fi modificat sau sters si trebuie sa poata

fi accesibil in program in orice moment.O parte dintre aceste clase sunt

clase vizuale si sunt reprezentate in bara de componente utilizate pentru

design,in timp ce altele nu sunt clase vizuale si nici nu apar in bara de

componente.Clasele de baza se utilizeaza pentru a realiza aplicatii stan-

dard.Este recomandabil sa utilizati aceste clase,ori de cate ori doriti

sa realizati aplicatii pe care urmeaza sa la partajati si cu alti utili-

zatori mai putin experimentati.Programele realizate exclusiv cu astfel de

clase,sunt foarte usor de depanat si modificat,sau transformat,chiar si

de catre programatori din tari diferite sau cu culturi diferite.Toate

clasele din nucleul de baza sunt insotite si de explicatii destul de clare

si de amanuntite (in programul Help),astfel incat nu ridica probleme deo-

sebite de implementare sau depanare.

Pe langa aceste clase,se pot programa si utiliza si clase auxiliare,

definite si exploatate de catre programator.Exista mai multe moduri de a

crea si exploata o clasa noua.Cea mai simpla si cea mai utilizata metoda

este de a crea o subclasa,derivata din una dintre clasele de baza.Prin

acest tip de definitie,subclasa realizata mosteneste toate proprietatile,

metodele si evenimentele clasei din care a fost formata,la care se adauga

si proprietatile sau metodele nou adaugate.In functie de clasa de baza

utilizata ca sablon,subclasa obtinuta va fi tot o clasa vizuala (Exemple:

CommandButton,EditBox,Grid etc.) sau va fi o clasa care nu este vizibila

in timpul executie (Exemple: Timer,Page,Column) dar contine o serie de

definitii sau proceduri necesare in timpul executiei.Clasele vizuale rea-

lizate astfel vor putea fi adaugate in bara de componente,la fel ca si

componentele de tip ActiveX si for putea fi utilizate in procesul de con-

structie si design a aplicatiilor,exact la fel ca si clasele de baza.O

metoda mai complexa si mai laborioasa,este de a crea si implementa toate

clasele noi cu ajutorul unor linii de cod.In acest caz,clasa se va crea

cu o comanda de tipul DEFINE CLASS.....ENDDEFINE iar obiectele derivate

din clasele nou definite se vor obtine prin comenzi de tipul CREATE OBJECT

dupa incarcarea filei sursa cu o comanda de tipul SET CLASSLIB TO.

Fiecare dintre cele doua metode are avantajele si dezavantajele sale.

Prima metoda este extrem de simpla,utilizeaza instrumentele grafice de

programare,produce obiecte vizuale ce pot fi incluse in bara de componente

si formeaza clase complexe in care majoritatea proprietatilor si a meto-

delor sunt gata definite.Dejavantajul major il reprezinta consumul de

memorie.Fiecare obiect derivat dintr-o astfel de clasa,ocupa in memorie

spatiul necesar unui obiect complet,cu toate proprietatile,functiile si

metodele obiectului original.In situatiile in care doriti sa utilizati un

obiect doar pentru a executa o operatie simpla,sau pentru a apela doar o

singura metoda,este mult mai economic sa definiti o clasa nonvizuala.Cea

de a doua metoda,este mult mai laborioasa,dar permite realizarea de clase

extrem de simple,cu o singura proprietate sau o singura metoda.


-52-

Decizia se va lua in functie de experienta programatorului,dar si in

functie de necesitatile de programare.Daca este necesar un numar mare de

astfel de clase noi,se vor prefera solutiile care consuma cea mai putina

memorie.Daca este necesara o singura clasa,se va alege ca sablon clasa

care ofera solutia cea mai generoasa,chiar daca o parte dintre proprietati

nu vor fi exploatate niciodata.

In general,nu are rost sa creati subclase,decat atunci cand clasele

de baza nu pot acoperii toate necesitatile de programare.Este recomanda-

bil sa realizati astfel de clase,atunci cand realizati aplicatii ce urmea-

za sa fie exploatate intensiv.Clasele nou create vor contine o serie de

proprietati si metode noi.Este bine sa insotiti programele astfel reali-

zate si cu o nota explicativa,in care sa descrieti cat mai clar,fiecare

clasa nou creata,scopul,metodele si modul de exploatare si depanare.De

cele mai multe ori,tot d-voastra o sa trebuiasca sa le depanati la nevoie.

Nu va bazati pe memorie,sau pe intuitia de moment.

Orice clasa nou creata va fi arhivata intr-o fila separata,cu extensia

.VCX.Filele de acest gen,poarta numele de biblioteca a clasei respective

(class library) si sunt necesare pentru a putea apela sau modifica clasa

respectiva.

EXEMPLU:

Cea mai simpla metoda de a crea o clasa noua este prin utilizarea in-

strumentului specializat denumit Class Designer.Pentru a deschide fereas-

tra Class Designer,introduceti in fereastra de comenzi comanda CREATE

CLASS,sau alegeti cu mouse din meniul File optiunea New,apoi Class si

apoi apasati butonul New File.

Se va deschide fereastra New Class.In caseta Class Name se va intro-

duce numele clasei realizate,iar in caseta Based On,se va alege tipul

clasei de baza utilizat ca sablon.De exemplu,daca doriti sa realizati o

clasa noua de tip buton de comanda,puteti introduce in prima caseta numele

clasei Buton1 si puteti selecta in caseta Based On tipul CommnandButton.

Completati apoi numele filei in care doriti sa salvati clasa : cmdButon1

Apoi confirmati apasand butonul OK.Este bine sa utilizati atat pentru

numele clasei,cat si pentru numele filei denumiri cat mai sugestive,astfel

incat sa fie cat mai usor de identificat la prima vedere.Daca doriti,este

bine sa utilizati si conventia de formare a denumirilor oferita in manua-

lul HELP (vezi object naming conventions).Aceste prefixe nu sunt necesare,

dar ordoneaza munca de programare.Pentru o clasa de tip buton de comanda

se recomanda sa formati denumirea si cu prefixul "cmd".

Clasa se va arhiva automat in fila cmdButon1.VCX si se va deschide

fereastra Class Designer - cmdbuton1.vcx(buton1),in care puteti observa

forma finala a obiectului.Daca nu efectuati nici o modificare,obiectul

astfel realizat va fi identic cu un buton de comanda standard,dar va avea

numele personalizat creat de d-voastra si va fi inclus intr-o fila de tip

.VCX ce poate fi distribuita impreuna cu aplicatia pe care o realizati.

Observati ca in meniul ferestrei principale a aparut o optiune noua,

denumita Class.Daca selectati aceasta optiune,se va deschide un meniu de

tip popup,cu urmatoarele optiuni: New Property,New Method,Edit Property/

Method,Include File si Class Info.

Pentru a adauga o metoda noua obiectului creat,alegeti optiunea New

Method.Alegeti un nume pentru noua metoda: de exemplu NumeButon si apoi

apasati butonul Add (eventual adaugati si o descriere sumara).


-53-

Apoi inchideti fereastra New Method.Inchideti fereastra Class Designer

si verificati prezenta filei cmdButon1.VCX (cu Open si Files of Type

Visual Class Library(*.vcx) ).Din meniul Open,selectati si deschideti

fila cmd.Button1.VCX.Se va deschide fereastra Open,in care va apare atat

numele filei cat si numele clasei.Confirmati cu Open.

Pentru a adauga o procedura oarecare la metoda nou definita in subclasa

proaspat realizata,executati un click drept de mouse pe butonl Command

din fereastra Class Designer si alegeti optiunea Code...

Se va deschide automat fereastra buton1.numebuton in care puteti edita

direct procedura directa (la nevoie puteti utiliza butonul de scroll din

caseta Procedure pentru a ajunga la metoda dorita).Editati ceva de genul:

This.Caption = 'XXXXXXX'

In acest moment,butonul realizat de d-voasta va avea si o metoda proprie

prin care se poate schimba automat numele butonului la 'XXXXXXX'.

Inchideti fereastra buton1.numebuton si apoi fereastra Class Designer si

obiectul d-voastra este gata sa fie utilizat.

Deschideti o fereastra Project Manager,alegeti Forms si apoi New si

New Form.Pentru a putea utiliza noua clasa in Form Designer,alegeti din

bara de componente butonul View Classes si selectati optiunea Add.Din

fereastra Open,alegeti fila cmd.Buton1.VCX si confirmati cu Open.In

bara de componente se va afisa butonul "Cmdbuton1".Executati un click pe

acest buton si apoi un click in fereastra.

Daca deschideti fereastra Properties,butonul creat va fi denumit

Buton11 (Buton1+1).

Pentru a verifica metoda implementata de d-voastra,selectati butonul,

apoi alegeti in fereastra properties Methods si Click Event si editati

urmatoarea procedura:

ThisForm.Buton11.NumeButon

Inchideti fereastra Buton11.Click si apoi verificati fereastra nou

creata cu Run Form.Salvati fila cu un nume oarecare si apoi apasati

butonul in timpul executiei.Daca totul este corect,numele butonului se

va schimba din Command1 in 'XXXXXXX'.

In mod similar,puteti adauga oricate metode personalizate la butonul

nou creat.

Deschideti din nou fila cmdButon1.VCX (cu Open) si alegeti din meniul

Class optiunea Class Info.Pentru ca butonul d-voastra sa fie afisat in

bara de componente cu o imagine oarecare personalizata,alegeti caseta

Toolbar icon,apasati butonul cu trei puncte si selectati una dintre

filele de tip .BMP din fereastra Open (de exemplu Fox). In mod similar

puteti adauga o imagine si pentru Container icon.

Daca doriti sa verificati prezenta metodei adaugate de d-voastra,

alegeti Members si apoi derulati lista pana la capat.Metoda noua nu va

fi inserata alfabetic ci va fi adaugata la capatul listei.

Pentru ca butonul sa apara in bara de instrumente cu noua infatisare,

alegeti din nou butonul View Classes si apoi deselectati si reselectati

butonul cmdbuton1 (ca sa fie reincarcata fila actualizata).

Aceasta este metoda cea mai simpla de a crea o subclasa.Toate codurile

necesare pentru generarea subclasei vor fi scrise automat de catre instru-

mentul de editare.Astfel se evita orice eroare posibila.Aceasta metoda

este recomandabila atat pentru incepatori cat si pentru a genera subclase

Yüklə 1,41 Mb.

Dostları ilə paylaş:
1   ...   4   5   6   7   8   9   10   11   ...   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