Visual Basic 0 abc-doar


partajata in retea de catre un numar mare de utilizatori (Exemplu: un



Yüklə 0,98 Mb.
səhifə6/10
tarix03.11.2017
ölçüsü0,98 Mb.
#29921
1   2   3   4   5   6   7   8   9   10
partajata in retea de catre un numar mare de utilizatori (Exemplu: un

browser de Internet de tip Google).

Este bine ca in etapa de design sa alegeti cu atentie fiecare obiect

de care aveti nevoie si sa exploatati la maximum potentialul fiecarui

obiect.Exemplu: in loc sa utilizati trei butoane diferite pentru a seta

proprietatile unei ferestre,puteti utiliza evenimentele Load,Click si

DblClick.Aplicatia va avea aceeasi functionalitate,dar va contine trei

obiecte mai putin,adica va prelucra de trei ori mai putine mesaje si va

functiona mai simplu si mai rapid.

Obiectele vizuale sunt foarte usor de adaugat.Este mult mai greu sa

incercati sa optimizati un program in care s-au adaugat prea multe astfel

de obiecte.Fiecare obiect inutil ocupa din spatiul de memorie de operare,

dar,ocupa spatiu si in memoria inscriptibila si este o sursa permaneta

de posibile erori sau interferente (mai ales atunci cand astfel de obiecte

sunt activate "in cascada" sau "automat",prin bucle de repetitie).


-43-

INTERFATA GRAFICA

Pentru acest capitol (si pentru intregul manual) am utilizat pentru

exemplificarea notiunilor,versiunea de program Visual Basic 5.0 Control

Creation Edition.Acest program,este simplu,eficient si gratuit.Poate fi

descarcat de pe Internet,de la adresa www.Microsoft.com si a fost special

conceput pentru a facilita crearea unor obiecte grafice,sau interfete

grafice de tip ActiveX (compatibile cu orice platforma Windows).Tot de la

aceasta adresa,puteti descarca si fila denumita "The Microsoft Visual

Basic Language Specification",in care este prezentat exhaustiv tot stan-

dardul de limbaj.Pentru orice nelamuriri,este bine sa consultati cu aten-

tie continutul acestei file.

Ce este o interfata ?

O interfata este un modul de program,asemanator cu o clasa,prin care se

stipuleaza un fel de contract intre programator (sau furnizorul de ser-

vicii) si utilizator (sau beneficiar).La fel ca si intr-o clasa,intr-o

interfata se definesc un set de proprietati,metode si evenimente,dar nu

se specifica si modul lor de implementare.Implementarea propriu zisa,se

va face prin intermediul unor clase.Clasele utilizate pentru implementa-

rea unei interfete,trebuie sa respecte contractul initial (forma ini-

tiala) asa cum a fost definit in interfata.Pentru a crea o interfata,se

poate utiliza instructiunea Interface....End Interface.Singurul reper

fix in alcatuirea unei interfete il reprezinta faptul ca dupa ce a fost

publicata,o intefata nu mai pooate fi modificata.Cel mai simplu exemplu

il reprezinta meniul Start din Windows,sau interfata grafica denumita

Desktop.Atat meniul Start cat si aplicatia Desktop pot fi reconfigurate

in nenumarate variante,dar vor pastra acelasi tip de functionalitate.

De exemplu,indiferant de culoarea de fond,aplicatia Desktop va lucra

exclusiv cu obiecte grafice de tip Folder sau Icon...etc.

Interfata grafica este un tip particular de interfata,in care toate

operatiile si comnenzile sunt executate prin intermediul unor obiecte gra-

fice,controlate cu ajutorul tastaturii,sau al idicatorului optic (mouse).

Interfetele grafice sunt utile mai ales atunci cand doriti sa combinati

un numar mai mare de obiecte fara legatura functionala intre ele,pentru

a realiza o anumita functionalitate globala.Cel mai simplu exemplu de

interfata il reprezinta un meniu cu multiselectie (Exemplu : meniul File).

Majoritatea programelor prezentau o forma oarecare de interfata grafica

cu utilizatorul.Visual Basic a dezvoltat acest concept la un nou nivel si

a permis utilizatorilor sa construiasca la randul lor interfete grafice

pentru programele si aplicatiile pe care le realizeaza.Cu ajutorul acestor

intefete,clientul nu trebuie decat sa apese un buton,sau sa completeze o

caseta de dialog,pentru a introduce sau pentru a obtine toate informatiile

dorite.Initial,acest concept a fost primit cu reticenta de catre progra-

matori,pe motiv ca orice utilizator care "invata sa puna un buton",va

umple ecranul de butoane,doar de dragul de a face ceva "complex".Aceasta

temere nu a fost indreptatita,si treptat interfata grafica de tip Windows

a devenit un standard pentru majoritatea aplicatiilor si programelor.

In capitolul urmator,se vor prezenta simplist cateva notiuni elementare

necesare pentru realizarea unei astfel de interfete grafice.Subiectul nu

poate fi epuizat in cateva pagini.Cei interesati,vor putea studia alte

manuale,sau chiar literatura de specialitate.Acest manual,nu doreste decat

sa schiteze scheletul pe care urmeaza sa va construiti baza de cunostiinte.


-44-

Asadar,o interfata este un set de reguli fixe,pe care programatorul se

angajeaza sa le respecte in toate versiunile ulterioare ale programului

sau.Ca rezultat,utilizatorul se va familiariza cu un anumit mediu de ope-

rare,sau isi va forma un set de tabieturi si automatisme.O interfata gra-

fica,este un set de imagini grafice (controale),cu ajutorul carora se face

intemedierea dintre utilizator si masina.

Pentru a realiza o interfata,este nevoie de un obiect de tip container,

in care se vor grupa toate obiectele necesare pentru a realiza o anumita

functionalitate.Cel mai simplu obiect de tip container este fereastra de

tip Windows si este utilizat in majoritatea aplicatiilor.Fereastra de

tip Windows,utilizata pentru a crea o interfata este insa putin mai spe-

ciala,prin faptul ca trebuie sa respecte setul initial de reguli,sau de

controale.Incercarea de a modifica aspectul unei interfete grafice,se sol-

deaza cu un mesaj de eroare de genul "Interfata grafica nu permite....").

Programul Visual Basic 5.0 Control Creation Edition are o interfata

grafica formata dintr-o fereastra principala,dotata cu un meniu complex,

si un set de obiecte secundare de tip Toolbar,in care sunt grupate cateva

seturi de obiecte grafice (controale).In ansamblul sau,interfata grafica

poate fi privita ca o planseta de proiectare,pe care utilizatorul o folo-

seste pentru designul aplicatiilor sale.Interfata este astfel conceputa

incat utilizatorul sa poata avea acces cat mai rapid la toate faciliatile

oferite de mediul de programare Visual Basic.Practic,este suficient un

click de mouse,pentru a deschide orice meniu,sau pentru a adauga in pro-

iect un modul nou sau un anumit control.

Interfata grafica este compartimentata in mai multe ferestre secundare,

prin care utilizatorul poate avea acces la anumite functionalitati.Este

destul de putin probabil ca programatorul sa apeleze toate aceste fecili-

tati simultan.Din acest motiv,se utilizeaza meniul View pentru a selecta

doar ferestrele necesare la un anumit moment.In functie de necesitatile de

moment,sau in functie de tabieturi,se pot deschide din meniul View urma-

toarele ferestre utilitare: Code,Object,Object Browser,Immediate Window,

Locals Window,Watch Window,Project Explorer,Properties Window,Form Layout

Window,Toolbox,Color Palette si Toolbars (Debug,Edit,Form Editor,Standard

si Customize).Prezentarea exhaustiva a fiecareia dintre aceste ferestre

depaseste scopul acestui manual (consultati manualul Help).Este bine de

stiut insa,ca fiecare dintre aceste ferestre ocupa din memoria de operare.

Nu este bine sa deschideti simultan,decat acele ferestre din care extra-

geti date relevante,sau cu ajutorul carora controlati procesul de construc-

tie a proiectului.In momentul in care o fereastra nu este utila,este mai

bine sa fie inchisa (Exemplu: nu are rost sa deschideti fereastra Watch in

etapa de design a programului.Aceasta fereastra este utila doar in etapa

de verificare si control sau in etapa de depanare).Si celelalte meniuri

pot contine ferestre utile.De exemplu,din meniul Project puteti utiliza

optiunile Add Form,Add MDI Form,Add Module,Add Class Module,Add User Con-

trol...etc.,pentru a putea adauga in proiect module intregi sau componente

predefinite.

In alti termeni,interfata grafica cu utilizatorul este un fel de pupi-

tru de comanda.Nu trebuie decat sa activati anumite resorturi,sau sa apa-

sati cateva butoane si programul va incepe sa prinda contur.Daca sunteti

incepator,este mai bine sa va formati de la bun inceput automatisme de

lucru cat mai corecte (mai tarziu vor fi imposibil de corectat).


-45-

Inainte de a incepe sa proiectati o interfata grafica,este bine sa va

faceti un mic plan de lucru.Fixati obiectivele,alegeti obiectele si meto-

dele de care aveti nevoie,apoi treceti la implementarea lor.Pentru inceput

sa presupunem ca doriti sa configurati fereastra de start,astfel incat sa

corespunda necesitatilor d-voastra.Exista doua solutii: -fereastra poate

fi configurata in etapa de design,sau poate fi configurata activ in etapa

de executie a programului.Pentru prima varianta,editati urmatorul exemplu:

EXEMPLU: - deschideti un nou proiect de tip Standard.exe

- in fereastra Form1,executati un click drept si alegeti optiu-

nea Properties.

Se va deschide fereastra Properties in care sunt listate toate proprieta-

tile si metodele ferestrei Form1.Mai mult decat atat,proprietatile si

metodele pot fi sortate fie in ordine alfabetica,fie grupate pe categorii

(selectati meniul Categorized).Sa presupunem ca doriti sa schimbati culoa-

rea de fond.Alegeti din lista proprietatea BackColor si executati un click

pe butonul de derulare din extremitatea dreapta.Se va deschide o mica fe-

reastra de dialog,in care puteti selecta una dintre variantele de fereas-

tra de tip sistem (Exemplu: Highlight Text) sau puteti activa meniul de-

numit Palette,pentru a alege o culoare oarecare.Selectati cu un click de

mouse optiunea dorita.

Daca doriti sa schimbati titlul ferestrei,alegeti proprietatea Caption

si introduceti textul dorit (Exemplu: Fereastra Principala).

Pentru a schimba dimensiunile ferestrei,puteti utiliza proprietatile

Height si Width.De exemplu inlocuiti Height = 3600 cu 5000 si Width = 4800

cu 7000.

Pentru a verifica aspectul ferestrei in timpul executiei,puteti lansa

fereastra cu Run si Start,sau puteti utiliza combinatia de taste Ctrl+F5

(metoda shortcut).

Daca doriti ca fereastra sa se deschida de fiecare data intr-o anumita

pozitie,puteti utiliza proprietatile Top si Left.De exemplu,setati ambele

proprietati la valoarea 1000.

Fereastra implicita este deplasabila.In timpul executiei,daca trageti

cu butonul mouse apasat de bara de titlu,fereastra se va deplasa la locul

indicat.Pentru ca fereastra sa nu mai poata fi deplasata in timpul execu-

tiei,puteti utiliza proprietatea Moveable.Setati Moveable = False.

In mod similar,puteti utiliza oricare dintre celelalte proprietati,

pentru a obtine efectul dorit.Prin setarea proprietatilor in etapa de de-

sign,se economiseste o buna parte din efort si din liniile de cod desti-

nate acestui scop.In plus,va puteti asigura ca utilizatorul nu va putea

face nici o eroare "accidentala" datorata necunoasterii sau neatentiei.

Printre altele,interfata grafica limiteaza mijloacele de interventie ale

utilizatorului la un set bine delimitat de actiuni,si anume cele pe care

doriti d-voastra sa le poata efectua.Fiecare control,trebuie sa fie foarte

bine gandit,astfel incat programul sa functioneze la parametrii maximi,iar

utilizatorul sa nu trebuiasca sa execute decat un numar limitat de opera-

tii.Pentru fiecare operatie necesara,se va alege controlul cel mai simplu,

cu consum minim de memorie si cu maximum de eficienta.

Pentru operatiile simple,cea mai eficienta metoda este sa adaugati un

meniu de optiuni.Meniurile ocupa putin spatiu grafic,nu consuma din memo-

ria de operare si permit introducerea unui set destul de mare de operatii

cu un efort minim pentru utilizator (executa un click pe optiune).


-46-

Sa presupunem ca doriti ca utilizatorul sa poata schimba culoarea si

dimensiunea ferestrei in timpul executiei.Pentru acest scop,se poate uti-

liza un meniu format din optiunea Culori,cu submeniurile :Rosu,Verde si

Albastru si din optiunea Marime,cu submeniurile: Mareste si Micsoreaza.

Pentru a crea un meniu,Visual Basic 5.0 ofera un instrument grafic

extrem de usor de utilizat,localizat in meniul Tools ( Menu Editor).

EXEMPLU: - deschideti un nou proiect (sau continuati cu cel anterior)

-din meniul Tools,alegeti optiunea Menu Editor ( sau din fe-

reastra,executati un click drept si alegeti Menu Editor)

Se va deschide fereastra Menu Editor.Pentru a introduce primul meniu,

introduceti textul Culori in caseta Caption.Apoi adaugati un nume in

caseta Name (Exemplu mnuCulori).Acest nume va fi utilizat ca identifica-

tor,ori de cate ori doriti sa apelati meniul printr-o linie de cod.Pentru

ca sa atraga atentia ca este vorba despre un meniu,este bine sa utilizati

si prefixul "mnu" inaintea numelui propriu zis.In acest fel,in etapa de

depanare,prefixul va atrage atentia asupra tipului de control utilizat.

In continuare,adaugati si un numar de indexare in caseta denumita Index.

(De exemplu: 1).Pentru a trece la meniul urmator apasati butonul Next.

Pentru ca meniul sa contina si submeniuri este necesar ca numele sub-

meniului sa fie precedat de patru puncte.Pentru acest scop,utilizati bu-

tonul cu sageata orientata spre dreapta (situat la stanga butonului Next)

si urmariti modul in care se construieste meniul in caseta de dialog si-

tuata sub butonul Next.Daca un aparut cele patru puncte,puteti introduce

numele primului submeniu.Introduceti in Caption textul:Rosu,in Name numele

meniului: mnuRosu si in Index numarul de indexare: 3.

Acum puteti verifica meniul.Apasati butonul OK.In fereastra apare doar

meniul Culori,iar daca executati un click pe acest meniu se va afisa si

submeniul Rosu.

Pentru ca submeniul sa execute o operatie oarecare,trebuie sa editati

o procedura de raspuns la meniul respectiv.Executati un click pe Culori si

apoi un click pe submeniul Rosu.Se va deschide automat fereastra View Code

in care este deja inclus numele procedurii:

Private Sub mnuRosu_Click(Index As Integer)
End Sub

Pentru ca fereastra sa primeasca culoarea de fond ROSU,completati proce-

dura astfel:

Private Sub mnuRosu_Click(Index As Integer)

Form1.BackColor = RGB(250,0,0)

End Sub

Acum puteti verifica primul submeniu.Apasati Ctrl+F5 si apoi selectati

meniul Culori si respectiv Rosu.Fereastra se va colora in rosu.

Pentru a adauga si restul de submeniuri,deschideti din nou fereastra

Menu Editor.Selectati submeniul Rosu si apoi apasati butonul Next.Apasati

sageata spre dreapta pentru a adauga cele patru puncte (intrarea in sub-

meniu) si apoi editati casetele astfel: Caption = Verde ,Name = mnuVerde

si Index = 4.Apasati Next,sageata spre dreapta si adaugati urmatorul sub-

meniu astfel: Caption = Albastru, Name = mnuAlbastru si Index = 5.

Pentru a verifica meniul,apasati butonul OK.In mod normal,meniul Culori

va contine cele trei submeniuri: Rosu,Verde si Albastru.Ori de cate ori

selectati meniul Culori se vor activa cele trei submeniuri.


-47-

Pentru a atribui cate o procedura,selectati cu mouse Verde si editati

urmatoarea procedura:

Private Sub mnuVerde_Click(Index As Integer)

Form1.BackColor = RGB(0,250,0)

End Sub

Apoi selectati submeniul Albastru si editati urmatoarea procedura:

Private Sub mnuAlbastru_Click(Index As Integer)

Form1.BackColor = RGB(0,0,250)

End Sub

Verificati meniul cu Ctrl+ F5.In mod normal,trebuie sa puteti schimba

culoarea de fond in cele trei variante: rosu,verde sau albastru.

Daca doriti sa puteti redimensiona fereastra cu ajutorul unui alt meniu

reveniti la fereastra de design,deschideti fereastra Menu Editor si apoi

selectati submeniul Albastru si apasati butonul Next.

Pentru a crea un meniu nou,in caseta de control (cea de jos) trebuie ca

numele meniului sa nu fie precedat de cele patru puncte.Daca au fost

adaugate automat,apsati sageata spre stanga pentru a le sterge.Apoi,in

caseta Caption introduceti numele noului meniu: Marime,in Name: mnuMarime

iar in Index setati valoarea 2.Pentru a adauga cele doua submeniuri,apa-

sati butonul Next,apoi sageata spre dreapta si editati casetele:

Caption = Mareste,Name = mnuMareste si Index = 7.

Apasati din nou Next,sageata spre dreapta si completati casetele:

Caption = Micsoreaza,Name = mnuMicsoareaza si Index = 8

Inchideti fereastra Menu Editor cu OK.Pentru a adauga cele doua proceduri,

selectati pe rand cele doua submeniuri si editati :

Private Sub mnuMareste_Click(Index As Integer)

Form1.Width = Form1.Width + 500

Form1.Height = Form1.Height + 300

End Sub

si respectiv:

Private Sub mnuMicsoreaza_Click(Index As Integer)

Form1.Width = Form1.Width - 500

Form1.Height = Form1.Height - 300

End Sub

Verificati fereastra cu Ctrl + F5.In mod normal trebuie sa puteti schimba

culoarea de fond sau sa puteti redimensiona fereastra dupa bunul plac.

Selectati fiecare submeniu de mai multe ori.Daca toate optiunile sunt

functionale puteti salva proiectul.

Acelasi rezultat se putea obtine si utilizand cinci butoane.Pentru

fiecare buton se putea atribui cate una dintre operatiile din meniu.Dar,

se pot observa urmatoarele diferente:

1.-cele cinci butoane ocupa mult mai mult spatiu grafic in fereastra

2.-cele cinci butoane ocupa mult mai mult spatiu de memorie,atat in memo-

ria de operare cat si in cea de arhivare.

3.-cele cinci butoane prelucreaza un numar mult mai mare de mesaje inutile

crescand asfel numarul de operatii executate de procesor pentru a rea-

liza aceeasi functionalitate (programul va functiona mai incet).

Pentru o aplicatie mica,aceste diferente sunt nesemnificative,dar intr-un

program complex,diferentele incep sa fie din ce in ce mai semnificative.

Meniurile sunt un instrument extrem de eficient.Utilizat cu creativitate

nu meniu poate prelua majoritatea operatiilor efectuate de utilizator.


-48-

Instrumentul Menu Editor permite si adaugarea unor combinatii de taste

de tip "shortcut" cu ajutorul carora un meniu oarecare poate fi apelat

de la tastatura.Nu este necesara nici o linie de cod,ci se poate alege

o solutie prestabilita,cu ajutorul casetei denumita Shortcut.

EXEMPLU: -deschideti din nou proiectul precedent si fereastra Menu Editor

In caseta de afisaj,alegeti meniul ....Rosu si apoi apasati butonul de

derulare din caseta Shortcut si alegeti varianta Ctrl+ R.In mod similar.

puteti adauga pentru ....Verde combinatia Ctrl + V si pentru ....Albastru

combinatia Ctrl + A.

In caseta de afisaj,meniul va arata astfel:
Culori

....Rosu Ctrl+R

....Verde Ctrl+V

....Albastru Ctrl+A

Marime

....Mareste

....Micsoreaza
Inchideti fereastra Menu Editor apasand butonul OK si apoi verificati

aplicatia cu Ctrl+F5.Incercati cele trei combinatii de taste.Observati

ca daca utilizati meniul,cele trei combinatii de taste sunt afisate si

in meniu.

Tot fereastra Menu Editor se va utiliza si pentru a modifica un meniu.

De exemplu,daca doriti sa adaugati un submeniu,la unul dintre submeniurile

existente,va trebui sa inserati noul submeniu precedat de opt puncte (apa-

Yüklə 0,98 Mb.

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




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