Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Baze de Date - Meniu in VFP - Visual Fox Pro

fox pro



+ Font mai mare | - Font mai mic



Meniuri in VFP

Din perspectiva contactului cu utilizatorul, punctul de plecare sau poarta catre functionalitatea practica a unei aplicatii, prin obiecte cum sunt formularele sau rapoartele, presupune existenta unui element de interfata care sa concentreze si sa structureze caile de acces in "universul" sistemului. In etapa de dezvoltare, instrumentul Project Manager asigura navigarea si accesul la structurile interne ce formeaza aplicatia. In etapa de exploatare, cel mai des folosite instrumente de acces si navigare catre sau prin structura functionala a aplicatiei sunt meniurile insotite eventual de bare de instrumente personalizate. Meniul integreaza de fapt toate celelalte elemente de interfata si defineste pentru utilizator trasaturile sau caracteristicile generale ale aplicatiei.



1. Crearea meniurilor folosind generatorul de meniuri al Visual FoxPro

Pentru construirea unui meniu nu ne vom "adanci" in sintaxe de comenzi specifice, ci vom merge pe o cale mult mai simpla, propusa de mediul VFP prin instrumentul Menu Designer (asistentul de proiectare a meniurilor). Este adevarat, la "inceputurile' FoxPro-ului, singura modalitate de a defini optiunile unui meniu, modul de structurare a acestora si actiunile ce urmau sa aiba loc la selectarea uneia dintre ele era scrierea unui program in care se invocau comenzi de genul DEFINE PAD, DEFINE POPUP, DEFINE BAR, ON SELECTION BAR si altele de acest gen. Mai tarziu a fost integrat in FoxPro un stramos al generatorului de meniuri de astazi si anume Menu Builder, a carui sarcina era crearea programului-sursa pentru definirea meniului si compilarea lui. in Visual FoxPro, instrumentul Menu Designer are aceeasi sarcina ca si predecesorul lui, rezultatul final concretizandu-se in principal intr-un fisier cu extensia .MPR (programul--sursa) si un fisier .MNX (forma compilata).

Procesul de creare a unui meniu pentru intreaga aplicatiei sau doar pentru o componenta a ei poate fi structurat in cinci etape:

1.                        Planificarea si proiectarea meniului, adica luarea deciziei asupra structurii generale - sau, altfel spus, "care sunt submeniurile si optiunile acestora ?'.

2.                        Crearea efectiva a meniurilor si submeniurilor, adica declararea, folosind Menu Designer, a titlurilor optiunilor din bara principala, a optiunilor corespunzatoare submeniurilor s.a.m.d.

3.                        Specificarea actiunilor ce vor fi declansate prin selectarea optiunilor meniului, care ar putea insemna afisarea formularelor, rapoartelor sau lansarea in executie a unor proceduri ce realizeaza sarcini specifice. In plus, se poate include o secventa de cod pentru initializarea mediului inainte de activarea propriu-zisa a meniului sau a unei secvente de cod pentru restabilirea - "curatarea' - mediului dupa parasirea meniului (dezactivarea/stergerea lui din memorie).

4.                        Generarea programului (a secventei de comenzi DEFINE PAD, DEFINE POPOUP, DEFINE BAR, ON SELECTION BAR corespunzatoare componentei meniului din cadrul proiectului aplicatiei).

5.                        Rularea si testarea programului generat anterior.

1.1. Planificarea meniului aplicatiei

Prin urmare, inainte de a incepe propriu-zis construirea meniului aplicatiei, este recomandabil, la fel ca in cazul formularelor sau rapoartelor, schitarea submeniurilor principale si optiunilor acestora, din cel putin doua motive: (1) structurarea optiunilor din meniu in asa fel incat sa reflecte o anumita logica functionala, usor de inteles din partea utilizatorilor care vor exploata efectiv aplicatia; si (2) luarea in considerare a tuturor functiilor aplicatiei, pentru a se evita omiterea accidentala a unei componente, compilate si deci parte integrata in sistem, dar imposibil de accesat.

Fara a avea pretentia ca ar fi cea mai buna structura functionala (o mare importanta aici o are partea de analiza si proiectare care ar trebui sa evidentieze principalele functii sau "cazuri de utilizare' ale sistemului), propunem urmatorul format pentru meniul principal al aplicatiei : □ meniul-bara va fi compus din urmatoarele submeniuri:

.        Nomenclatoare - care va permite accesul catre formularele ce actualizeaza datele din tabelele de referinta cum sunt Persoane, Clienti sau Produse;

.        Operatiuni - care va permite accesul la formularele responsabile de principalele tranzactii economice deservite prin aplicatie, adica facturari si incasari;

.        Liste/Informatii - care va cuprinde o serie de optiuni prin care utilizatorul va avea acces la informatiile necesare din sistem. Prin urmare, vor fi invocate in primul rand rapoartele predefinite (parametrizate sau nu) sau alte obiecte grafice cum ar fi, de exemplu, diagramele tip chart;

.        Administrare/Configurare - care va fi alcatuit dintr-o serie de optiuni ce vor avea legatura cu intretinerea bazei de date (crearea copiilor de siguranta/arhivarea si refacerea/restaurarea bazei de date si indecsilor - problema acuta in VFP) si configurarea mediului software/hardware in care rezida aplicatia (retea, imprimanta etc);

.        Asistenta - care va constitui o punte catre sistemul de help al aplicatiei;

. Iesire - care va desemna caile prin care se poate parasi aplicatia.


Schema de baza a meniului principal ar putea arata ca in figura 1.

Nomenclatoare

Operatiuni

Liste/Inform.

Admin./Config.

Asistenta

Iesire

Persoane

Facturari

Lista clienti

Admin. BD

Continut si index |

Produse

Incasari

Lista facturi

Config. Retea

Clienti

Raport vanzari

Config. Imprimanta

Alte informatii

Figura 1. Schema initiala a meniului principal


1.2. Crearea/definirea meniului principal si submeniurilor corespunzatoare

Lansarea generatorului de meniuri al VFP se poate face in doua moduri. Pe de o parte, din Project Manager se poate selecta din tab-ul Other nodul Menus (in cazul in care se doreste modificarea unui meniu deja creat, se expandeaza acest nod si se selecteaza numele acestuia) si apoi se "apasa' butonul New (sau Modify, pentru un meniu existent). Pe de alta parte, se poate executa comanda CREATE MENU din fereastra de comenzi a VFP.

Atentie! Din fereastra ce se lanseaza dupa apelarea butonului New se va merge pe varianta Menu.

Lucrul cu instrumentul Menu Designer este relativ simplu, principala dificultate (oarecum) fiind dispunerea viitoarelor optiuni din bara principala intr-o coloana verticala si nu orizontala (vezi figura 2).


Figura 2. Lansarea instrumentului Menu Designer

Definirea efectiva a meniului incepe mai intai cu bara principala (Nomenclatoare, Optiuni, Liste), care va inlocui in momentul executiei meniul sistem (File, Edit, View.). Astfel, in coloana Prompt a Menu Designer-ului se vor consemna titlurile care vor desemna optiunile ce vor forma meniul principal, iar in coloana Result se va specifica ce actiune va avea loc ca urmare a selectiei fiecarei optiuni. Lista derulanta din fiecare linie a coloanei Result poate lua una dintre urmatoarele valori:

.         Submenu - permite crearea unui submeniu care va fi activat in urma selectiei respectivei optiuni (in coloana din dreapta va aparea un buton Create, prin "apasarea' caruia se va deschide calea catre specificarea unui submeniu);

.         Command - permite specificarea in coloana din dreapta a unei comenzi VFP obisnuite, care va fi executata in urma selectarii optiunii curente;

.         Procedure - permite specificarea codului-sursa pentru un program VFP care va fi lansat in executie ca urmare a selectarii respectivei optiuni (in coloana din dreapta va aparea un buton Create, actionarea acestuia determinand lansarea unei ferestre de editare cod-sursa);

. Pad Name - numele intern al unei optiuni.

Revenind in contextul exemplului nostru, in coloana Prompt se vor specifica titlurile: Nomenclatoare, Operatiuni, Liste/Informatii, Admin/Configurare, Asistenta, Iesire. Pentru toate aceste titluri se va specifica drept rezultat Submenu, cu exceptia optiunii Iesire, pentru care se va specifica Command, iar pe coloana a treia se va scrie deocamdata instructiunea SET SYSMENU TO DEFAULT, din ratiuni de simplificare a procesului de testare-depanare. Aceasta instructiune determina revenirea la meniul principal al sistemului Visual FoxPro. Ulterior, in faza finala, se poate inlocui aceasta comanda cu instructiunea QUIT, care determina parasirea efectiva si imediata a mediului VFP.

Trecerea pe nivelul urmator in definirea unei optiuni din meniul-bara se face apasand butonul CREATE sau EDIT (pentru revenirea intr-un submeniu creat anterior). In lista combinata situata in coltul dreapta-sus a Menu Designer-ului si etichetata Menu Level va aparea numele submeniului ale carui optiuni sunt create/editate la un moment dat. Aceasta lista permite revenirea pe nivelul (nivelurile) anterioare. Prin urmare, navigarea printre submeniurile aplicatiei se poate realiza in Menu Designer prin butoanele CREATE/EDIT (in adancime) si prin lista Menu Level (inapoi) - vezi figura 3.

Figura 3. Calea de navigare de pe un nivel superior pe un nivel inferior (meniu - submeniu) si invers

Tinand cont de aceste precizari, se pot implementa cu usurinta in Menu Designer specificatiile din tabelul 1.


Tabelul 1. Specificatii pentru meniul aplicatiei

Titlu optiune sau submeniu

Rezultat

Meniul-bara

Submenu

Nomenclatoare

Submenu

Persoane

Command

do form frmPersoane

Produse

Command

do form frmProduse

Clienti

Command

do form frmClienti

Operatiuni

Submenu

Facturari

Command

do form FrmLiniiFact

Incasari

Command

WAIT WINDOW 'Under construction'

Liste/Informatii

Submenu

Lista clientilor

Command

report form rep_clienti preview

Lista facturilor

Command

report form rep_facturi_clienti preview

Lista vinzarilor pe clienti

Command

report form rap_dinamic preview

Informatii din facturi

Command

do form frmtree_list

Administrare/Configurare

Submenu

Administrare BD

Submenu

Refacere indecsi

Command

do refacere_indecsi

Verificare indecsi

Command

do restrictii_referentiale_macro

Copie de siguranta BD

Command

WAIT WINDOW 'Under construction'

Restaurare BD

Command

WAIT WINDOW 'Under construction'

Configurare retea

Command

WAIT WINDOW 'Under construction'

Configurare imprimanta

Submenu

Imprimanta

Bar #

_mfi_sysprint

H

]gkfjkdghl.;mfi sysprint

Pagina

Bar #

_mfi_pgset

Asistenta

Submenu

Continut si index

Command

HELP

Despre

Command

WAIT WINDOW 'Under construction'

Iesire

Command

SET SYSMENU TO DEFAULT

Se poate trage cu usurinta concluzia ca specificatiile de mai sus sunt caracteristice unei etape intermediare in dezvoltarea aplicatiei; optiunile cu rezultatul WAIT WINDOW "Under Construction" semnifica faptul ca "inca se mai lucreaza' si pot fi incluse eventual intr-un prototip de evaluare-testare din partea utilizatorilor, nicidecum in faza finala de livrare.

1.3. Cai suplimentare de acces de la tastatura la optiunile din meniu si separarea optiunilor in cadrul submeniurilor

In faza de proiectare-planificare, pentru o impartire judicioasa a optiunilor, se poate cere impartirea acestora in grupuri chiar in interiorul submeniului din care fac parte, fara a se recurge la noi subniveluri (nu se recomanda crearea a mai mult de trei-patru niveluri

consecutive). De asemenea, pentru apelarea rapida a optiunilor celor mai des folosite se recomanda sa li se asocieze combinatii de taste cu rol de chei de acces.

Accesul optiunilor din meniu se poate face in doua moduri: (a) la nivelul submeniului si (b) shortcut-uri de la tastatura, fara sa fie necesara navigarea pana la nivelul submeniului din care face parte optiunea vizata.

Asocierea unei chei de acces a unui submeniu sau optiuni se realizeaza introducand simbolurile "<" inaintea literei care va juca acest rol. Spre exemplificare, vezi figura 4.



Figura 4. Transpunerea unei chei de acces in bara de meniu la "runtime"

Definirea unei combinatii de taste care sa acceseze direct o optiune din meniu, fara sa fie necesara o navigare explicita, se realizeaza astfel (vezi figura 5):

1.              Se selecteaza numele optiunii respective (coloana Prompt).

2.              Se actioneaza butonul din coloana Options pentru activarea dialogului Prompt Options.

3.              Se selecteaza casuta Key Label si se apasa combinatia de taste dorita pentru activarea respectivei optiuni.

4.              in casuta Key Text se specifica textul care va insoti in meniu numele optiunii respective.




Figura 5. Crearea unui shortcutde la tastatura si transpunerea "runtime'

Impartirea in grupuri distincte a optiunilor care formeaza un submeniu este posibila introducand in fereastra de editare a Menu Designer-ului a unei optiuni suplimentare pentru care este precizat ca titlu (in coloana Prompt) sirul "-', dupa cum se exemplifica in figura 6.



Figura 6. Separarea optiunilor unui submeniu


1.4. Includerea in meniul aplicatiei a unor submeniuri system

In anumite situatii, pentru definirea unor sarcini specifice ale aplicatiei este necesara "imprumutarea' unor functionalitati proprii sistemului Visual FoxPro. in exemplul nostru, pentru definirea parametrilor de configurare ai imprimantei sau pentru definirea unor parametri referitori la asezarea in pagina este utila invocarea in meniul aplicatiei a optiunilor corespunzatoare din meniul system al mediului Visual FoxPro. in acest sens, daca revenim in tabelul 1, vom observa ca optiunile AdministrareConfigurare->Conf igurare Imprimanta ->Imprimanta si AdministrareConfigurare->Configurare Imprimanta -> Pagina au ca rezultat Bar# cu __mfi_sysprint, respectiv __mfi_pgset.


Figura 7. Invocarea unor meniuri system ca optiuni ale meniului aplicatiei

Cele doua variabile nu reprezinta altceva decat numele intern al optiunilor File->Print si File->Page Setup ale meniului standard VFP (msysmenu).

In MSDN Library - Menu menu, Visual FoxPro system (internal) pot fi gasite numele interne ale tuturor optiunilor si submeniurilor care formeaza meniul system VFP. De asemenea, aceste nume interne pot fi afisate si folosind functia SYS(2013).

1.5. Dezactivarea optiunilor dintr-un meniu

La executie, exista situatii in care este necesara dezactivarea unor optiuni sau submeniuri, sau activarea acestora numai in functie de anumite conditii. in general, acest lucru este util atunci cand se construieste o politica de securitate pentru aplicatie, astfel incat activarea optiunilor care formeaza meniul sa fie facuta in functie de numele utilizatorilor care lucreaza la un moment dat sau in functie de privilegiile/drepturile asociate acestora.

In exemplul nostru, ar fi necesara o astfel de functionalitate pentru a se evita afisarea mesajelor Under construction pe care le-am asociat initial optiunilor aflate inca "in lucru".

Aceasta functionalitate poate fi realizata intorcandu-ne in fereastra Prompt Option apeland-o pentru optiunile vizate sa aiba un asemenea comportament. in aceasta fereastra se poate remarca existenta rubricii Skip For. Daca expresia specificata in aceasta rubrica este evaluata ca fiind .T., respectiva optiune va fi dezactivata; daca insa este evaluata ca fiind .F., optiunea va fi activata (vezi figura 8).


Figura 8. Dezactivarea unor optiuni sau submeniuri



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 4869
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved