CATEGORII DOCUMENTE |
Definirea barei unui meniu se face prin intermediul comenzii DEFINE MENU:
DEFINE MENU < nume meniu >
[ BAR [ AT LINE < expN1 > ]]
[in [ WINDOW ] < nume fereastra > | in SCREEN ]
[ KEY < eticheta tasta > ]
[ MARK < expC1 > ]
[ MESSAGE < expC2 > ]
[ NOMARGIN ]
[COLOR <lista perechi culori>
|COLOR SCHEME <expN2> ]
barei meniului I se atribuie un nume, < nume meniu >, urmand ca in continuare acest element sa fie identificat prin numele atribuit.
Clauza BAR se foloseste cu scopul de a prelua caracteristicile noii bare de meniu de la cea a meniului sistem al FoxPRO - ului. Urmatoarele aspecte sunt caracteristice meniului sistem:
dupa alegerea unei optiuni bara de meniu se dazactiveaza;
bara de meniu va acoperi o singura linie a ecranului sau a ferestrei in care este plasata, de la un capat la altul;
pozitia submeniurilor va fi stabilita de FoxPro, in mod automat;
daca bara va avea dimensiuni mai mari decat ecranul sau fereastra in care s-a introdus , se va folosi metoda defilarii pentru accesarea optiunilor bara.
Clauza AT LINE determina afisarea barei meniului pe linia cu numarul expN1 a ecranului sau a ferestrei respective.Clauzelein WINDOW siin SCREEN sunt folosite pentru a specifica locul unde va fi plasata bara meniului:
-in fereastra nume fereastra,dacain comanda se include cauzain WINDOW;
-in fereastra curenta,daca aceasta ezista si in camanda nu este prezenta nici una din cele doua clauze;
-in ecranul FoxProW daca se precizeaza clauzain SCREEN sau nu se specifica nici una din cele doua clauze,iar iesirea curenta este directionata spre ecran.
Clauza MESSAGE determina afisarea sirului de caractere < expC > pe ultima linie a ecranului, in centrul acestuia sau in barea de stare de la partea inferioara a ferestrei, daca aceasta exista. Clauza este influentata de comanda SET MESSAGE. Optiunile bara ameniului vor fi afisate una dupa alta, pe bara meniului, acestea fiind separate prin blancuri. Eliminarea blancurilor separatoare se face introducand clauza NOMARGIN in comanda DEFINE MENU respectiva.
Clauza COLOR si COLOR SCHEME controleaza culorile folosite pentru afisarea meniului. Implicit, afisarea meniului se va face folosind culorile schemei 2 de culori, " Meniuri definite de utilizator", pentru folosirea altei cheme folosindu-se una dintre cele doua clauze COLOE si COLOR SCHEME.
Dupa definirea unei bare a meniului trebuie sa definim optiunile bara care vor apartine barei respective, aceasta relizandu-se cu comanda DEFINE PAD:
DEFINE PAD < optiune bara > OF < nume meniu > PROMPT < expC1 >
[ AT < linie >, < coloana >]
[ BEFORE <optiune bara2> AFTER < optiune bara3 >]
[ KEY < eticheta tasta > [ , < expc2 > ]]
[ MARK < expc3 > ]
[ SKIP [ FOR < expL > ]]
[ MESSAGE < expc4 > ]
[ COLOR < lista perechi culori > COLOR SCHEME < expn > ]
Numele optiunii bara va fi < optiune bara >, iar bara de meniu de care aceasta va apartine va fi < nume meniu >. Textul care va fi afisat pe bara meniului va fi cel dat de clauza PROMPT, adica sirul de caractere < expC1 >. Stabilirea unei taste directe de alegere a optiunii bara respective se realizeaza prin plasarea combinatiei " < " inaintea caracterului ce va desemna tasta directa, in textul clauzei PROMPT.
Exemplu: ..... PROMPT " < Stergere " ...
Va defini un text a unei optiuni bara, "Stergere ", in care tasta directa de alegere va fi " S ".
Daca in textul clauzei PROMPT caracterul selectat care reprezinta tasta directa nu este primul de acest tip, atunci ca tasta directa de alegere va fi aleasa prima aparitie a caracterului respectiv din sir.
Exemplu: .... PROMPT "Alb < astru "...
In acest caz vom avea textul "Albastru" in care " A " va reprezenta tasta directa de alegere ( de fapt selectarea se poate face atat prin tastarea lui " A " cat si tastarea lui " a " ).
Clauza AT determina pozitia de pe ecran sau fereastra unde va fi afisata optiunea bara respectiva: linia va fi desemnata prin < linie >, iar coloana prin <coloana>. In felul acesta se pot optine atat meniuri verticale si orizontale, cat si alte genuri de meniuri, neregulate.
In cazul in care clauza AT lipseste, afisarea optiunilor bara se va face incepand de la linia 0, coloana 0, una dupa alta, pe directia orizontala. Clauza AT nu se poate folosi pentru o bara a meniului definita cu clauza BAR ( acestea sunt intotdeauna orizontale, iar pozitia optiunilor bara este controlata automat de catre FoxPro ).
Ordinea de aparitie si selectarea optiunilor bara ale unui meniu este data de ordinea definirii acestora prin comenzile DEFINE PAD corespunzatoare. Daca dupa definirea unui numar de optiuni bara se doreste inserarea uneia noi intre cele definite anterior, se foloseste una dintre clauzele BEFORE sau AFTER.
Clauza BEFORE determina inserarea lui < optiune bara1 > imediat inainte de < optiune bara2 >, iar clauza AFTER determina inserarea lui < optiune bara1 > imediat dupa < optiune bara3 > .
Exemplu:
DEFINE MENU test
DEFINE PAD opt1 OF test PROMPT ' Opt < 1 '
DEFINE PAD opt2 OF test PROMPT ' Opt < 2 '
DEFINE PAD opt3 OF test PROMPT ' Opt < 3 '
Acelasi lucru se poate obtine cu una din urmatoarele secvente:
DEFINE MENU test
DEFINE PAD opt1 OF test PROMPT ' Opt < 1 '
DEFINE PAD opt3 OF test PROMPT ' Opt < 3 '
DEFINE PAD opt2 OF test PROMPT ' Opt < 2 ' BEFORE opt3
Sau
DEFINE MENU test
DEFINE PAD opt1 OF test PROMPT ' Opt < 1 '
DEFINE PAD opt3 OF test PROMPT ' Opt < 3 '
DEFINE PAD opt2 OF test PROMPT ' Opt < 2 ' AFTER opt1
test: Opt 1 Opt 2 Opt 3
clauza KEY se foloseste pentru definirea unei cai directe de alegere a optiunii bara respective. Calea directa de alegere reprezinta o combinatie de taste care actionate la un moment dat, determina alegerea optiunii respective. Combinatia de taste va fi desemnata printr-o eticheta, < eticheta tasta >.
O optiune bara care este prevazuta cu o cale directa de alegere va fi afisata avand la dreapta ei eticheta respectiva. Daca se doreste inhibarea acestei afisari, sau afisarea unui alt text in locul etichetei, se va folosi sirul de caractere < expC2 > care poate contine :
textul de afisat in dreapta optiunii bara, sau
poate fi sirul vid, cand se doreste suprimarea afisarii caii directe alaturi de optiunea bara.
Exemplu:
DEFINE PAD opt1 OF test PROMPT ' Opt < 1 ' KEY Ctrl + H, "^H"
Opt 1 ^H Opt 2 Opt 3
Pentru stabilirea conditiilor de accesare a unei optiuni bara se foloseste clauza SKIP. Daca aceasta clauza se foloseste fara FOR, optiunea bara respectiva nu va putea fi accesata, adica ea este dezactivata.
De asemenea dezactivarea unei optiuni bara se poate face prin plasarea caracterului " " inaintea textului din clauza PROMPT.
Clauza MESSAGE determina afisarea textului din sirul < expC4 > cat timp optiunea bara respectiva este selectata. Afisarea mesajului este controlata de comanda SET MESSAGE.
Exemplu: comenzile urmatoare sunt echivalente:
DEFINE PAD opt1 OF test PROMPT " Alea "
DEFINE PAD opt1 OF test PROMPT " Alea " SKIP
Clauzele COLOR si COLOR SCHEME specifica culorile folosite pentru afisarea optiunii bara, implicit folosindu-se schema de culori 2.
Exemplu : vom defini bara de meniu de mai jos:
Modificare Adaugare ^N Stergere Listare Vizualizare Iesire ^ K
in care optiunile mai sterse sunt dezactivate, literele subliniate reprezinta taste directe de alegere, ^N , ^K reprezinta cai directe de alegere.
DEFINE MENU actiune
DEFINE PAD mod OF actiune PROMPT " < Modificare "
DEFINE PAD adaug OF actiune PROMPT " < Adaugare " KEY Ctrl + N , ^N
DEFINE PAD sterg OF actiune PROMPT " < Stergere " SKIP BEFORE adaug
DEFINE PAD listare OF actiune PROMPT " < Listare "
DEFINE PAD viz OF actiune PROMPT " < Vizualizare "
DEFINE PAD ies OF actiune PROMPT " < Iesire " KEY Ctrl + X, "^ K " AFTER viz
Submeniurile se definesc prin comanda DEFINE POPUP :
DEFINE POPUP < nume submeniu >
[ FROM < linie1 >, < coloana1 > ]
[ TO < linie2>, < coloana2> ]
[in [WINDOW] <nume fereastra > | in SCREEN ]
[ FOOTER <exp C1 > ] [ TITLE < expC2 > ]
[ KEY < eticheta tasta > ]
[ MARGIN ]
[ MARK <expC3 > ]
[ MESSAGE <expC4 > ]
[ MOVER ]
[ MULTISELECT ]
[ PROMPT FIELD <expr> | PROMPT FILES [LIKE <masca>] | PROMPT STRUCTURE]
[ RELATIVE ]
[ SCROLL]
]SHADOW ]
[ COLOR <lista perechi culori > | COLOR SCHEME <expN>]
Un submeniu reprezinta o lista de optiuni care pot fi de urmatoarele tipuri:
-optiuni definite de utilizator ( prin comenzi DEFINE BAR );
-optiuni calculate pe baza continutului unor inregistrari ale unei baze de date ( PROMPT FIELD )
-campuri ale unei baze de date ( PROMPT STRUCTURE );
-o lista de fisiere dintr-un anumit director, de pe un anumit disc ( PROMPT FILES ).
Numele submeniului va fi < nume submeniu >. Pozitia acestuia pe ecran sau intr-o fereastra va fi data de clauza FROM, in care < linie1 >, < coloana1 > indica pozitia coltului din stanga - sus al submeniului. Daca aceasta clauza lipseste, submeniul va fi plasat in coltul din stanga - sus al ecranului FoxPro sau al ferestrei active, in pozitia 0,0
Clauza TO este folosita pentru a indica pozitia coltului din dreapta - jos al submeniului, prin coordonatele < linie2 >, < coloana2 >, acestea determinand si marimea submeniului pe ecran. In cazul cand aceasta clauza lipseste, FoxPro va calcula automat dimensiunea submeniului.
Pentru ca submeniul sa fie plasat intr-o fereastra definita de utilizator, numele acesteia, < nume fereastra >, va fi inclus in clauzain WINDOW. Daca aceasta clauza lipseste, submeniul va putea fi introdus intr-o fereastra in cazul cand iesirea este directionata catre acea fereastra ( fereastra curenta ) si in comanda DEFINE POPUP nu s-a inclus clauzain SCREEN. Submeniul va fi plasat pe ecranul FoxPro daca este prezenta clauzain SCREEN sau daca nu s-a specificat nici clauzain WINDOW si nici clauzain SCREEN si iesirea este directionata spre ecran.
Clauza TITLE se foloseste pentru afisarea textului dat de sirul < expC2 >in centrul laturii superioare a chenarului submeniului, iar clauza FOOTER permite afisarea textului din sirul < expC! > in latura inferioara a chenarului submeniului. Clauza KEY se foloseste in scopul de a specifica o cale directa pentru activarea submeniului, cale data de eticheta < eticheta tasta >.
Cat timp submeniul este activat se poate afisa un text explicativ, un mesaj, pe ultima linie a ecranului sau a ferestrei respective. Mesajul este dat prin < expC4 > , expresie de tip sir de caractere, inclusa in clauza MESSAGE. Clauza aceasta este controlata de comanda SET MESSAGE. Clauza MARGIN se include in comanda pentru ca optiunile sa fie separate de chenar printr-un spatiu suplimentar, la dreapta si la stanga acestora.
MOVER este o clauza ce permite rearanjarea optiunilor intr-un submeniu, cand acesta este activat. In prezenta acestei clauze, optiunile submeniului vor avea in dreapta lor caracterul "| " indicand posibilitatea de mutare a acestora. Clauza MOVER nu are efect in cazul submeniurilor create cu PROMPT.
O alta posibilitate a submeniului este cea a selectiilor multiple, adica posibilitatea utilizatorului de a selecta mai mult de o optiune. Fiecare dintre optiunile selectate va fi marcata in stanga ei, cu un caracter de marcaj. Aceasta facilitate este conditionata de prezenta clauzei MULTISELECT in comanda DEFINE POPUP.
Modul de selectare a mai multor optiuni depinde de comanda SET KEYCOMP. Dupa realizarea unei multiselectari, testarea in program a selectarii unei optiuni a unui submeniu se realizeaza cu functia MRKBAR(). Clauza MULTISELECT nu poate fi folosita in acelasi timp cu clauza PROMPT.
Tipul de submeniu va fi determinat de clauza PROMPT. Daca acesta clauza lipseste, optiunile submeniului urmeaza a fi definite cu comenzi de tipul DEFINE BAR.
In cazul clauzei PROMPT FIELD optiunile submeniului vor fi preluate dintr-o baza de date deschisa intr-una din zonele de lucru, pentru fiecare inregistrare cate o optiune. La activarea submeniului se va selecta automat zona de lucru respectiva.
Expresia < expr > va determina modul de obtinere a unei optiuni din inregistrarea corespunzatoare. Aceasta expresie poate contine campuri ale bazei de date deschisa in alta zona de lucru, in care se poate aplica operatorul de concatenare. Numarul maxim de optiuni ale unui submeniu creat dintr-o baza de date este nelimitat.
Exemplu:
CLEAR
USE agenda
DEFINE POPUP ag FROM 10 ,10 TO 20 , 23 MARGIN ;
PROMPT FIELD SUBSTR ( nume, 1 ,4 ) + " " + SUBSTR ( prenume, 1 , 4 )
ACTIVATE POPUP ag && se activeaza meniul
CLEAR POPUPS && se sterge submeniul definit
USE
Cea de-a treia comanda a exemplului defineste un submeniu numit ag, ale carui optiuni se obtin din primele patru caractere ale campurilor NUME si PRENUME, concatenate, cu un blanc intre ele.
Pentru ca optiunile submeniului sa reprezinte fisiere de pe un disc, dintr-un anumit dosar, se foloseste clauza PROMPT FILES.
Exemplu: se va defini un submeniu in care se vor afisa toate bazele de date din radacina discului A:
DEFINE POPUP test FROM 10, 10 MARGIN PROMPT FILES A: *. DBF
ACTIVATE POPUP test
CLEAR POPUPS
Clauza SCROOL are ca efect afisarea unei bare de derulare verticale, pe latura dreapta a chenarului submeniului, cand nu pot fi afisate simulta in submeniu toate optiunile.
Pentru definirea optiunilor uni submeniu, ce a fost definit anterior cu o comanda DEFINE POPUP, vom folosi comanda DEFINE BAR, cu sintaxa:
DEFINE BAR < expN1 > | < nume optiune sistem > OF < nume submeniu > PROMPT < expC1 >
[ BEFORE < expN2 > | AFTER < expN3 > ]
[ KEY <eticheta tasta > [ , < expC2 > ]]
[ MARK < expC43> ]
[ MESSAGE <expC4 > ]
[ SKIP [ FOR < expL > ]]
[ COLOR < lista perechi culori > | COLOR SCHEME < expN > ]
Definirea optiunilor intr-un submeniu se face asemanator cu definirea optiunilor bara, intr-o bara a unui meniu , ca urmare comenzile DEFINE BAR si DEFINE PAD sunt asemanatoare. Datorita acestui lucru, vom prezenta doar diferentele dintre cele doua comenzi.
Pentru fiecare optiune a unui submeniu se va introduce cate o comanda DEFINE BAR. Identificarea optiunilor intr-un submeniu se face prin pozitia acesteia in cadrul submeniului.
In cadrul comenzii DEFINE BAR referirea la o optiune se face prin < expN1 >, aceasta desemnand optiune cu numarul de ordine < expN1 > a submeniului < nume submeniu >. In cadrul submeniului definit de utilizator pot intra ca optiuni si cele ale meniului sistem, aceasta varianta fiind desemnata in comanda DEFINE BAR prin < nume optiune sistem>.
Prin clauza PROMPT se specifica textul ce va fi afisat pe pozitia optiunii in submeniul respectiv. In sirul de caractere < expC1> ce desemneaza textul respectiv, se pot introduce combinatiile " < ", pentru desemnarea unei taste directe de alegere, sau " " pentru a indica o optiune dezactivata.
Spre deosebire de comanda DEFINE PAD, sirul de caractere al clauzei PROMPT al comenzii DEFINE BAR, poate fi de forma " _ ", indicand ca pe pozitia optiunii respective se va introduce o linie de separare a optiunilor, permitand astfel gruparea logica a acestora. Clauzele BEFORE si AFTER sunt urmate de expresii numerice indicand " inaintea " careia, respectiv " dupa ce " optiune va fi introdusa noua optiune a submeniului. Aceste clauze nu pot fi folosite decat in prezenta clauzei RELATIVE in comanda de creare a submeniului.
In expresiile numerice ale acestor clauze pot fi incluse si variabilele sistem _ MFIRST si _MLAST, indicand primul si, respectiv, ultimul articol dintr-un submeniu.
Exemplu: se va defini urmatorul submeniu:
Albastru ....... Verde Rosu |
Negru Alb Galben |
DEFINE POPUP culori FROM 6 , 10 TO 14, 21 MARGIN MULTISELECT
DEFINE BAR 1 OF culori PROMPT " Alb<astru "
DEFINE BAR 2 OF culori PROMPT " <Verde " SKIP
DEFINE BAR 3 OF culori PROMPT " <Rosu "
DEFINE BAR 4 OF culori PROMPT " _ "
DEFINE BAR 5 OF culori PROMPT " <Negru "
DEFINE BAR 6 OF culori PROMPT " <Alb " SKIP
DEFINE BAR 7 OF culori PROMPT " <Galben"
ACTIVATE POPUP culori
CLEAR MENUS
Definirea unei bare de meniu sau a unui submeniu nu este suficienta pentru lucrul cu aceste elemente. Mai este necesara si afisarea si activarea lor, in acest mod bara de meniu sau submeniul aparand pe ecran si cursorul trecand pe una din optiunile elementului respectiv.
Afisarea si activarea unei bare de meniu se face cu comanda ACTIVATE MENU.
ACTIVATE MENU < nume meniu >
[ NOWAIT ]
[ PAD < nume optiune bara > ]
Comanda afiseaza si activeaza bara < nume bara >, selectand initial prima optiune bara. pentru selectarea initiala a altei optiuni bara se va folosi clauza PAD in care se va specifica optiunea bara dorita.
Clauza NOWAIT determina continuarea executiei programului dupa afisarea si activare barei de meniu ( in mod normal programul se opreste, asteptand selectarea unei optiuni bara ). Bara de meniu va ramane activa, utilizatorului dandu-i-se posibilitatea selectarii unei optiuni bara ori de cate ori programul asteapta introducerea unor date de la tastatura.
Exemplu:
CLEAR
DEFINE MENU domeniu
DEFINE PAD fizica OF domeniu PROMPT " <Fizica "
DEFINE PAD chimie OF domeniu PROMPT " <Chimie "
DEFINE PAD literat OF domeniu PROMPT " <Literatura "
DEFINE PAD sport OF domeniu PROMPT " <Sport "
ACTIVATE MENU domeniu PAD sport NOWAIT
@ 10, 10 SAY " domeniu " GET dom DEFAULT " "
READ
CLEAR
DEACTIVATE MENU domeniu
Fizica Chimie Literatura Sport
domeniu
Analog afisarii si activarii barei de meniu se face si afisarea si activarea submeniului. In acest caz folosindu-se comanda ACTIVATE POPUP, cu sintaxa:
ACTIVATE POPUP < nume submeniu >
[ AT < linie >, <coloana > ]
[ BAR < expN > ]
[ NOWAIT ]
[ REST ]
Aceasta comanda va afisa si activa submeniul < nume meniu > , la coordonatele specificate in clauza AT, < linie > si < coloana >.
Exemplu: bara de meniu domeniu, definita si activata in exemplul anterior, o vom defini acum sub forma unui submeniu:
DEFINE POPUP domeniu FROM 10 , 10 MARGIN
DEFINE BAR 1 OF domeniu PROMPT " <Fizica "
DEFINE BAR 2 OF domeniu PROMPT " <Chimie "
DEFINE BAR 3 OF domeniu PROMPT " <Literatura "
DEFINE BAR 4 OF domeniu PROMPT " <Sport "
ACTIVATE POPUP domeniu BAR 4 NOWAIT AT 2, 5
@ 10, 10 SAY " domeniu " GET dom DEFAULT " "
READ
CLEAR
DEACTIVATE POPUP domeniu
Fizica
Chimie
Literatura
Sport
domeniu
Observam analogiile dintre cele doua exemple , care practic realizeaza acelasi lucru, diferand doar formatul de afisare.
Afisarea pe ecran sau in fereastra activa , a barelor de meniu sau a submeniurilor fara activarea acestora, se realizeaza cu comenzile SHOW MENU SI SHOW POPUP cu urmatoarele sintaxe:
SHOW MENU < nume meniu1 > [ , < nume meniu2 > ..] | ALL
[ PAD < nume optiune bara > ]
[ SAVE ]
realizeaza afisarea barelor de meniu enumerate in lista ce urmeaza comenzii, sau a tuturor barelor de meniu, daca in locul listei se foloseste clauza ALL.
Pentru afisarea unei optiuni bara ca fiind selectata, aceasta se specifica prin clauza PAD. Pentru retinerea imaginii bara de meniu pe ecran, fara activarea acesteia, se foloseste clauza SAVE in comanda SHOW MENU. Aceasta imagine va putea fi stearsa prin comanda CLEAR.
Pentru afisarea submeniurilor vom folosi comanda SHOW POPUP.
SHOW POPUP < nume submeniu1 > [ , < nume submeniu2 > ..] | ALL
[ SAVE ]
functionarea acesteia fiind identica cu cea a comenzii anterioare.
Comanda HIDE MENU:
HIDE MENU < nume meniu1 > [ , < nume meniu2 > ..] | ALL
[ SAVE ]
ascunde barelor de meniu enumerate in lista ce urmeaza comenzii, sau a tuturor barelor de meniu, daca in locul listei se foloseste clauza ALL, dar nu le elimina din memorie.
Comanda HIDE POPUP :
HIDE POPUP < nume submeniu1 > [ , < nume submeniu2 > ..] | ALL
[ SAVE ]
ascunde submeniu enumerate in lista ce urmeaza comenzii, sau a tuturor barelor de meniu, daca in locul listei se foloseste clauza ALL
legatura dintre barele de meniu si submeniuri este de o importanta deosebita pentru realizarea de meniuri complexe. O simpla bara de meniu sau un simplu meniu se poate folosi independent in program ca orice alt meniu, dar majoritatea aplicatiilor necesita meniuri mai complexe, care se obtin prin imbinarea acestor elemente.
O prima modalitate de a lega la o bara de meniu un submeniu, sau o alta bara de meniu, este data de comanda ON PAD:
ON PAD < nume optiune bara > OF < nume meniu >
[ ACTIVATE POPUP < nume submeniu > ]
ACTIVATE MENU < nume meniu2 > ]
Comanda va avea urmatorul efect: la alegerea optiunii bara < nume optiune bara > a barei de meniu < nume meniu1 > se va activa submeniul < nume submeniu > sau bara de meniu < nume meniu2 >, in functie de clauza folosita in comanda.
Atentie: activarea submeniului sau a barei de meniu se va face la selectarea optiunii bara respective ) fara a fi nevoie de actionarea tastei Enter sau Space ).
Pentru activarea unui submeniu se foloseste clauza ACTIVATE POPUP urmata de numele submeniului, iar pentru activarea unei alte bare de meniu se foloseste clauza ACTIVATE MENU, dupa care se include numele barei respective. Daca nu se foloseste nici una dintre cele doua clauze, alegerea optiunii nu va mai determina activarea nici unuia dintre cele doua elemente, comanda folosindu-se in acest caz la eliberarea optiunii barei respective.
Exemplu: vom crea urmatorul meniu:
Calitate Culoare Pret Stare
Negru Satisfacatoare
Alb Buna
Albastru Foarte buna
Verde
Rosu
Galben
Format dintr-o bara de meniu si doua submeniuri.
CLEAR
DEFINE MENU art
DEFINE PAD calit OF PROMPT " < Calitate "
DEFINE PAD cul OF PROMPT " CU<loare "
DEFINE PAD pret OF PROMPT " < Pret "
DEFINE PAD stare OF PROMPT " < Stare
DEFINE POPUP culori
DEFINE BAR 1 OF culori PROMPT " < Negru "
DEFINE BAR 2 OF culori PROMPT " < Alb "
DEFINE BAR 3 OF culori PROMPT " AL<bastru "
DEFINE BAR 4 OF culori PROMPT " < - "
DEFINE BAR 5 OF culori PROMPT " < Verde "
DEFINE BAR 6 OF culori PROMPT " < Rosu "
DEFINE BAR 7 OF culori PROMPT Galben "
DEFINE POPUP stari
DEFINE BAR 1 OF stari PROMPT " < Satisfacatoare "
DEFINE BAR 2 OF stari PROMPT " < Buna "
DEFINE BAR 3 OF stari PROMPT " < Foarte buna "
ON PAD cul OF Art ACTIVATE POPUP culori
ON PAD stare OF Art ACTIVATE POPUP stari
ACTIVATE MENU art
DEACTIVATE MENU art
CLEAR POPUPS
CLEAR MENUS
Corespunzatoare comenzii ON PAD pentru optiuni bara, avem o comanda pentru optiunile unui submeniu, ON BAR, cu sintaxa:
ON BAR < expN > OF < nume submeniu1 >
[ ACTIVATE POPUP < nume submeniu > ] | ACTIVATE MENU < nume meniu > ]
La selectarea optiunii < expN > a submeniului < nume submeniu 1> se va activa submeniul < nume submeniu2 >, daca se include clauza ACTIVATE POPUP, sau bara de meniu < nume meniu > , in cazul precizarii clauzei ACTIVATE MENU. Daca nici una din cele doua clauze nu se include in comanda, optiunea < expN > a submeniului < nume submeniu1 > va fi eliberata ( nu va mai determina activarea unui element la alegerea sa ).
Pot fi create in acest fel mai multe nivele de submeniuri, sau mai multe submeniuri care coordoneaza bare de meniu ( mai rar ).
Exemplu: la meniul creat anterior se adauga doua submeniuri de nivel doi, unul pentru optiunea 3 ( " Albastru ") a submeniului culori si altul pentru optiunea 2 ( " Buna " ) a submeniului stari.
CLEAR
DEFINE MENU art
DEFINE PAD calit OF PROMPT " < Calitate "
DEFINE PAD cul OF PROMPT " CU<loare "
DEFINE PAD pret OF PROMPT " < Pret "
DEFINE PAD stare OF PROMPT " < Stare
DEFINE POPUP culori
DEFINE BAR 1 OF culori PROMPT " < Negru "
DEFINE BAR 2 OF culori PROMPT " < Alb "
DEFINE BAR 3 OF culori PROMPT " AL<bastru "
DEFINE BAR 4 OF culori PROMPT " < - "
DEFINE BAR 5 OF culori PROMPT " < Verde "
DEFINE BAR 6 OF culori PROMPT " < Rosu "
DEFINE BAR 7 OF culori PROMPT Galben "
DEFINE POPUP stari
DEFINE BAR 1 OF stari PROMPT " < Satisfacatoare "
DEFINE BAR 2 OF stari PROMPT " < Buna "
DEFINE BAR 3 OF stari PROMPT " < Foarte buna "
ON PAD cul OF Art ACTIVATE POPUP culori
ON PAD stare OF Art ACTIVATE POPUP stari
DEFINE POPUP nuanta
DEFINE BAR 1 OF nuanta PROMPT " < Deschis "
DEFINE BAR 2 OF nuanta PROMPT " < Normal "
DEFINE BAR 3 OF nuanta PROMPT " < Inchis "
DEFINE POPUP verif
DEFINE BAR 1 OF verif PROMPT " < Verificat "
DEFINE BAR 2 OF verif PROMPT " < Neverificat "
ON PAD cul OF Art ACTIVATE POPUP culori
ON PAD stare OF Art ACTIVATE POPUP stari
ON BAR 3 OF culori ACTIVATE POPUP nuanta
ON BAR 2 OF Stari ACTIVATE POPUP verif
ACTIVATE MENU art
DEACTIVATE MENU art
In acest exemplu avem urmatorul meniu:
Calitate Culoare Pret Stare
Negru Satisfacatoare
Alb Buna Verificat
Albastru Deschis Foarte buna Neverificat
Verde Normal
Rosu Inchis
Galben
Pentru ca la alegerea unei optiuni bara, sau a unei optiuni a unui submeniu, sa se execute operatii mai complexe vom folosi grupul de comenzi ON SELECTION, format din urmatoarele patru comenzi:
ON SELECTION MENU
ON SELECTION PAD
ON SELECTION POPUP
ON SELECTION BAR
Aceste comenzi determina executarea unei singure comenzi la alegerea unei optiuni bara sau a unei optiuni. Aceasta comanda poate fi un apel de procedura sau o instructiune care sa contina apelul unei functii definite de utilizator, in cadrul careia se pot executa o multime de operatii, in functie de optiunea aleasa.
Comanda ON SELECTION MENU are sintaxa:
ON SELECTION MENU < nume meniu > | ALL [ < instructiune > ]
< instructiune > va fi executata la alegerea oricarei optiuni bara a barei de meniu < nume meniu > sau a oricarei bare de meniu definita cind se foloseste clauza ALL. Comanda ON SELECTION MENU trebuie plasata intre DEFINE MENU si ACTIVATE MENU.
O utilizare asemanatoare o are comanda ON SELECTION PAD, cu sintaxa:
ON SELECTION PAD < nume optiune bara > OF < nume meniu > [ < instructiune > ]
< instructiune > va fi executata numai la alegerea optiunii bara < nume optiune bara > a barei < nume meniu >.
Corespondentele celor doua comenzi, pentru submeniuri, sunt:
ON SELECTION POPUP < nume submeniu > | ALL [ < instructiune > ]
ON SELECTION BAR < expN > OF < nume submeniu > [ < instructiune > ]
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 960
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved