You are on page 1of 116

MSc. Genci Berati  Principe të Visual Basic 6.

Kapitulli I

Prezantimi i parë me Visual Basic 6.0

1.1 Një përshkrim i shkurtër i Gjuhës Visual Basic

Visual Basic 6.0 është rruga më e shpejtë dhe më e thjeshtë për krijimin e
aplikacioneve për Microsoft Windows. Edhe nëse jeni një programues
me eksperiencë, por edhe nëse jeni fillestar në programim, tek Visual
Basic do të gjeni një bashkësi mjaft të plotë instrumentesh të nevojshme
për të thjeshtesuar krijimin e shpejtë të apliakcioneve. VISUAL BASIC
është një gjuhë programimi e nivelit te larte e evoluar nga versioni i
hershëm për DOS i quajtur BASIC. Pjesa “Visual” i referohet metodës
për krijimin e ndërfaqjes grafike të përdoruesit (Graphical User
Interface­GUI). Me “Basic” kuptojme Beginners' All­purpose Symbolic
Instruction Code (kodi i instruksioni simbolik të përgjithshëm i
fillestareve). Visual Basic është një gjuhë mjaft e lehte për tu kuptuar
dhe mësuar. Kodi ngjan pak a shumë si gjuha angleze. Kompani të
ndryshme software kanë prodhuar versione të ndryshme të BASIC, siç
janë QBASIC, QUICKBASIC, GWBASIC, IBM BASICA etj. VISUAL
BASIC është një gjuhë programimi VIZUALE dhe e drejtuar nga eventet
(events). Këto janë edhe divergjencat më kryesore nga BASIC­u i vjetër.
Në BASIC, programimi bëhet në një file text dhe programi ekzekutohet
ne mënyrë sekuenciale. Në VISUAL BASIC, programimi behet ne një
mjedis grafik. Përdoruesi mund të klikojë mbi çfardo objekti i cili ka
funksionet dhe pronësitë (properties) e tij dhe mund të shkruhet një kod
programimi në çdo event, kështu që çdo objekt duhet të programohet
në mënyre të pavarur për të qënë i aftë t’i përgjigjet eventeve te
ndryshme. Kështu, një program VISUAL BASIC është i përbërë nga
shumë nënprograme, ku secili ka kodin e tij dhe secili mund të
ekzekutohet i pavarur dhe në të jëjtën kohë të gjithë mund të lidhen së

5
MSc. Genci Berati  Principe të Visual Basic 6.0 
bashku në një rrugë apo një tjetër. Gjuha Visual Basic eshte mjaft e
fuqishme. Pothuajse çdo detyre programimi mund të kryhet me këtë
gjuhë. Siç edhe mund ta merrni me mend, duhet mjaft punë për të
konsideruar veten tuaj ekspertë të kësaj gjuhe, por menjëherë sapo ju të
kuptoni koceptet bazë të Visual Basic ju menjëherë do të shikoni se
mund të jeni mjaft productiveë me këtë gjuhë. Kjo gjuhë programimi
është më e përdorura ndrët të gjitha gjuhët në historinë informatikës.
Gjuha e programimit Visual Basic është e ndërfutur në një sërë
aplikacionesh të tjera për Microsoft Windows si Microsoft Excel,
Microsoft Access etj.

1.2 Instalimi i Visual Basic 6.0

Në vijim po paraqes shkurtimisht disa informacione mbi instalimin e


Microsoft Visual Basic në sistemin tuaj, rrugën se si hiqen apo shtohen
komponentë të Visual Basic, mënyra se si mësohet apo merret
informacion shtesë me Visual Basic.
Ju mund të instaloni Microsoft Visual Basic nëpërmjet programit Setup.
Programi setup gjendet në diskun e parë të instalimit. Ky program
Setup mund të ekzekutohet automatikisht mbasi ju e keni future CD
përkatëse në CD­Drive. Programi Setup do të instalojë komponentet e
Visual Basic nga CD­ROM në Hard Diskun tuaj. Gjithashtu do të
instalohen edhe skedarët e nevojshëm për informacion, ndihmë apo
dokumetime të tjera për programuesin.
Perpara se ta instaloni, ju duhet të siguroheni që kompjuteri juaj dhe
sistemi i përdorur kënaq kerkesat e Visual Basic.
Për të punuar me Visual Basic kompjuteri juaj duhet të ketë parametrat
e hardware dhe sistemin e operimit si më posht:

· Microsoft Windows 95 ose më lart, ose Microsoft Windows NT


Workstation 4.0 (Service Pack 3 e këshillueshme) ose më lart.

· 486DX/66 MHz ose me frekuencë më të madhe (Rekomandohet


Pentium ose procesor më i avancuar), ose ndonjë procesor Alpha
me Microsoft Windows NT Workstation të instaluar.

· Një CD­ROM disk drive.

6
MSc. Genci Berati  Principe të Visual Basic 6.0 
· Rezolucion ekrani VGA ose më të avancuar për Microsoft
Windows.

· 16 MB RAM për Windows 95, 32 MB RAM për Windows NT


Workstation.

· Një mouse ose një tjetër device të pranueshme të ngjashme.

Më sipër përmendëm parametrat e kërkuar Hardware dhe Software për


instalimin e Gjuhës VB. Duhet të njihemi edhe me parametrat e kërkuar
për ekzekutimin e një aplikacini të realizuar me VB, të cilët janë

· Pentium® 90MHz ose mikroprocesor më i avacuar.

· VGA 640x480 ­resolution screen më i avancuar i suportuar nga


Microsoft Windows.

· 24MB RAM për Windows 95, 32MB për Windows NT.

· Microsoft Windows NT 3.51 ose më i avancuar, ose Microsoft


Windows 95 e më lart.

· Microsoft Internet Explorer versioni 4.01 ose më i avacuar


(versioni 4.01 Service Pack 1 ose më i avancuar për DHTML
krijuesa aplikacionesh).

Duhet të paraqesim edhe hapësirat minimale të domosdoshme të


kërkuara për instalimin e Visual Basic 6.0.

· Standard Edition: instalimi tipik (typical installation) 48MB,


instalimi i plotë (full installation) 80MB.

· Professional Edition: instalimi tipik (typical installation) 48MB,


instalimi i plotë (full installation)80MB.

· Enterprise Edition: instalimi tipik (typical installation) 128MB,


instalimi i plotë (full installation) 147MB.

· Komponentët shtesë (nëse kerkohen): MSDN (për


dokumentacionin ndihmës): 67MB, Internet Explorer 4.x:
afersisht 66MB.

7
MSc. Genci Berati  Principe të Visual Basic 6.0 
Pasi siguroheni për sa më lart, ndiqni këtë hapa për të instaluar Gjuhen
e programimint Visual Basic.

1. Fut Kompakt diskun me numrin 1 në CD­ROM drive.

2. Përdor komandën më të përshtatshmë për të ekzekutuar


skedarin Setup, i cili ndodhe siç thamë në direktorinë rrënjë në
diskun 1. Nëse sistemi juaj suporton opsionin Autorun, atëherë
ky skedar me emrin Setup do të ekzekutohet automatikisht sapo
të futni kompakt diskun.

3. Zgjidh Install Visual Basic 6.0.

4. Ndiq instruksionet e Setup­it në ekran.

Ndërsa për të hequr apo vendosur komponente të Visual Basic duhet të


ndiqen hapat e mëposhtëm:

1. Fut Kompakt diskun me numrin 1 në CD­ROM drive.

2. Përdor komandën më të përshtatshmë për të ekzekutuar


skedarin Setup, i cili ndodhe siç thamë në direktorinë rrënjë në
diskun 1. Nëse sistemi juaj supërton Autorun, atëherë ky skedar
me emrin Setup do të ekzekutohet automatikisht sapo të futni
kompakt diskun.

3. Zgjidh butonin Custom në kutinë e dialogut Microsoft Visual


Basic 6.0 Setup.

4. Selekto komponentet për tu instaluar (ose deselokto


komponentet që duhet të hiqen ) në listë kutinë të kutisë së
dialogut Custom.

5. Ndiq instruksionet e Setup­it në ekran.

Ndërsa përtë marrë informacion apo ndihmë për nivele të ndryshme të


punës në Visual Basic Duhet të instaloni Microsoft Developer Network
MSDN, i cili është i ndarë në dy CD.

8
MSc. Genci Berati  Principe të Visual Basic 6.0 
1.3 Mjedisi i Visual Basic 6.0

Rruga për të hyrë ne ambjentin e programit është e njëjtë si për çdo


program tjetër. Po paraqesim tre rrugët e ekzekutimit të Visual Basic, a)
me mënynë start, b) me ambjentin Windows Explorer dhe c) me ikonën
e Visual Basic.

a) Kliko mbi butonin Start në Task bar të Windows­it.

Selekto grupin Programs, dhe pastaj Microsoft Visual Basic 6.0.

b) Kliko mbi butonin Start në Task bar të Windows­it.

Selekto Programs.

Përdor ambjentin Windows Explorer për të gjetur skedarin e


ekzekutueshëm të Visual Basic­ut.

c) Bëj dopio klik mbi ikonën e Visual Basic. Kjo


ikonë paraqitet si ne figurën.

Natyrisht ju mund të krijoni shortCut dhe të bëni dopio klik mbi


shortcut.

Ekzekutoni Programin, dhe pas ekzekutimit të Visual Basic 6.0 do të


shfaqen kutitë e dialogjeve si tregohet në figuren 1.1.

Le të njihemi me mjedisin e Gjuhes së programimit. Të shohim se çfarë


shfaqet në ekran mbasi ekzekutojmë Visual Basic.
Ju mund të zgjidhni të nisni një projekt të ri, mund të hapni një projekt
ekzistues ose mund të zgjidhni nga lista e projekteve të perdorura kohet
e fundit (recent). Një projekt është një koleksion skedarësh që e formon
aplikacionin tuaj. Ky koleksion konsiston në forma (skedarët e formave
përkatëse), në module (skedarët e moduleve) etj.
Gama e programeve që mund të krijoni është mjaft e gjërë, megjithatë
ne do të koncentrohemi në krijimin e programve Standart EXE që do të
thotë programe të ekzekutueshme. Mjafton të klikoni mbi ikonën e

9
MSc. Genci Berati  Principe të Visual Basic 6.0 
Standart EXE dhe do të hyni në mjedisin e programimit të Visual Basic
6.0.

Figura 1.1  Çfarë paraqitet pas ekzekutimit të Visual Basic 6.0

Siç shihet me poshtë, në figurën 1.2, mjedisi i Visual Basic 6.0 konsiston
në këto dritare:
Dritarja e një Forme bosh në të cilën ju mund të krijoni ndërfaqjen e
aplikacionit tuaj.

Dritarja Project që shfaq skedarët e përdorur në këtë projekt

10
MSc. Genci Berati  Principe të Visual Basic 6.0 

Fig. 1.2 mjedisi i integruar i Visual Basic
Dritarja Properties qe shfaq pronësite (properties) e kontrolleve dhe
objekteve të perdorura në programin tuaj.
Përfshihet gjithashtu një Toolbox që konsisiton në disa butona të disa
kontrollerave kryesore për krijimin e një aplikacioni në Visual Basic.
Kontrollerat jane instrumenta siç p.sh. janë kutite e tekstit (textbox),
butonat (command buttons), etiketat (labels) dhe objekte të tjera që
vendosen në forma për të paraqitur input­et, output­et apo për veprime
të tjera. Natyrisht që është e domosdoshme të njihemi me
terminologjine që do të përdorim, me emertimin e objekteve, ambjeve,
kontrollerave etj.

Visual Basic është një gjuhë programimi e orjentuar nga objektet (object
oriented). Ne nuk do të synojmë të paraqesim karakteristikat e
përgjithshme të gjuhëve object oriented pasi kjo është një fushë mjaft e

11
MSc. Genci Berati  Principe të Visual Basic 6.0 
gjërë, por do të japim disa përcaktime të cilat do të na krijojnë një ide të
përgjithshme mbi këto gjuhë dhe për Visual Basic­un në veçanti.

Po paraqesim tani percaktimet për elementet dhe nocionet me të


përdorshme në gjuhët e orijentuara nga objektet dhe për Visual Basic në
veçanti. Më poshtë është dhënë përcaktimi për Klasën, Objektin,
Metodat, Eventet, Procedurën etj, si dhe për objektet konkrete të VB si:
Forma, Kontroller­at, etj.

­Klasa (class) është një shabllon apo një plan që përcakton


karakteristikat e një objekti dhe përshkruan mënyrat se si do të sillet
objekti dhe se si ai do të paraqitet.

­Nënklasa (subclass) është një përcaktimi i ri i klasës të një objekti i cili


përdor një klasë (superclass) si pikë referimi. Ky përcaktim vjen nga
trashëgimi i ndonjë ndryshimi në klasen referuese prind (parent class
ose superclass).

­Objekti (object) është një shëmbull apo një përfaqësues i një klase. Sis
hëmbull kemi një formë e ekzekutuar apo një controller në një formë,
janë objekte.

­Pronësitë (properties) janë emërtime/vlera që paraqesin të dhënat e një


bjekti të një klase.

­Metoda (method) është një funksion që përshkruan sjelljen e një klase.


Percaktimi i një metode për një klasë nuk përfshin edhe implementimin
e metodës, duhet të shtohet kualifikuesi i implementimit të metodës në
mënyrë që të bëhet i vlefshëm implementimi i metodës në një klasë. Një
nënklasë mund të përcaktohet nga ripëercaktimi i implementimit të një
metode apo nga ndryshimi i ndonjë properti.

­Eventet (Events) është një veprim i ndodhur ndaj një objekti. Për këtë
veprim mund të shkruajm një kod që aktivizohet nëse ai veprim ndodh.
Një event mund të gjenerohet nga një veprim i përdoruesit si p.sh.
kliku, dopiokliku, shtypja e një tasti nga tastiera, nga kodi i programit
ose nga ndonjë timer (një controller për kontrollin periodik të eventeve).

12
MSc. Genci Berati  Principe të Visual Basic 6.0 
­Lidhjet (Associations) është një klase e cila përshkruan relacionet mes
dy klasave apo përfaqësuesve të klasave (objekteve). Pronësitë e
Association janë pointerat apo referencat në dy përfaqësuesit.

­Modeli është një bashkësi klasash, pronësishë dhe lidhjesh qe


mundëson shprehjen e një informacioni për një fushë të caktuar. Për
shembull një rrjet kompjuterik përbëhet nga Network Devices dhe
Logical Network.

Le të shohim disa klasa dhe objekte mjaft të përdorshme në Visual Basic


6.0

­Forma është një klase mbajtëse. Një koleksion kontrollerash të cilët


paraqesin të dhena apo informacione. Format mund të përfshihen në një
bashkësi formash që quhet Form Set.

­Kontrollerat (controls) janë objekte grafike si p.sh. kutite e tekstit (text


box), butonat etj të cilët vendosen në form për të paraqitur të dhena, apo
për të realizuar ndonjë veprim, ose për të lehtësuar përdorimin e
formës. Ne do të tregojmë funksionin e kontrollerave kryesore.
Ju mund të krijoni këto controller mbi një formë në VB duke përdorur
kutine e instrumeteve (toolbox) Form Controls në Form Designer.

1.4 Kontrollerat më të përdorshëm në Visual Basic 6.0

Krahas përcaktimit të kontrollerave kryesor të Toolbox­it, për të


lehtësuar lexuesin, paraqitet edhe një figureë në te cilën tregohet forma
e secilit prej tyre.

­TextBox Control: Shpesh quhet fushë editimi, paraqitje ose kontrolli i


botimit (edit control). Ky kontroll paraqet informacion që mund të futet
gjatë kohes kur po krijohet aplikacioni (design time), apo gjatë kohes së
ekzekutimit të programit (run time). Gjithashtu në text box mund të
paraqitet informacion që mund të përcaktohet nga kodi i programit.

­Label Control: është një kontroller grafik që përdoret për të vendosur


tekst në ndërfaqjen tuaj. Ky tekst nuk mund të ndrrohet nga përdoruesi
i programit në run time (gjatë kohes së ekzekutimit).

13
MSc. Genci Berati  Principe të Visual Basic 6.0 
­Command Button
Control: Përdoret
për të filluar,
ndërprerë apo
përfunduar një
procedure gjatë
ekzekutimit të një
programi.

ListBox Control:
Përdoret për të
afishuar një liste
me artikuj, nga e
cila përdoruesi
mund të zgjedhë
një ose më tepër
prej tyre. Në se
numri i elementeve
Fig. 1.3 Kutia e instrumenteve (toolbox)
të listës eshte më i
madh se mund të
paraqesë lista, atëherë automatikisht do të shtohet

ComboBox Control: është një kombinim i karakteristikave të një text


box dhe një list box. Një përdorues, nëpërmjet combo box mund të
zgjedhe të dhënat nga një listë dhe t’i vendos në text box.

Data Control: Lejon akses dhe perdorim të një data base i cili lidhet me
këtë data kontrol. Data control lejon veprime mbi data base, pra të
manipulojmë secilin record të data base të lidhur.

Timer: është një kontroller për kontrollin periodik të eventeve. Një


timer njuk është aktiv në run time.
Kontrollerat jane të shumtë në numër dhe të shumëllojshëm, sipas
natyrës dhe funksionalitetit. Këtu përmendëm vetëm ato më kryesoret.
Të gjitha kontrollerat e sipërpërmendur janë përzgjedhur si definitive në
toolbox­in e mjedisit të punës, me simbolin si më poshtë. Natyrisht me
një procedurë të thjeshtë mund të hiqen dhe të shtohen kontroller të
tjerë në toolbox.

14
MSc. Genci Berati  Principe të Visual Basic 6.0 
1.4 Formatet e skedareve të Visual Basic

Microsoft Visual Basic përdor dhe krjon një numër të konsiderueshëm


skedarësh si në kohen e dizenjimit dhe gjate kohes se ekzekutimit. Këto
skedarë i nevoiten projektit apo aplikacionit sipas rastit apo
funksionalitetit.

1.4.1 Prapashtesat e skedarëve të projektit

Kur ju krijoni një projekt dhe e kompiloni atë në gjuhën Visual Basic, ju
krijoni një numër të konsiderueshëm skedarësh. Këto skedarë mund të
ndahen në kategori sipas kohës në të cilë ato janë aktive, si më poshtë:
Design­time (gjatë kohës së dizenjimit të projektit), miscellaneous
development (të përbërë), dhe run­time (gjatë kohë së ekzekutimit).

Skedarët design time janë konstruksione bllok të projektit tuaj si p.sh.


basic modules (.bas) apo form modules (.frm)

Skedarët Miscellaneous krijohen nga procese apo funksione të


ndryshme të mjedisit të punës së Visual Basic, si p.sh. Package and
Deployment Wizard dependency files (.dep).

1.4.2 Skedarët Design­time dhe Miscellaneous


Më poshtë janë skedarët Design­time dhe Miscellaneous të cilët mund të
Prapashtesa Përshkrimi

.bas skedar moduli i VB

.cls Modul i klases

.ctl Skedar kontrolli perdoruesi

.ctx Skedar kontrolli perdoruesi binare

.dca Depo aktive designer

.ddf Pakete dhe shperndarje wizard CAB skedar informacioni

.dep Pakete dhe shperndarje wizard CAB skedar pavaresie

15
MSc. Genci Berati  Principe të Visual Basic 6.0 

.dob ActiveX dokument nga skedare

.dox ActiveX dokument binare nga skedare

.dsr Skeadar aktive designer

.dsx Skeadar binar aktive designer

.dws Shperndarje wizard nga skedar script

.frm Skedar forme

.frx Skedar forme binar

.log Skedar Log për lançimin e gabimeve

.oca Skedar Control TypeLib cache

.pag Skedar Property page

.pgx Skedar Binary property page

.res Skedar Resource

.tlb Skedar Remote Automation TypeLib

.vbg Skedar Visual Basic group project

.vbl Skedar Control licensing

.vbp Skedar Visual Basic project

.vbr Skedar Remote Automation registration

.vbw Skedar Visual Basic project workspace

.vbz Skedar Wizard launch

.wct Template WebClass HTML

16
MSc. Genci Berati  Principe të Visual Basic 6.0 
1.4.3 Skedarët Run­Time

Kur ju kompiloni një project në Visual Basic, të gjitha skedarët Design­


time të domosdoshëm do të përfshihen në skedarët e ekzekutueshëm
Run time. Skedarët Run time paraqiten më poshtë:

Prapashtesa Përshkrimi

.dll Komponent In­process ActiveX

.exe Komponent Skedar i ekzekutueshëm ose ActiveX

.ocx ActiveX control

.vbd Skedar ActiveX gjenddje e dokumentit

.wct WebClass HTML template

Natyrisht që në këtë moment ne nuk mund të dime karakteristikat dhe


funksionalitetin e të gjitha tipeve të skedarëve të përmendur, por pas
shembujve të mëposhtëm do të krijojmë idenë e saktë për shumicën nga
skedarët e sipërpërmendur.

1.5 Mjedisi i integruar i krijimit të aplikacioneve

Mjedisi i punës në Visual Basic quhet Mjedis i Integruar i Krijimit


(Integrated Development Environment ose IDE) për arsye se integron
shumë funksione të ndryshme siç janë dizenjimi, editimi, kompilimi dhe
rregullimi në një mjedis të përbashkët. Në mjaft gjuhë të tjera, secili nga
funksionet e mësipërme operojnë si programe në vete, secili me
ndërfaqjen e vet. Mjedis i Integruar i Krijimit konsiston në elemntet e
mëposhtme.

Menu Bar: që paraqet komandat që përdoren në punën me Visual Basic.


Përveç mënuve standarte si File, Edit, View, Windows dhe Help,
natyrisht menu bar përmban edhe menu të futjes së funksioneve

17
MSc. Genci Berati  Principe të Visual Basic 6.0 
specifike të programimit si Projekt, Format ose Debug. Menuja e VB
paraqitet si ne figurün mü poshtü
Menya kryesore e Visual Basic­ut është mjaft e pasur e gjithashtu edhe
përbërja e menyve është e pasur me opsione të ndryshme. Aktivizimi i
menyve bëhet në menyre të zakonshme si pür tü gjitha përmes mausit
apo përmes tastierës me ALT ose me ALT+Shkronja e nënvizuar në
meny (AIt+F, AIt+E, etj). Përbërja e menysë dhe aktivizimi i opsioneve
të mundshme në to varet edhe prej kontekstit të punës dhe objekteve
të zgjedhura momentalisht gjatë punës.

Menya File
Në menyne File (Skedar) ndodhen komandat për punë me skedarü:
shtimi, hapja, ruajtja, shtypja, etj.
Komandat e ndërlidhura me ndonjë
veprim të caktuar janë të ndara në
grupe, përmes vijave ndarëse (Fig.
xxx).

­ Save Forml As... (Ruaj formën si ...)


ruajtja e formës me emër tjetër. ­ Save
Selection (Ruaj zgjedhjen)
­ Save Change Script (Ruaj Scriptin
ndryshues)
­ Print ... (Shtype), bën shtypjen e
objektit aktual, formës, kodit etj. ­
Print Setup... (zgjedhja, konfigurimi i
shtypjes).
­ Make Projectl.cxe... (Bëje
Projektin.exe...) sherben per krijimin e
fajllit ekzekutiv, me prapashtesë exe,
të projektit.
Fig. 1.4 Menuja File ­ Make Project Group (Krijo grup
projektesh).
­ New Project (Projekt i ri), mundëson fillimin e projektit të ri ­ Open
Project (Hape projektin), bën hapjen e projektit ekzistues.
­ Add Project... (Shto projekt...), shton një projekt brenda projektit
aktual, me qëllim të krijimit të grupit të projekteve. ­ Remove Projec.
(Largo projektin).

18 
MSc. Genci Berati  Principe të Visual Basic 6.0 
­ Save Project (Ruaje projektin), bën ruajtjen e ndryshimeve të bëra në
projekt dhe e ruan me emrin më të cilin ka qëne i ruajtur.
­ Save Project As... (Ruaje projektin si...) bën ruajtjen dhe emertimin e
projektit për të parën herë ose ruajtjen e projektit të ruajtur
paraprakisht, por tani me emër të ri.
­ 1,2,3,4 ­ Lista e fajllave që janë hapur së fundi. ­ Exit (Dalja), shërben
për mbylljen e programit.
Menytë të cilat kanë në vazhdim tri pikat (...) kur të aktivizohen
kërkojne informacione shtesë përmes dritareve të ndryshme për
dialog. Menyte tjera automatikisht kryejne veprimin e caktuar në
meny.
Menya Edit
Në menyne Edit, si zakonisht ndodhen
komandat për prerje, kopjim, kërkim,
zëvëndesim, etj (Fig. 1.4).
­ Select All (Zgjedhi të gjitha), bën
zgjedhjen e të gjitha elementeve, p.sh,
objekteve në formë, tekstit në dritaren e
kodit, etj.
­ Select All Columns (Zgjedhi të gjitha
kolonat), kur jemi duke punuar me tabela.
­ Table (Tabela), për punë me tabela.
­Find (Gjeje), shërben për hapjen e
dialogut për kërkim, me të cilin i kërkojmë
vlerat e caktuara, në formë, dritare të kodit
etj.
­ Replace (Zëvendëso), shërben për
zëvendësimin e vlerës ekzistuese, me vlerë
të re (po ashtu bëhet përmes dialogut që
hapet).
­ Select All (Zgjidh të gjitha). Realizon
zgjedhjen e të gjitha objekteve aktive
në ambjentin a punës tuaj.
­Undo (Zhbeje), anullon veprimin
(ndryshimin) e fundit ­ Redo (Ribeje),
kryen rishtazi veprimin (ndryshimin) e
Fig.  1.5 Menya Edit
fundit.
­ Cut (Preje), largon zgjedhjen aktuale (të tekstit, objektit, formës, etj)
dhe e vendose në memorje (Clipboard­ pjesa e rezervuar e memories
për këtë qëllim) ashtu që të njejtat thirren në pozitë të re pëmes Paste

19 
MSc. Genci Berati  Principe të Visual Basic 6.0 
(Ngjit) (ka kuptimin e marrjes prej memorjes dhe ngjitjes­vendosjes në
pozitë të re, aty ku është momentalisht kursori ose zgjedhja).
­ Copy (Kopjo), bën kopjimin e zgjedhjes aktuale. ­ Paste (Ngjite),
thërret prej memorjes përmbajtjen momentale të saj (nga Clipboard).
­ Paste Link (Ngjite lidhjen), krijon vetëm lidhjen me objektin ne
Clipboard.
­ Remove (Largo), bën largimin, fshirjen e zgjedhjes momentale
­ Delete (Fshije), bën fshirjen e të dhënës apo objektit të zgjedhur
(selektuar).
­ Delete Table from Database (Fshije tabelën prej bazës së të dhënave),
kur jemi duke punuar me baza të të dhënave.
­ Indent (dhëmbëzimi, shtyerja), zhvendosja e tekstit. ­ Outdeat
(largimi) i një shtyerje (Indenti).
­ Insert File (Inserto fajllin), shërben për insertimin e fajllit ekzistues, në
kuadër të projektit aktual.
­ List Properties/Methods (Listo tiparet/metodat), shërben për listimin e
tipareve dhe metodave në dispozicion gjatë shkruarjes së kodit, për të
lehteAar dhe ndihmuar shkruarjen e kodit.
­ List Constants (Listo konstantet) ­ Quick Info (lnformate e shpejtë)
­ Parameter Info (Informatë për parametrat)
­ Complete Word (Kompleto fjalën), shërben për kompletimin e fjalës së
filluar, gjatë shkruarjes së kodit.
­ Go To Row (Shko tek rreshti) ­ shërben
për kalim në rreshtin e caktuar.
­ Bookmarks (shenjat), (Bookmark­shenje në
libër, pra si shenjat që i lëmë në fibër, për
gjetjen e faqes se caktuar, p.sh, duke
palosur skajin e fletës përkatëse), të cilat
vendosen në pjesë të caktuara të kodit ose
projektit, për t'i gjetur ose per t'iu referuar
me vone.

Menuja View
Në menyne View (pamja), ndodhen
komandat të cilat kanë të bëjnë me
rregullimin e elementeve të cilat do të
shihen në dritaren e VB dhe mënyrën se si
do të duken ato (Fig. 1.5). Gjithashtu,
mundëson kalimin prej një pamje në
tjetrën. Njëherit përmes kësaj menye

20
MSc. Genci Berati  Principe të Visual Basic 6.0 
mund të paraqesim ose të largojmë nga ekrani dritaret e ndryshme, si
Project Explorer, Form Layout Window, etj.
Në këtë meny ndodhet edhe nënmenya Toolbar, përmes së cilës
zgjedhim se cili shirit i veglave do të shihet në ekran. Zakonisht,
varesisht prej kontekstit aktivizohet shiriti i caktuar i veglave, kurse
përmes menyse Toolbar mund të shtojme ose largojmë shiritat tjere të
veglave.

Menya Project
Menya Project, përmbanë komandat për
manipulim me objektet e projektit dhe tiparet e tij
(Fig. 1.6).
Përmes komandave Add, mundësohet shtimi i
objekteve të caktuara në kuadër të projektit.
Përmes komandës C omponents­ i qasemi
komponenteve të ndyshme të cilat mund t'i
përdorim në programe, për të lehtësuar dhe njëherit
për të përsosur programet. Në listen e
komponenteve ndodhet një numër shumë i madh i
komponenteve të gatshme të cilat lehtësojnë punën
dhe mundësojnë kryerjen e veprimeve të ndryshme
përmes komandave të gatshme nga komponentet e
ofruara.
Përmes opcionit Pr oject Pr operties ... hapet dritarja për dialog,
përmes së cilës përcaktohen opcionet për mënyren e startimit të
programit dhe tipareve tjera të projektit, si emertimi, versioni, modeli
etj.

Menya Format
Menya Format, përmban komandat të cilat përdoren për
formatizimin e objekteve të projektit (programit) (Fig.
1.7). Përmes tyre lehtësohet rreshtimi dhe formësimi i
objekteve, shprërndarja horizontale dhe vertikale e tyre
brënda formës. qëndërsimi (centralizimi) dhe rradha e
paraqitjes. Njëherit kemi edhe opcionin Lock Controls,
përmes së cilit bëjmë mbylljen e kontrollave, që të mos
ketë mundësi të bëhet ndryshimi i pozitës së tyre në
kuadër të formës, kur duam që pozita e përcaktuar e objektit të mos
ndryshohet rastësisht, etj.

21
MSc. Genci Berati  Principe të Visual Basic 6.0 
Menya Debug
Menya Debug është shumë e rëndësishme gjatë shkruarjes së kodit të
programeve. Përmbanë shumë komanda të cilat ndihmojnë gjetjen e
gabimeve në programe. Mundëson ekzekutimin hap pas hapi të
programit. Mundëson ndërprerjen e ekzekutimit të programit, për të
bërë ndryshime në kod ose në vlera të ndryshme ose në rradhën e
ekzekutimit të rreshtave të kodit. Të gjitha këto mundësojnë gjetjen
dhe përmirësimin e lehtë të gabimeve në programet e V B.

Menya Run
Menya Run (Ekzekuto), përmbanë
komandat për ekzekutimin e programit,
pauzimin, ndaljen, dhe përsëritjen. Në
bashkëpunim me menyne Debug mund të
bëjë ekzekutimin e pjesshëm. Përmes saj
mund të bëhet edhe përkthimi (Compile ­ Kompilimi) i programit para
ekzekutimit, kështu bëhet edhe verifikimi i sintaksës së kodit dhe
gjetja e gabimeve të shtypjes dhe të kodit.

Menya Tools
Menya Tools, ndër të tjera përmbanë
komandat për shtimin e procedurave në
kod dhe përcaktimin e tipareve të tyrë si
dhe opsionin Menu Editor (Editorin e
menyve, programi përmes së cilit
krijojmë menytc e programit) dhe
menynë Options (Opcionet) përmes së
cilës bëjmë konfigurimin e programit.

Menya Add­Ins
Menya Add­Ins (shtesat), përmbanë komandat përmes së cilave
zgjërojmë ambientin programues të VB. ,Shtimi bëhet përmes Add­In
Manager (Menaxherit të
shtesave) e pastaj shtesat i gjeni
në listën Add­Ins. Mund të
shtohen edhe programe të tjera
të cilat janë projektuar të
punojnë në VB, si p.sh.
Fig. 1.11  ­  Menuja Add­Ins

22
MSc. Genci Berati  Principe të Visual Basic 6.0 
programi për krijimin e dritareve të cilat komunikojnë me bazat e të
dhënave.

Menya Window
Menya Window përmbanë komandat
për manipulim me dritaret në kuadër të
dritares punuese të VB. Dritaret mund
të shpërndahen, rirreshtohen dhe të
ripozicionohen përmes komandave në
këtë meny, në mënyrë horizontale,
vertikale dhe kaskadike. Gjithashtu
Fig. 1.12 Menuja  Window  përmbanë edhe listën e objekteve të
projekteve të hapura dhe mundëson
kalimin prej njërit objekt në tjetrin.

Menya Help
Menya Help përmbanë komandat përmes së
cilave kërkoni ndihmë. VB përmbanë
dokumentacion të pasur për ndihmë lidhur
me përdorimin e programit dhe përmbanë
shembuj të shumte. Varësisht prej instalimit
mund të gjeni shpjegime të nevojshme lidhur
me veprimet e caktuara. Nëse është instaluar
Fig. 1.13 Menya Help edhe "programi" MSDN (Microsoft Developers
Network) që paraqet sistemin për ndihmë për
programet e Microsoftit, atëhere mënya help do të jetë shumë e pasur.
MSDN instalohet veçantë, nuk është në kuadër të VB.

Shiritat e veglave
Si shumica e programeve të Microsoft­it edhe VB ka shiritat e veglave
(Toolbars) në të cilët ndodhen funksionet dhe komandat të cilat
përdoren më së shpeshti, për të lehtesuar dhe shpejtuar përdorimin e
tyre. Nëse mbahet treguesi i mausit për një kohë mbi tastin përkatës në
shiritin e veglave, do të paraqitet shpjegimi ose përshkrimi i shkurtër
(TooITip) i tastit përkatës. Shpjegimi paraqitet në një fushë të verdhe
pranë tastit ku është pozicionuar treguesi i mausit.
VB ka katër shirita të veglave: Standard, Debug, View dhe Form Editor.
Në fillim shihet vetëm shiriti i veglave standarde, i pozicionuar nën

23
MSc. Genci Berati  Principe të Visual Basic 6.0 
menynë kryesore. Shiritat tjerë të veglave mund të paraqiten duke
zgjedhur në menynë View ­ Toolbars. Aty paraqitet lista e shiritave të
veglave dhe shiriti i aktivizuar paraqitet me shënjen e zgjedhjes para
tij. Shiritat paraqiten në dritare të veqanta dhe kanë titullin e dritares
dhe tastin për mbyllje në skajin e djathtë të titullit. Mirëpo shiritat janë
të tipit Dockablc (të ankorueshëm, mund të lidhen në dok (si anijet),
pra mund të vendosen "të lidhen" në pjesën e shiritave ose në pjesët
anësore të dritares së VB). Kur janë të lidhur, mund të zgjedhen
përmes shenjës me vije të dyfishtë ose si vijë e hijëzuar në skajin e
majtë ose të lartë dhe mund të zhvendosen në pjesët tjera të dritares
duke i zvarritur.
Në shiritin standard të veglave ndodhen shumica e komandave nga
menya File dhe Edit dhe ato nga menya Run (Ekzekuto). Gjithashtu
ndodhen edhe tastet përmes së cilave aktivizojmë/deaktivizojmë
dritaret Project Explorer, Properties Window, Form Layout
Window, etj..
Ruan  Kerkim  Riben  Nderpret  Projekt Explorer  Paraqitja e formes  DataView 

zhben  Ekzekuto  Ndalon  Dritare Propertive  Objektet  Toolbox 

Figura. 1.14 Toolbar­i Standart

Shiriti i veglave Edit, ka të bëjë me editimin e kodit (programit) në


dritaren e kodit dhe mundëson qasje të shpejtë në komandat, tiparet,
metodat, parametrat dhe konstantat. Gjithashtu mundëson
zhvendosjen e tekstit (Indent, Outdent) dhe vendosjen e shenjave
(Breakpoint).

Shiriti i veglave Debug, përdoret për ekzekutimin e programit dhe


menyrat e ndryshme të ekzekutimit hap pas hapi. Pastaj aty kemi edhe
komandat përmes së cilave aktivizohet edhe dritarja për ekzekutim të

24 
MSc. Genci Berati  Principe të Visual Basic 6.0 
menjehershëm (Immediate Window), që paraqet një dritare në pjesën
e poshtme të dritares së VB dhe në të cilën shihen rezultatet e
ekzekutimit të programit.

Context Menu: është një shortcut për veprimet më të përdorshme. Për të


aktivizuar këtë menu mjafton të klikoni butonin e majtë të mous­it mbi
ojektin që jeni duke përdorur.

Toolbars: përfaqëson aksesin e shpejtë të


komandave më të përdorshme në mjedisin e
programimit. Ju mjafton të shtypni butonin
mbi toolbar dhe do të marrë jetë veprimi që
përfaqësohet në ate buton. Ju mund të keni
dijeni mbi konceptin e toolbar­it nga ndonjë
ambjent tjetër për Microsoft Windows.

Toolbox: përfaqëson një bashkësi mjetesh që


përdoren në design time për të vendosur kontrollerat në një formë. Ju
mund të krijoni toolbox­in tuaj në përshtatje me kontrollerat më të
nevojshëm për natyren e aplikacionit që po krijoni.

Dritarja e eksplorimit të projektit (Project Explorer Window): liston


format dhe modulet në projektin tuaj.

Dritarja e Pronësive (Properties Windows): Liston Pronësitë e


kontrollerit të zgjedhur.

25
MSc. Genci Berati  Principe të Visual Basic 6.0 

Fig. Dritarja e propertive 
(tipareve)

Shfletuesi i objekteve (Object Browser): liston objektet e përdorura në 
projekt dhe krijon lehtësi për të hyrë në kodin e programit. 

26 
MSc. Genci Berati  Principe të Visual Basic 6.0 
Dritarja e editimit të kodit të programit (Code Editor Window): është
ambjenti në të cilin shkruhet kodi i programit.

27
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 2

Ndërtimi i një aplikacioni ne Visual Basic 6.0

2.1 Struktura e një aplikacioni Visual Basic

Një aplikacion është një bashkësi instruksionesh që e drejton


kompjuterin të kryej një ose disa detyra. Struktura e një aplikacioni
është rruga në të cilën këto instruksione janë organizuar, d.m.th. ku janë
ruajtur instruksionet dhe në cilën radhë do të ekzekutohen këto
instruksione.
Aplikacione të thjeshta si p.sh. shembulli klasik “Hello World”, kanë
strukturë të thjeshtë. Organizimi nuk është i rëndësishëm kur kemi
vetëm një rresht kod programi. Kur aplikacioni behet kompleks, atëherë
nevoja për organizim apo strukturim bëhet domosdoshmëri. Imagjinoni
sikur aplikacioni juaj të lejonte ekzekutimin e instruksioneve në mënyrë
fare të rastësishme. Për të kontrolluar ekzekutimin e një programi,
struktura është shumë e rëndësishme për programuesin (pasi mund të
gjejmë lehtë instuksionet apo elementet e tjera brënda aplikacionit).
Për arsyen se aplikacioni i Visual Basic është i bazuar në objekte,
struktura e kodit të objektit përcakton afërsisht prezantimin fizik të tij
në ekran. Një objekt përbëhet nga të dhënat dhe kodi. Nëse shikoni një
objekt Formë në ekran, ai është prezntimi i propertive të paraqitjes së tij
apo të kodit që mund të ndikojë këto properti. Për secilën formë në një
aplikacion ka një Form Module (skedar me prapashtesën .frm).

28
MSc. Genci Berati  Principe të Visual Basic 6.0 
Secila Form Module përmban event procedures të cilan janë seksione
për të shkruar kod programi që është i ekzekutueshën në përgjigje të
eventit përkatës. Forma siç kemi thënë mund të përmbajë kontrollera të
cilët kanë eventet e tyre.
Në këtë kapitull do të përqëndrohemi kryesisht në krijimin e ndërfaqjes
grafike të një aplikacioni, duke shfrytëzuar disa shembuj si krijimi i një
programi për llogaritjen e vellimit të cilindrit, një makine llogaritëse dhe
shembulli i përdorimit të kontrollerave.

2.1 Krijimi i aplikacionit tuaj të parë

Në këtë seksion, ne nuk do të shohim aspektet teknike të programimit


në Visual Basic, por vetëm të kemi një ide mbi të dhe siç thamë do të
përqendrohemi në mënyrën se si do të futim kontrollerat në forma apo
si do te dizenjojmë ndërfaqjen grafike.
Përmedëm më sipër se një aplikacion në visual Basic konsiston në një
Projekt i cili përbëhet nga skedarë të tjerë të ndryshëm.
Le të guxojmë të krijojmë aplikacionin e parë në Visual Basic duke
realizuar shembullin klasik të printimit në ekran të një fjale apo fjalie, ne
po zgjedhim fjalën “Tungjatëjeta”. Po tregojmë një për një të gjitha
veprimet për ndërtimin e këtij aplikacioni të thjeshtë, ndërsa për
shembujt në vijim do t’ë kalojmë disa hapa të cilët mund të
nënkuptohen nga lexuesi me një stazh në përdorimin e kompjuterit.
Mbasi keni ekzekutuar Visual Basic, një formë standarte do të paraqitet
në mjedisin e programimit.
Në fillim do të krijojmë të ashtuquajturin Ndërfaqje të programit që
është ajo çfarë to t’i prezantohet përdoruesit. Natyrisht që aplikacioni
ynë i parë do të ketë vetëm një formë, në të cilën do të jetë një text box
dhe një command button. Aplikacioni do të konsistojë në paraqitjen e
tekstit Tungjatëjeta në kutinë e tekstit menjëherë mbas klikimit të
butonit. Për të ndërtuar ndërfaqjen e këtij shembulli do të ndiqen hapat
më poshtë

29
MSc. Genci Berati  Principe të Visual Basic 6.0 

1. Klikoni në toolbar mbi butonin e text box të cilin e njiihni nga me


lart.
2. Leviz treguesin e mousit mbi formë dhe ndaloni në vendin ku do të
fillojë hapësira e text box.
3. Bej Drag nga pozicioni i fillimit, duke formuar hapësirën e text box­
it.
4. Lëshojë butonin e mousit.

Kjo është rruga për të vendosur çdo kontroller tjetër në një formë.

Do të shihni se text box është formuar tashmë në formën tuaj.


Po të njëjtat veprime do të bëni për të vendosur command button.
Tani forma juaj do të shfaqet si më poshtë

30
MSc. Genci Berati  Principe të Visual Basic 6.0 

Mbasi keni ndërtuar ndërfaqjen grafike duhet të zgjidhen pronësitë


(properties) e tre objekteve të përdorura që janë Forma, Text box dhe
Command button. Për të vendosur propertitë ndiqni këto hapa:

1. Aktivizoni dritaren e propertive


2. Kliko mbi objektin të cilit do t’i vendosësh apo ndërrosh propertitë.
3. Vendos vlerën përkatëse për çdo zgjedhje të dritares se propertive.
Për shëmbullin tonë kemi nevojë, përkatësisht për tre objektet, të
vendosim këto vlera:

Objekti Propertia Vlera qe vendoset

Form Caption Tungjatëjeta

Text box Text (Empty)

Command button Caption OK

Pasi vendosët vlerat e pronësive, duhet që të shkruajmë kodin e


programit në eventin e caktuar. Ne thamë se do të krijojmë një program

31
MSc. Genci Berati  Principe të Visual Basic 6.0 
që të aktivizojë tekstin Tungjatëjeta mbas klikimit të command butonit,
pra do të kemi vetëm një event i cili është klikimi i butonit OK. Për të
shkruar kodin që do të realizojë paraqitjen e tekstit në text box duhet të
ndjekim këto hapa:
1. Bej dopio klik mbi objektin në event të të cilit do të shkruajmë
kodin. Në rastin tonë eshte objekti command button OK.
2. Automatikisht do të hapet dritarja e kodit, në të cilin mund të
shkruajm
3. Shkruaj kodin pikërisht aty ku ndodhet kursori, ndërmjet
rreshtave të bolduar.
Private Sub Command1_Click()
Text1.Text = "Tungjatëjeta!"
End Sub

Tani nuk mbetet tjeter vetëm të shohim rezultatin e punës tonë duke
zbatuar aplikacionin nëpërmjet butonit Start të toolbar­it ose duke
shtypur butonin F5 të tastierës. Pasi e keni ekzekutuar aplikacionin
shtypni butonin OK dhe do të shikoni të shfaqet në kutinë e tekstit teksti
“Tungjatëjeta”.

32
MSc. Genci Berati  Principe të Visual Basic 6.0 
2.1.1 Disa variante të tjera të shëmbullit më sipër

Megjithese është e njëjta kerkesë si në shëmbullin më sipër, le të shohim


se si një rresht i caktuar i kodit të programit manipulon aplikacionin në
një mënyrë apo një tjetër. Ju mund të provoni hap pas hapi edhe
shembujt më poshtë.

Shembulli 2.1.1 Para së gjithash ju duhet të ekzekutoni Microsoft Visual


Basic. Normalisht, në projektin tuaj të ri, do të bëhet aktive menjëherë
një formë definitive e quajtur Form1. Tani bëni dopioklik mbi form1 dhe
do të shfaqet Source code për këtë formë. Mos i jepni rëndësi për
momentin instruksioneve të fillimit dhe të mbarimit (Private Sub
Form_Load dhe End Sub). Shkruani ne mes këtyre rreshtave të ofruara
nga vetë Visual Basic, pikërisht aty ku ndodhet kursori tekstin qe
shikoni me poshtë, përkatësisht për tre shembujt veç e veç.
Nëse ekzekutoni shembullin 2.1.1 ju nuk do të shikoni asgje si rrezultat.
Shembulli 2.1.2 dhe 2.1.3 kanë rreshtin Form1.show që realizon shfaqjen
e formes Form1 me rezultatin perkates.

Shembulli 2.1.1
Private Sub Form_Load
For i=1 to 5
print "Tungjatëjeta"
next i
End Sub

Shembulli 2.1.2
Private Sub Form_Load
Form1.show
For i=1 to 5
print " Tungjatëjeta "
next i
End Sub

Shembulli 2.1.3
Private Sub Form_Load
Form1.show
For i=1 to 10
print i
next i

33
MSc. Genci Berati  Principe të Visual Basic 6.0 
End Sub

Mbasi e prekëm sado pak krjimin e një programi, tani le të shpjegojmë


hapat e nevojshëm për ndërtimin e një aplikacioni në Visual Basic 6.0

2.2 Hapat për ndërtimin e një aplikacioni në Visual Basic

Nga sa thamë më sipër mund të përgjithësojmë hapat e krijimit të një


aplikacioni në Microsoft Visual Basic.

Hapi 1. Realizo ndërfaqjen (Krijo format me kontroller­at dhe objektet e


nevojshme)

Hapi 2. Zgjidh Properties për secilin nga kontrollerat apo objektet e


(pronësitë)

Hapi 3. Shkruaj kodin e eventit (event code)

Duke ndjekur hapat më sipër provoni të implementoni shembujt më


poshtë.

Shembulli 2.2

Në shëmbullin 2.2 po vendosim më shumë kontroller në forme dhe këto


janë tre text box, tre Label Control dhe një command button. Në këtë
kapitull, për këtë shëmbull po shohim vetëm ndërtimin e ndërfaqjes
grafike kurse kodin do ta trajtojmë në kapitullin 3. Ky shëmbull
konsiston në një program të thjeshtë që llogarit vëllimin e një cilindri
kur jepet rrezja e bazës dhe lartësia.

Le të dizenjojmë ndërfajen duke ndjekur hapat që përmendëm në


shembullin 2.1. Futni tre text box, tre Label dhe një command button.
Rregulloni përmasat e kontrollerave të përdorur në mënyre që të

34
MSc. Genci Berati  Principe të Visual Basic 6.0 

Psi vendosëm shtatë kontrollerat në formën tonë, tani le të vendosim


propertitë për to dhe për formën. Para së gjithash kalo tek dritarja e
pronesive të formës (properties window) dhe ndrysho fushën e titulluar
caption nga form1 në “Vëllimi i cilindrit”. Pastaj për tre kutitë e
etiketave (label) ndrysho perseri fushën caption përkatësisht në “Rrezja
e bazës”, “Lartësia” dhe “Vëllimi i cilindrit”. Pasta për tre kutitë e tekstit
(TextBox), pastro (fshij) në propertinë text të secilës nga text boxet
përkatësisht permbajtjen text1 text2 dhe text3. Tani kemi tre text box
boshë. Emërto text boxet përkatësisht “rrezja”, “lartesia” dhe “vellimi”
në propertinë name. Më tej në buton komande (CommandButton)
ndrysho caption e këtij butoni në O.K. dhe emrin (propertia name) në
OK (është mjaft e rëndësishmë të mos jenë të njëjtë propertitë Caption
dhe Name për disa arsye që do të kuptohen më vonë). Tani ruani
projektin me emrin Cilinder.vbp dhe formë me emrin cilindër.frm. Për
momentin po e lëmë mënjanë kodin, pasi do ta trajtojmë në kapitullin 3.

Shembulli 2.3
Dizenjimi i një ndërfaqje tërheqëse dhe miqësore me përdoruesin (user
friendly) duhet të jetë hapi i parë në ndërtimin e një programi në Visual

35
MSc. Genci Berati  Principe të Visual Basic 6.0 
Basic. Paraqitja e aplikacionit është po aq e rëndësishme sa edhe
elementet e tjerë. Për të ilustruar këtë, le të shohim në paraqitjen e
programit të makines llogaritese.

Ndiqni hapat e mëposhtëm për të dizenjuar ndërfaqjen e makinës


llogaritëse që shihni në figurë.
Ndrysho përmasat e formës (bëj terheqje në këndet dhe meset e
kuadratit të formës) deri në përmasat që mendoni se është e
mjaftueshme për të gjitha elementet që do të përmbajë.
Shko tek properties window dhe ndrysho caption si të dëshironi (në
shëmbullin më sipër vlera e properti­së caption është “Makinë
Llogaritëse Copyright Genci Berati”)
Ndrysho propertite e tjera të formës siç janë ngjyra e sfondit
(background color), ngjyra e butonave, stili i korrnizave. Unë
rekomandoj këto property për formën e Makinës llogaritëse:

36
MSc. Genci Berati  Principe të Visual Basic 6.0 

BorderStyle Fixed Single


MaxButton False
minButton True

Këtë properti sigurojnë faktin që përdoruesi nuk mund të ndryshojnë


përmasat apo të maximizojë dritaren e makines llogaritëse, por mund ta
minimizoje atë.
Ndërto Panelin e ekranit te makines llogaritëse duke klikuar ne butonin
Label dhe duke vendosur mousin në vendin perkatës në formë dhe
duke terhequr përgjatë sipërfaqes qe duhet të zere ekrani i makinës
llogaritëse.
Kliko mbi panelin e ekranit dhe dritarja e propertive korresponduese do
të shfaqet. Fshij caption e paracaktuar kështu kemi një label boshe, pasi
në të do të paraqiten numrat paraprakë apo rezultatet e kalkulimeve.
Eshtë mirë që të zgjidhet një ngjyrë e hapët pasi ngjyra e numrave apo e
simboleve në atë ekran po e zgjedhim të jetë e zezë.
Tani vizato butonat e nevojshëm për ketë makinë llogaritëse. Unë
sugjeroj të përdoren të njëjtët butona si në figurë.
Testoje ekzekutimin e programit (në këtë moment nuk janë funksionalë
butonat, por vetën ndërfaqja grafike) duke shtypur f5. Në se jeni të
kënaqur me paraqitjen, atëherë ruajeni projektin si dhe të gjitha
skedarin që përmban formën.
Tani ju me siguri mezi prisni të dini se si të shkruani kodin në mënyrë
që Makina llogaritëse të punojë.

Për kodin e këtij programi, ju lutem referojuni kapitujve të mëposhtëm


të Visual Basic (Kapitulli 3)

37
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 3

Si të shkruajm kod?

Për ndërtimin e një aplikacioni, mbasi ndërtohet paraqitja grafike e tij,


duhet patjetër të shkruajmë kod ne përgjigjeve të eventeve të
kontrollerave apo formës (formave) së përdorur. Eventet do të sqarohen
më poshtë për secilin kontroll. Le të vazhdojmë me shembujt që kemi në
dorë dhe të japim çështjet e rëndësishme të shkrimit të kodit të
programimit.

Tani le të tentojmë të shkruajm kodin për programin e vëllimit të


cilindrit. Eventi në të cilin do të shkruajmë kodin është klikimi mbi
buttonin OK. Pra mbasi të shtypet butoni OK do të aktivizohet kodi që
do të realizojë llogaritjen e vëllimit të cilindrit.

38
MSc. Genci Berati  Principe të Visual Basic 6.0 

Në design mode (pra jo në kohë e ekzekutimit), bëj dopjoklik mbi


butonin OK dhe shkruani kodin e mëposhtëm në mes të rreshtave
Private Sub OK_Click( ) dhe End Sub

Private Sub OK_Click( ) 
r = Val(rrezja.Text) 
h = Val(lartesia.Text) 
pi = 22 / 7 
v = pi * (r ^ 2) * h 
vellimi.Text= Str$(v) 
End Sub

Kur ju të ekzekutoni programin (me butonin F5 të tastierës ose me


butonin start në toolbarin standart të mjedisit) ju do të shikoni
ndërfaqjen siç paraqitet më sipër. Në qoftë se ju futni një vlerë
përkatësisht në kutine e tekstit të Rezes dhe të Lartësisë dhe klikoni në
butonin OK, menjëherë do të shfaqet vlera e vëllimit në kutine e tekstit
perkatës.
Do të përpiqem të sqaroj kodin e mësipërm (source code) të programit
tek fillestarët (nëse keni përvojë në Visual Basic, ju mund ta kaloni këtë
pjesë). Le të shjegojmë rreshtat e mësipërm duke përdorur pseudo
kodin si më poshtë

39
MSc. Genci Berati  Principe të Visual Basic 6.0 
Procedurë për klik në butonin OK për të llogaritur vëllimin e cilindrit

Fillimi i procedure 
Merr vlerën e r nga kutia e tekstit të rrezes 
Merr vlerën e h nga kutia e tekstit të lartësisë 
Shënin një vlerë konstante 22/7 të pi grekut 
Llogarit vëllimin duke përdorur formulën 
Nxjerr rezultatin tek kutia e tekstit e vëllimit 
Fundi i procedures.

Sintaksa rrezja.Text konsiston në dy pjesë; rrezja është emri (name


property) e kutise se tekstit të rrezes ndërsa Text është përmbajtja
aktuale e ketij text box. Përgjithësisht, sintaksa është:
Objekti.Pronësia (Object.Property).
Në shëmbullin tonë, objektet janë rrezja, lartesia dhe vellimi, secila ka
propertinë text. Objekti dhe properti­të e tij ndahen me një pikë.
Përmbajtja e një text box mund të shfaqet vetëm në formë teksti, ose në
terma të tip të dhënash programimi, si string. Për të konvertuar
përmbajtjen e një tekst (te nje text box­i) në një vlerë numerike duhet të
realizohen veprime matematikore, ju duhet të përdorni funksionin Val.
Së fundmi në mënyrë që të shfaqim rezultatet në një kuti teksti (text
box) duhet të përdoret një procedurë e anasjelltë, pra të kthehet një vlerë
numerike në një tekst, duhet te përdoret funskioni Str$.
Do të mundohem gjithashtu të shpjegoj sintaksën që përcakton nen
proceduren (sub proceduren) Private Sub OK_click. Private Sub kupton
që parametrat, vlerat dhe formulat që janë përdorur në këtë procedurë i
përkasain vetë subprocedurës OK (një object në vete). Ato nuk mund të
përdoren nga subprocedurat e tjera apo modulet. OK_Click përcakton
se çfarë lloji veprimi do t’i përgjigjet subprocedura.Ketu, veprimi është
klikimi me mouse. Natyrisht që ekzistojne shumë lloje veprimesh siç
janë keypress, keyup, keydown, mousemove, mousedown, initialize etj.
Të cilat mund të kemi rastin t’i përdorim në kapitujt e metejshëm.

Për çdo kontroller, disa nga eventet që lidhen me to janë paraitur në


figurën më poshtë.

40
MSc. Genci Berati  Principe të Visual Basic 6.0 

Ne treguam më sipër se si të shkruajmë kod në një event të caktuar,


konkretisht mbi një command button. Menjëherë pas dopioklikut mbi
buton, aktivizohej ambjenti ku mund të shkruanim kodin e eventit për
klikimin e butonit.
Për të shkrur kod mbi një event të një kontrolleri, mjafton që të
zgjedhuim në ambjentin më sipër objektin në kombon 1 dhe eventin në
kombon 2 

Kombo për 
zgjedhjen e objektit 
(1)

Kombo për zgjedhjen 
e eventit (2) 

41
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 4

Puna me kontroller­at

Para se të shkruhet një event procedurë për një kontroll, për t’ju
përgjigjur një veprimi të përdoruesit, ju duhet të zgjidhni një sërë
propertishë për kontrollin për të përcaktuar paraqitjen dhe se si do të
punojë me event procedurën. Këto properties për kontrollet ju duhet t’i
zgjidhni në dritaren e properties. Këtu nuk po sqarojmë në detaje se si
duhet të zgjidhen këto veçori (properties). Megjithatë po theksojmë disa
pika të rendësishme rreth zgjedhjes së propertive.
Po paraqesim në figurën më poshtë dritaren e propertive. Në këtë figurë
paraqiten propertitë e formës form1. Nëse klikohet mbi objektet të tjera,
dritarja e propertive do të marrë vlerat e objektit përkatës. Në dritaren e
propertive kemi dy mundësi të listimit të propertive dhe vlerave të tyre
që janë sipas rendit alfabetik (Alfabetic) të propertive dhe sipas
kategorive të propertive të ndara në grupe (Catogorized). Disa nga
propertitë siç jan janë Emri (Name), Titulli (Caption), E dukshme
(Visible) e tje. ekzistojnë tek pothuaj të gjitha objektet e Visual Basic.
Natyrisht, sipas natyrës së objektit ndryshojnë edhe propertitë. Po
tregojmë tani kategoritë e propertive sipas natyrës.

Apperance është një kategori me propërti për paraqitjen e objektit.


Behavior është kategoria e propertive që tregojnë se si do të sillet objekti
në run time.
Data është një kategori e vlefshme për objektet e lidhura më një bazë të
dhënash. Në këtë kategori ndodhen properti për zgjedhjen e të dhënë
apo të dhënave të lidhura me objektin.
Font është kategoria e propertive që rregullon parametrat e tekstit të
kontrollerit në përdorim.

42
MSc. Genci Berati  Principe të Visual Basic 6.0 
Position është një kategori apo grup propertishë për vendosjen e
kontrollerit në mbartësin e tij.
DDE janë propertitë me anë të të cilave rregullohen lidhjet me objektet
e tjera.
Misc ka properti të ndryshme.

Scale, një grup pronesishë për koordinatat e kufinjëve të objektit në


përdorim.

Figura . Propertitë e formes

Le të kalojmë edhe një herë tek shembulli i makinës llogaritëse. Le të


vendosim propertitë e objekteve të përdorura në këtë shembull.
Ju duhet të vendosni Titullin e kontrollit (Caption Property) në mënyrë
që të përdoruesi i applikacionit tuaj të dijë se çfarë duhet bërë me atë
kontroll. Për shëmbull, në programin e makinës llogaritëse të gjithë
titujt (captions) e butonave si +,­, MC, MR gjenden në makinat e
zakonshme llogaritëse kështu një përdorues i atij applikacioni nuk e ka
të vështirë të manipulojë butonat.
Ju duhet të zgjidhni një Emër të kontrollit (Name property) pasi do të
jetë mjaft e lehtë për ju për të shkruar dhe lexuar event procedutar dhe
per të rregulluar më lehtë programin tuaj më vonë.

43
MSc. Genci Berati  Principe të Visual Basic 6.0 
Një tjetër property e cila është e rëndësishme është ajo që realizon nëse
kontrolli juaj do të shfaqet apo jo në ekzekutim (Visible). Kjo property
mund vetëm të marrë vlerat False ose True.
Një property edhe më e rëndësishme është ajo që rregullon nëse
kontrolli është i mundshëm (Enable) apo jo.
Po paraqesim në figurë më poshtë propertitë e formës kryesore të
makinës llogaritëse.

44
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 5

Menaxhimi i të dhënave nga Visual Basic

Në në jetën e përditshme kemi të bëjmë me një numër shumë të madh


tipe të dhënash. Për shëmbull ne duhet të merremi me të dhëna si emra,
adresa, lekë, data, kuota stoku, statistika etj përditë. Po ashtu në Visual
Basic ne duhet të merremi me të tilla tipe të dhënash. Visual Basic i
ndan të dhënat në tipe të ndryshme.

5.1 Tipet e të dhënave në Visual Basic


Tipet e të dhënave ndahen në tipe numerike dhe jo numerike.

5.1.1 Të dhënat numerike (Numeric Data)

Të dhënat numerike janë ato që konsistojnë në numra të cilët mund të


llogariten matematikisht me veprime të ndryshme standarte si
mbledhja, zbritja, shumëzimi, pjestimi e kështu me rradhë, Në Visual
Basic, të dhënat numerike janë të ndara në 7 tipe. Ato janë të
përmbledhura në Tablën 5.1

Tabla 5.1: Tipet numerike të dhënave

Sasia ne
Tipi Rrangu i vlerave
memorje
Byte 1 byte 0 to 255
Integer 2 bytes ­32,768 deri 32,767
Long 4 bytes ­2,147,483,648 deri 2,147,483,648
Single 4 bytes ­3.402823E+38 deri ­1.401298E­45 për vlerat negative
1.401298E­45 deri 3.402823E+38 për vlerat pozitive

45
MSc. Genci Berati  Principe të Visual Basic 6.0 

5.1.2 Tipet jo numerike të të dhënave

Tipet jonumerike të të dhënave janë përmbledhur në Tablën 5.2

Tabla 5.2: Tipet jo numerike të të dhënave

Tipi i të dhënes hapësira në Rrangu


memorje
String(gjatësi Gjatësia e string 1 deri 65,400 karaktere
fikse)
String(gjatësi Gjatësia + 10 0 deri 2 miliard karaktere
variable) bytes
Date 8 bytes January 1, 100 deri December 31, 9999
Boolean 2 bytes Vertete ose Gabuar
Object 4 bytes Ndonjë object i futur
Variant(numeric) 16 bytes Ndonjë vlere sa Double
Variant(tekst) Gjatësia+22 E njëjtë me Variablin length string
bytes

5.1.3 Prapashtesat për Literal­et

Literal­et janë vlera të cilat ju shënoni për një të dhënë . Në disa raste ne
duhet të shtojmë një prapashtesë prapa një Literal kështu Visual Basic
mund të bëj kalkulim me më saktësi. Për shëmbull ne mund të përdorim
num=2,3046# për një tip të dhenash Double. Disa nga shtesat janë
shfaqur në Tablën 5.3.

Tabla 5.3

shtesa Tipi i të dhenës


& Long
! Single
# Double
ë Currency

46
MSc. Genci Berati  Principe të Visual Basic 6.0 

Ne duhet të vendosim vlerën e variablit string (Literal) në mes dy


thonjëzave vlerën e variablit date dhe orë mes dy shenjave #. Stringu
mund të përmbajë çdo karakter përfshi edhe numrat. Më poshtë po
japim disa shëmbuj.

EmriAnëtarit="Turban, John."
NumriTel="1800­900­888­777"
DataFillim=#31­Dec­00#
DataFund=#12:00 am#

5.2 Menaxhimi i Variablave

Variablat janë si kutitë e postës në në PTT. Përmbajtja e variablave


ndryshon herë pas here tamam si përmbajtja e kutive të postës. Në
terma të Visual Basic, variablat janë zona të lokalizuara në memorjen e
kompjuterit për të mbajtur të dhëna. Sikur në kutite e postës, çdo
variabli duhet t’i vihet një emër. P}r të emërtuar variablat në Visual
Basic duhet të ndiqen disa rregulla.

5.2.1 Emrat e variablave

Rregullat për të vendosur emrat e variablave në Visual Basic janë:


Emri duhet të ketë më pak se 255 karaktere
Nuk duhet të ketë hapësirë
Nuk duhet të fillojë me një numër
Pika nuk është e lejueshme
Shembuj emrash të vlefshëm dhe të pavlefshëm variablash janë në
Tablën 5.4

Tabla 5.4

Emra të vlefshëm Emra të pavlefshëm


Makina_pare Malina.pare
VitiNeVazhdim 1DjaleiRi
Emra_Tegjate_mund_te_perdoren Ai&Babai *& nuk është i
pranueshëm

47
MSc. Genci Berati  Principe të Visual Basic 6.0 

5.2.2 Deklarimi i Variablave

Në Visual Basic duhet t’i deklarojmë variablat para se t’i përdorim ato
duke përcaktuar emrin e variablit dhe tipin e të dhënës. Ato,
normalisht, deklarohen ne seleksionin General të dritares së kodit duke
përdorur indtruksionin Dim.

Formati është si më poshtë:


Dim EmriVariablit as TipiTeDhenes
Shembull 5.1
Dim password As String
Dim Emri As String
Dim Kodi As Integer
Dim x As Integer
Dim totali As Integer
Dim data As Date

Ju mund t’i deklaroni disa variabla në një rresht duke i ndarë me presje
si për shëmbull:
Dim password As String, Emri As String, num As Integer,.............
Në qoftë se variabli nuk është deklaruar, Visual Basic, automatikisht e
deklaron variablin si Variant. Për deklarimin e tipit string kemi dy
formate të mundshme, njëri për tipin e variablit string fiks dhe tjetri për
varialbin string të variushëm. Për variablin string të ndryshueshëm
përdiret e njëjta sintakse si në shembullin 5.1 më sipër . Për variablin
string fiks duhet të përdoret format i mëposhtëm:
Dim EmërVariabli as String * n, ku n përcakton numrin e karaktereve
që mund të mbajë ky variabël.

Shëmbulli 5.2:
Dim EmriJuaj as String * 10
EmriJuaj mund të mbaj jo më shumë se 10 karaktere.

48
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 6

Puna me Variablat

6.1 Dhënia e vlerave të variablave

Pasi kemi deklaruar variablat duke përdorur instruksionin Dim, ne


mund të vendosim vlerat në këto variabla.
Formati i përgjithshëm i një deklarimi është

Variabël=Shprehje

Një Variabl mund të jetë një variabël i deklaruar ose një vlerë e ndonjë
kontrolli (control property). Shprehja mund të jetë një shprehje
matematike, një numer, një string, një vlerë Boolean (e vertetë ose false)
etj. Më poshtë janë disa shëmbuj:

NumriParë=100
NumriDytë=firstNumber­99
userName="John Lyan"
userpass.Text = password
Label1.Visible = True
Command1.Visible = false
Label4.Caption = textbox1.Text
NumriTretë = Val(usernum1.Text)
total = NumriParë + NumriDytë+ NumriTretë

6.2 Operatorët në Visual Basic

Në mënyrë që të llogarisim inputet e përdoruesit dhe të gjenerojmë


rezultatet ne duhet të përdorim një sërë operatorësh matematikë. Në

49
MSc. Genci Berati  Principe të Visual Basic 6.0 
Visual Basic, përveç + dhe ­, simbolet për operatorët matematike janë të
ndryshëm nga ato normale, si shihen në. Tablën 6.1.
Tabla 6.1

Operatori Funksioni Shembull


Matematik
^ Fuqi 2^4=16
* Shumzim 4*3=12
/ Pjestim 12/4=3
Mod Modulus (jep 15 Mod 4=3
mbetjen nga një
pjestim i plotë)
\ Pjestim i Plote (heq 19\4=4
numrat mas presjes)
+ ose & Lidhje String "Visual"&"Basic"="Visual Basic"

Shëmbull 6.1:
Emri=Text1.Text
Mbiemri=Text2.Text
EmriJuaj=Emri+Mbiemri
numer1=val(Text3.Text)
numer2=val(Text4.Text)
numer3=num1*(num2^3)
numer4=number3 Mod 2
numer5=number4/number1
Total=numer1+numer2+numer3+numer4+numer5
Average=Total/5

Këtu ne do të mësojmë se si të përdorim në kodin e Visual Basic.

50
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 7

Kontrolli i rrjedhshmërisë së programit

7.1 Opreratorët e krahasimit

Për të realizuar vijueshmërinë e një programi në Visual Basic, ne mund


të përdorim një sërë operatorësh të krahasimit. Parimisht operatorët e
krahasimit i ngjajnë operatorëve matematik. Operatorët e krahasimit
janë instrumente shumë të rendësishme, të cilët lejojnë programin e
Visual Basic të krahasojnë vlerat e dhëna dhe të vendos se çfarë veprimi
të kryej, të ekzekutojë një program apo të përfundojë një tjetër. Këto
operatorë janë treguar në Tablën 7.1.

Tabla 7.1: Operatorët e krahasimit

Operatori Kuptimi
= I njëjtë me
> Më i madh se
< Me e vogël se
>= Më i madh se ose baraz
<= Më i vogël se ose baraz
<> I ndryshëm nga

* Ju mundet gjithashtu të krahasoni edhe string nëpërmjet këtyre


operatorëve. Gjithsesi janë disa rregulla për tu ndjekur:
Gërmat e mëdha janë më të vogla se gërmat e vogla,
"A"<"B"<"C"<"D".......<"Z" dhe numrat janë më të vegjël se germat.

51
MSc. Genci Berati  Principe të Visual Basic 6.0 
7.2 Operatorët Logjik

Plus operatorëve të kondicionuar kemi edhe disa operatorë logjikë të


cilët ofrojnë më tepër mundësi në Visua Basic. Këto operatorë shfaqen
në Tablën 7.2.

Tabla 7.2

Operator Kuptimi
And Të dyja anët duhet të jenë të vërteta
or Njëra anë ose tjetra duhet të jetë e vërtetë
Xor Ose njëra anë ose tjetra duhet të jenë të vërtetë
Not E kunderta e vertetë

7.3 Përdorimi i If.....Then.....Else me operatorë

Për një kontroll efektiv të vijimsisë së një programi në Visual Basic, ne


duhet të përdorim instruksionet If …Then…Else së bshku me operatorët
e kondicionuar dhe me ato logjike.

If kusht Then
Shprehje të VB
Else
Shprehje të VB
End If

Çdo If..Then..Else duhet të mbarojë me End if. Disa herë nuk është e
nevojshme të vendosim Else.

Shembull 7.3.1:
Private Sub OK_Click()
firstnum = Val(usernum1.Text)
secondnum = Val(usernum2.Text)
total = Val(sum.Text)
If total = firstnum + secondnum And Val(sum.Text) <> 0 Then

52
MSc. Genci Berati  Principe të Visual Basic 6.0 
correct.Visible = True
wrong.Visible = False
Else
correct.Visible = False
wrong.Visible = True
End If
End Sub

Për më shumë shembuj për instruksionet If...Then...Else, shiko shëmbujt


më poshtë

Shëmbull 7.3.2:

Kodi i programit

Dim num1 As Integer


Dim num2 As Integer
Dim intNumber As Integer

53
MSc. Genci Berati  Principe të Visual Basic 6.0 
Private Sub score()
intNumber = intNumber + 1
End Sub

Private Sub begin()


intNumber = 0
Image1.Visible = False
Image2.Visible = False
Label6.Visible = False
Label5.Visible = False
Text3.Text = ""
If Option1.Value = "true" Then
n = 10

ElseIf Option2.Value = "true" Then


n = 100
ElseIf Option3.Value = "true" Then
n = 1000
End If

Randomize Timer
num1 = Int(Rnd * n)
num2 = Int(Rnd * n)
Text1.Text = num1
Text2.Text = num2
Text3.SetFocus

End Sub

Private Sub Command3_Click()

End Sub

Private Sub Command2_Click()


End
End Sub

54
MSc. Genci Berati  Principe të Visual Basic 6.0 
Private Sub Form_Load()
Image1.Visible = False
Image2.Visible = False
Label6.Visible = False
Label5.Visible = False
End Sub

Private Sub Start_Click()


begin
End Sub
Private Sub text3_keyDown(keyCode As Integer, shift As Integer)
If keyCode = vbKeyNext Or keyCode = vbKeyDown Then
begin
End If

End Sub
Private Sub text3_keypress(keyAscii As Integer)
If (keyAscii = 13) And Val(Text3.Text) = Val(Text1.Text) +
Val(Text2.Text) Then

Image1.Visible = True
Image2.Visible = False
Label5.Visible = True
Label6.Visible = False
score
total.Caption = Strë(intNumber)

ElseIf (keyAscii = 13) And Val(Text3.Text) <> Val(Text1.Text) +


Val(Text2.Text) Then
Image1.Visible = False
Image2.Visible = True
Label5.Visible = False
Label6.Visible = True
Text3.Text = ""
End If

End Sub

55
MSc. Genci Berati  Principe të Visual Basic 6.0 

Private Sub Command1_Click()

End Sub

Private Sub Next_Click()


Image1.Visible = False
Image2.Visible = False
Label6.Visible = False
Label5.Visible = False
If Option1.Value = "true" Then
n = 10

ElseIf Option2.Value = "true" Then


n = 100
ElseIf Option3.Value = "true" Then
n = 1000
End If
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Randomize Timer
num1 = Int(Rnd * n)
num2 = Int(Rnd * n)
Text1.Text = num1
Text2.Text = num2
Text3.SetFocus
End Sub

Private Sub OK_Click()


If Val(Text3.Text) = Val(Text1.Text) + Val(Text2.Text) Then
Image1.Visible = True
Image2.Visible = False
Label5.Visible = True
Label6.Visible = False
score
total.Caption = Str$(intNumber)

Else

56
MSc. Genci Berati  Principe të Visual Basic 6.0 
Image1.Visible = False
Image2.Visible = True
Label5.Visible = False
Label6.Visible = True
Text3.Text = ""
End If

End Sub

Private Sub Option1_Click()


n = 10
End Sub

Private Sub Picture1_Click()

End Sub

Private Sub Option2_Click()


n = 100
End Sub

Private Sub Option3_Click()


n = 1000
End Sub

Shëmbull 7.3.3:

Përdorimi i If....Then....Else

57
MSc. Genci Berati  Principe të Visual Basic 6.0 

Në këtë program, ju duhet të krijoni tre kutia teksti (Textbox), tre kuti
etikete(LabelBox), një imazh dhe katër butona komande. Ndrysho emrat
e textbox duke filluar nga e majta me emrat x, y, dhe z. Ndrysho titullin
(Caption) elabel1 në + dhe të label2 në =. Pastro titullin e label3 dhe
ndrysho emrin e saj në paraqit. Qëllimi i saj është të paraqesë nëse
përgjigja është e saktë apo jo. Tani ndrysho emrat e butonave në Start,
Next, OK dhe Stop, ju mund ta bëni këtë duke ndryshuar përkatësisht
titujt përkatës.
Ju duhet të vizatoni një vijë dhe të futni një imazh në image box si
paraqitet në programin mësipër.
Tani le të shikojmë kodinm:

Private Sub Stop_Click()


End
End Sub
Private Sub Text1_Change()
End Sub
Sub Start_Click()
' To get any random integers from 0 to 100
Randomize Timer
firstNum = Int(Rnd * 100) + 1
secondNum = Int(Rnd * 100) + 1

58
MSc. Genci Berati  Principe të Visual Basic 6.0 
x.Text = Strë(firstNum)
y.Text = Strë(secondNum)
End Sub
Private Sub Picture1_Click ( )
End Sub
Private Sub OK_Click( )
If z.Text = x.Text + y.Text Then
paraqit.Caption = "Correct"
Image2.Visible = "true"
Line1.Visible = "true"
Else
paraqit.Caption = "Wrong"
Image2.Visible = "false"
Line1.Visible = "false"
End If
End Sub
Private Sub Next_Click()
z.Text = ""
paraqit.Caption = ""
Start_Click
End Sub
Nëse ju doni që përdoruesi të shtyp tastin Enter pasi të shkruaj
përgjigjen, duhet të shkruani një procedurë për keyPress event si më
poshtë
Private Sub z_KeyPress(KeyAscii As Integer)
If (KeyAscii = 13) Then
OK_Click
End If
End Sub

Kur KeyAscii=13 do të thotë tasti Enter


Pasi të ekzekutohet programi nga përdoruesi duhet të shtypet butoni
Start. Vendosni dy numra në dy textbox­et e para. Perdoruesi duhet të
fusë përgjigjen dhe të shtyp butonin OK. Përdoruesi do të njohë në se
përgjigja është e saktë apo e gabuar në label3. Për ta përfunduar,
shtypni butonin Stop.
Në këtë program ju duhet të dini se çfarë është funksioni Rnd dhe Int.
Rnd jep një numër të çfardoshëm mes 0 dhe 1, kurse Int jep numrin e
plotë më të afert të numrit të dhënë.

59
MSc. Genci Berati  Principe të Visual Basic 6.0 
Shëmbull:

if Rnd=0.7423
100*Rnd=74.23
Int(100*Rnd)=74

Nga kombinimi i funksioneve Rnd dhe Int, ne mund të gjenerojmë


numra të plotë të çdo rendi. Funksioni Str$ përdoret për të konvertuar
një numër në tekst, kurse funksioni Val konverton tekstin në numër.

Provo të implementosh në Visual Basic programin më sipër.

60
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 8:

Më tepër për Kontrollin e programit

8.1 Select Case

Në qoftë se ju keni shumë kushte, përdorimi i If..Then..Else mund të


mos jetë shumë i përshtatshem. Për kushte logjike të përsërotura është
më mirë të përdoret Select Case
Formati është:
Select Case shprehje

Case vlerë1
Bllok i n jë ose më shume instruksioneve të Visual Basic
Case vlerë2
Bllok i n jë ose më shume instruksioneve të Visual Basic
Case vlerë3
Bllok i n jë ose më shume instruksioneve të Visual Basic
Case vlerë4
.
.
.
Case Else
Bllok i n jë ose më shume instruksioneve të Visual Basic
End Select

* Tipi i të dhënave të përdorura në shprehje duhet t’i korrespondoje asaj


të Case selekt.

8.2 Shëmbull
Shëmbull 8.1
Ekzaminimi i gradëve

61
MSc. Genci Berati  Principe të Visual Basic 6.0 
Dim grade As String
Private Sub Llogarit_Click( )
grade=txtgrade.Text
Select Case grade
Case "A"
rezultat.Caption="Shkëlqyeshëm"
Case "A­"
rezultat.Caption="Shumë mirë"
Case "B"
rezultat.Caption="Mirë"
Case "C"
rezultat.Caption="Kalueshëm"
Case Else
rezultat.Caption="Dështim"
End Select

*Shikoni që grade është variabël string, kështu edhe vlerat e case select
janë të tilla si p.sh. “A”.

Shëmbull 8.2
Dim nota As Single
Private Sub Llogarit_Click()
'Ekzaminimi i notave
Notë = not.Text

Select Case notë


Case Is >= 85

koment.Caption = "Shkëlqyeshëm"
Case Is >= 70

koment.Caption = "Mirë"
Case Is >= 60
koment.Caption = "Mbi mesatare"
Case Is >= 50
koment.Caption = "Mesatar"
Case Else
koment.Caption = "Duhet të punosh më shumë"
End Select
End Sub

62
MSc. Genci Berati  Principe të Visual Basic 6.0 

*Ne përdorim këtu Is për të imponuar konditën. Kjo përdoret zakonisht


për të dhënat numerike.

Shëmbull 8.3

Shëmbulli 8.2 mund të rishkruhen si më poshtë: .

Dim notë As Single


Private Sub Llogarit_Click()
'Ekzaminimi i notave
Notë = not.Text
Select Case notë
Case 0 to 49
koment.Caption = "Duhet të punosh më shumë"
Case 50 to 59
koment.Caption = "Mesatar"
Case 60 to 69
koment.Caption = "Mbi mesataren"
Case 70 to 84
koment.Caption = "Mirë"
Case Else
koment.Caption = "Shkëlqyeshëm"
End Select
End Sub

63
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 9

Looping

Visual Basic lejon që një proçedurë të përsëritet aq herë sa mund ta


lejojë proçesori. Kjo quhet zakonisht looping.

9.1 Do Loop
Formatet janë:
a) Do While konditë
Bllok instruksionesh të Visual Basic
Loop
b) Do
Bllok instruksionesh të Visual Basic
Loop While konditë
c) Do Until konditë
Bllok instruksionesh të Visual Basic
Loop
d) Do
Bllok instruksionesh të Visual Basic
Loop Until konditë

Shëmbull 9.1

Do while numrator <=1000


num.Text=numrator
numrator = numrator +1
Loop

* Shëmbulli i mësipërm rrit variablin numerator derisa ai të jetë>1000.


Shëmbulli i mësipërm mund të shkruhej edhe

64
MSc. Genci Berati  Principe të Visual Basic 6.0 
Do
num.Text= numrator
numrator = numrator +1
Loop until numrator >1000

9.2 For....Next Loop


Formati është:

For numrator =fillimNumer to fundNumer (Hap i rritjes)


Një ose më shumë instruksione të Visual Basic
Next

Shëmbull:
(a) For numrator =1 to 10
shfaq.Text= numrator

Next
(b) For numrator =1 to 1000 step 10
numrator = numrator +1

Next
(c) For numrator =1000 to 5 step ­5
numrator = numrator ­10
Next

65
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 10

Njohuri mbi funksionet e Visual Basic ­ Pjesa I

Funksionet jane të ngjashme me procedurat normale, por qëllimi


kryesor i funksioneve është të pranoje disa inpute dhe t’i kalojë ato në
programin kryesor për të përfunduar ekzekutimin. Janë dy tipe
funsionesh, funksionet built­in (ose funksionet e veta) dhe funksiopnet e
krijuara nga programatori.

Format i përgjithshëm i funksionit është:

EmërFunksioni(argument)

ku argumentet janë vlera që kalojnë në funksion .


Në ketë kapitull ne po mundohemi të mësojmë dy nga funksionet më të
përdorshme të Visual Basic që janë funksionet MsgBox() dhe
InputBox().

10.1 Funksioni MsgBox ( )

Qëllimi i funksionit MsgBox është të krijojë një mesazh të menjëhershëm


dhe të detyrojë përdoruesin të klikojë në një buton para se ai të
vazhdojë. Ky mesazh ka formatin e mëposhtëm.
MsgJuaj=MsgBox(Replika, Vlera e Stilit, Titulli)
Argument ii parë,Replika, do t’ju paraqesë mesazhin e duhur. Vlera e
stilit do t’ju përcaktoje se çfarë tipe komandash do të shfaqen në kutine
e mesazhit, referoju Tablës 10.1 për tippet e butonave që mund të
shfaqen. Titulli do të shfaq titullin e kutise së mesazhit.

66
MSc. Genci Berati  Principe të Visual Basic 6.0 
Tabla 10.1: Vlerat e stileve

Vlera e
Emri konstant Butoni i shfaqur
stilit
0 vbOkOnly Ok butoni
1 vbOkCancel Butoni Ok dhe Cancel
2 vbAbortRetryIgnore Butoni Abort, Retry dhe Ignore.
3 vbYesNoCancel Butoni Yes, No dhe Cancel
4 vbYesNo Butoni Yes dhe No
5 vbRetryCancel Butoni Retry dhe Cancel

Për ta bërë programin më të thjeshtë për për ta lexuar, në vënd të


numrit perkatës ne mund të përdorim emrit konstant. Në fakt, VB6 do
të na shfaqë automatikisht një listë me emrat constantë kun e mund të
zgjedhim një.
shembull:
MsgJuaj=MsgBox( "Kliko OK për të vazhduar", 1, "Mënuja Kryesore")
dhe MsgJuaj=Msg("Kliko OK për të vazhduar".
vbOkCancel,"Menuja Kryesore")
janë të njëjtë.
MsgJuaj është një variabël i cili mban ato vlera që jep funksioni MsgBox
( ). Vlerat janë të përcaktuara nga tipi i butonit që ka klikuar përdoruesi
i programit që pë krijojmë. Ky duhet të deklarohet si Integer në
procedurë apo në general declaration. Tabla 10.2 tregon vlerat në
correspondence të emrit constant dhe butonit.
Tabla 10.2 : Vlerat e funksionit MsgBox() dhe Butonat e komandave

Vlera Emri Konstant Butoni i shtypur


1 vbOk Butoni Ok
2 vbCancel Butoni Cancel
3 vbAbort Butoni Abort
4 vbRetry Butoni Retry
5 vbIgnore Butoni Ignore
6 vbYes Butoni Yes
7 vbNo Butoni No

67
MSc. Genci Berati  Principe të Visual Basic 6.0 
Shembull 10.1

Ndërfaqja grafike:
Vizatoni tre butona komandash dhe një etiketë (label) si në Figurën 10.1

Figura 10.1

Proçdura për butonin Test në ngjarjen e klikimit mbi këtë buton është:

Private Sub Test_Click()


Dim testmsg As Integer
testmsg = MsgBox("Kliko në test", 1, "Mesazhi i testimit")
If testmsg = 1 Then
shfaq.Caption = "Testimi i suksesshëm"
Else
shfaq.Caption = "Testimi i dështuar"
End If
End Sub

Kur një përdorues klikon në butonin test, do të na shfaqet imazhi si në


Figureën 10.2. Nëse përdoruesi i programit klikon në butonin OK,
atëherë do të na shfaqet mesazhi “Testimi i suksesshëm” dhe kur

68
MSc. Genci Berati  Principe të Visual Basic 6.0 
përdoruesi të klikojë në butonin cancel do të shfaqet mesazhi “Testimi i
deshtuar”.

Figure 10.2

Për të bërë që mesazhi të duket sa më i plotë, ju mund të shtoni një


ikonë prapa mesazhit të shkruar në kutinë e mesazhit. Në Visual Basic
kemi në dispozicion katër tipe ikonash si në Tablën 10.3

Tabla 10.3

Vlera Emri Konstantit Ikona

16 vbCritical

32 vbQuestion

48 vbExclamation

64 vbInformation

Shembull 10.2

Në këtë shëmbull do të shfaqet mesazhi si në figureën 10.3:

69
MSc. Genci Berati  Principe të Visual Basic 6.0 
Figura 10.3

Ju mund të ndërtoni të njëjtiten ndërfaqje si në shëmbullin 10.1, por


modifikoni kodin si më poshtë

Private Sub test2_Click()


Dim testMsg2 As Integer
testMsg2 = MsgBox("Kliko mbi Test", vbYesNoCancel + vbExclamation,
"Mesahi i testimit")
If testMsg2 = 6 Then
shfaq2.Caption = "Testimi i suksesshëm"
ElseIf testMsg2 = 7 Then
shfaq2.Caption = "A jeni i sigurtë?"
Else
shfaq2.Caption = "Testimi i dështuar"
End If
End Sub

10.2 Funksioni InputBox( )

Funksioni InputBox( ) ba shfaq një kuti mesazhi në të cilën përdoruesi


mund të shënojë një vlerë apo një mesazh në formën e tekstit. Format i
deklarimit të këtij funksioni është:

MesazhiIm=InputBox(Replika, Titulli, Teksti_definitiv, pozicioni­x,


pozicioni­y)
MesazhiIm ëhstë një variabël i tipit variant, por shpesh deklarohet si
string, i cili pranon vlera nga përdoruesi në mënyrë interative.
Argumentet shpjegohen si më poshtë:

Replika ­ Mesazhi i paraqitur normalisht sin jë pyetje.


Titulli ­ Titulli i Input Box.

70
MSc. Genci Berati  Principe të Visual Basic 6.0 
Teksti_definitiv ­ Teksti që shfaqet në kutinë e inputit të cilën
përdoruesi mund ta përdori
Pozicioni­x dhe Pozicioni­y janë koordinatat e kutisë sëinput box.

Shëmbull 10.3

Ndërfaqja grafike

Figura 10.4

Proçedura për butoni OK në ngjarjen e klikimit mbi këtë buton.


Private Sub OK_Click()
Dim MsgPerd As String
MsgPerd = InputBox("Cili është measazhi juaj?", "Mesazhi i formës
Enter", "Fut mesazhi tuaj këtu", 500, 700)
If MsgPerd <> "" Then
mesazh.Caption = MsgPerd
Else
message.Caption = "No Message"
End If
End Sub

Kur një përdorues klikon në butonin OK, do të shfaqet mesazhi si në


figureën 10.5. Më pas përdoruesi duke shkruar mesazhin dhe duke
klikuar në butonin OK, nxjerr mesazhin e shkruar në kutinë përkatëse.
Ndërsa nëse shtypët Cancel atëherë do të shfaqet “Nuk ka mesazh”.

71
MSc. Genci Berati  Principe të Visual Basic 6.0 

72
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 11

Njohuri mbi funksionet e Visual Basic ­ Pjesa II

11.1 Krijimi i n jë Funskioni nga programuesi

Format i përgjithshëm i deklarimit të një funksioni nga programuesi:

Public Function EmriFunksionit (Argument As TipiDhanës,..........) As


TipiDhanës
Ose
Private EmriFunksionit (Argument As TipiDhanës,..........) As
TipiDhanës

* Public do të thotë që funksioni është i aplikueshëm në të gjithë


programin kurse Private tregon se funksioni është i aplikueshëm vetën
në procedurën ose modulin konkret, në përdorim.

Shëmbull 11.1

Në këtë shëmbull, një përdorues mund të llogarite sasinë e lekëve qe ka


në bazë të interesit banker dhe numrit të viteve. Llogaritja bazohet në
koefiçentin e interesit.

73
MSc. Genci Berati  Principe të Visual Basic 6.0 

Public Function VA(PV As Variant, i As Variant, n As Variant) As


Variant
'Formula për të llogaritë Vlerën e Ardhshme (VA)
'PV shenon Vleren e tashme (Present Value)
VA = PV * (1 + i / 100) ^ n
End Function
Private Sub llogarit_Click()
'Kjo procedure do të llogaritë Vlerën e Ardhshme
Dim VlArdh As Variant
Dim VlPres As Variant
Dim interes As Variant
Dim period As Variant
VlPres = PV.Text
interes = rate.Text
period = vitet.Text
VlArdh = FV(VlPres, interes, period)
MsgBox ("Vlera e Ardhme është " & VlArdh)
End Sub

Shembull 11.2
Program i mëposhtëm llogarit në mënyrë automatike gradët në varësi të
notave që marrin nxënësit.

74
MSc. Genci Berati  Principe të Visual Basic 6.0 

Public Function grade(nota As Variant) As String


Select Case nota
Case Is >= 80
grade = "A"
Case Is >= 70
grade = "B"
Case Is >= 60
grade = "C"
Case Is >= 50
grade = "D"
Case Is >= 40
grade = "E"
Case Else
grade = "F"
End Select
End Function
Private Sub llogarit_Click()
grading.Caption = grade(nota)

End Sub
Private Sub End_Click()
End
End Sub

75
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 12

Krijimi i Funksioneve të Visual Basic për Microsof Excel

12.2 Pse është e nevojshme të krijohen funksione nga përdoruesi në


MS Excel?

Ju mund të krijoni funksionet tuaja përveç atyre të ofruara nga


Spreadsheet i Excel­it, të cilat duhet thëne se janë të limituara. Këto
funksione mund të jenë shumë të fuqishme nëqoftë se ju do të dini si t’i
krijoni dhe t’i përdorni. Një nga arsyet më kryesore përse ne duhet të
krijojme një funksion është për të bërë të mundur të organizojmë
mjedisin e spreadsheet­it për nevojat tona. Për shëmbull ne mund të
kemi nevojë të llogarisim përqindjen e kamarierëve të një lokali në
varësi të xhiros ditore e cila është mjaft komplekse nëse nuk përdorim
një funksion tonin, por vetëm ato të përcaktuara nga Excel. Shikoni në
tableën më poshtë:

Tabla 12.1: Përqindja e kamarierëve në varsi të xhiros ditore

Xhiro(Lekë) Përqindja
<500 3%
500<1000 6%
1000<2000 9%
2000<5000 12%
>5000 15%
Në shëmbullin më sipër, nëse një kamarier realizon një xhiro prej 6000
lekësh, ai do të shpërblehet me 6000x12%=720.00.mund të shkruhet një
funksion në Visual Basic i cili të llogaritë automatikisht vlerë e
përqindjes si më poshtë:

Function Përq(Xhiro_V As Variant) as Variant


If Xhiro_V <500 Then

76
MSc. Genci Berati  Principe të Visual Basic 6.0 
Përq=Xhiro_V*0.03
Elseif Xhiro_V>=500 and Xhiro_V <1000 Then
Përq = Xhiro_V*0.06
Elseif Xhiro_V >=1000 and Xhiro_V <2000 Then
Përq = Xhiro_V *0.09
Elseif Xhiro_V >=200 and Xhiro_V <5000 Then
Përq = Xhiro_V *0.12
Elseif Xhiro_V >=5000 Then
Përq = Xhiro_V *0.15
End If
End Function

12.2 Përdorimi i Microsoft Excel Visual Basic Editor­it


P}r të krijuar një funksion të përdoruesit në MS Excel, ju mund të
klikoni në tools, select macro dhe pastaj klikoni në Visual Basic Editor
siç paraqitet në Figurën 12.1

Figura 12.1: Hapja e Ms_Excel Visual Basic Editor

77
MSc. Genci Berati  Principe të Visual Basic 6.0 
Pasi keni klikuar në Visual Basic Editor, ai do t’ju paraqitet si në
figureën 12.2. për të krijuar një funksion, shkruani si në shembullin e
seksionit 12.1 më sipër funksionin ose tamam si në figureën më poshtë
12.2. Pastaj ruani skedarin dhe kthehuni në dritaren e Excel­it.

Figura 12.2 : Editori Visual Basic

Në dritaren e Excel­it (preadsheet­in tuaj), vendosni në dy qeliza të cilat


i zgjidhni vetë Xhiro Ditore dhe Përqindja e Kamarierit. SI tregohet në
figureën 12.3, vendos funksionin Përq në qelizën C4 dhe referojuni
vlerës së qelizës B4, duke përdorur formatin Përq(B4). Çfardo vlere që të
vedoset në qelizën B4 menjëherë do të reflektojë në qelizën C4 ku është
vendosur funksioni Përq. Për rreshtat më poshtë është e mjaftueshme
vetëm të kopjohet formula me tërheqje (Drag) në cepin e djathte poshtë
qelizes C4 poshtë në qelizat e kërkuara dhe menjëherë një tableë e
këndhme dhe e rregullt do të na shfaqet duke treguar përqindjet

78
MSc. Genci Berati  Principe të Visual Basic 6.0 
automatikisht. Vlerat në këtë tableë mund të ndryshohen automatikisht
në varësi të xhirove ditore.

Figura 12.3: Dritarja e MS Excel për Xhiron Ditore të Kamarierëve

79
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 13: Tabelat (Arrays)

13.1 Njohja me Tabelat

Me pëçrkufizim, një array është një listë variablash të gjitha të të njëjtit


tip dhe me të njëjtin emër. Kur ne punojmë vetëm me një fushë, ne na
duhet vetëm një variabël. Në qoftë se n ekemi të bëjmë me një listë
fushash të të njëjtit tip (p. sh. String) atëherë këshillohet të deklarohet
një array (tableë) variablash në vend që të deklaronim nga një variab\l
për secilën fushë. Për shëmbull në se do të duhej të trajtonim njëqind
emra, në vend që të deklaronim 100 variabla , ne deklarojmë vetëm një
array. Ne mundet që të dallojmë secilën fushë në array duke shfrytëzuar
vlerën e indeksit për secilën fushë. Për shëmbull Emri(1), Emri(2),
Emri(3)….etj.

13.2 Deklarimi i Tabelës

Ne mund të përdorim instruksionin Public ose Dim për të deklaruar një


Tabelë në të njëjtën rrugë me të cilën deklarojmë një variabël të singël.
Instruksioni Public e deklaron variablin Array të mundshëm për tu
përdorur në të gjitha modulet e aplikacionit. Instruksioni Dim e
deklaron të përdorshëm vetëm në proceduren aktuale në përdorim.
Format ii përgjithshëm i deklarimit të tableës në Visual Basic është:

Dim EmerTabele(subs) as Tipi

Ku subs tregon indeksin e fundit në array.

Shëmbull 13.1

Dim EmerKlienti(10) as String

Ky shembull deklaron një tableë (array) që konsiston në 10 elemente.


Nëse në instruksionin e deklarimit shfaqet 1 atëherë elementet fillojnë
nga EmriKlientit(1) deri në EmriKlientit(10) përndryshe do të jenë 11
elemente të mundshme në tableë EmriKlientit(0) deri EmriKlientit(10)

80
MSc. Genci Berati  Principe të Visual Basic 6.0 
Shembull 13.2

Dim Numëro(100 to 500) as Integer


Deklaron një tableë e cila konsiston në elementin e parë që fillon nga
Numëro(100) dhe mbaron me Numëro(500)

13.3 Programe shembuj


Ndërfaqja grafike

Kodi
Dim EmriStudentit(10) As String
Dim num As Integer
Private Sub shtoEmër()
For num = 1 To 10
EmriStudentit(num) = InputBox("Fut Emrin e Studentit", "Fut Emër", "",
1500, 4500)

81
MSc. Genci Berati  Principe të Visual Basic 6.0 
If EmriStudentit(num) <> "" Then
Form1.Print EmriStudentit(num)
Else
End
End If
Next
End Sub

Private Sub Exit_Click()


End
End Sub
Private Sub Start_Click()
Form1.Cls
shtoEmër
End Sub

Programi më sipër pranon të dhëna në kutinë e mesazhit dhe pastaj i


shfaq në formën përkatëse. Si edhe shihet ky program lejon që të futen
në formë vetëm 10 emra sa herë që klikohet butoni start

Ndërfaqja grafike

Kodi

82
MSc. Genci Berati  Principe të Visual Basic 6.0 
Dim EmriStudentit(10) As String
Dim num As Integer
Private Sub shtoEmër( )
For num = 1 To 10
ErmiStudentit(num) = InputBox("Fut emrin e studentit")
List1.AddItem ErmiStudentit (num)
Next
End Sub

Private Sub Start_Click()


shotEmër
End Sub

Program ii mësipërm fut emrat e studentave nga kutia e mesazhit inbox


dhe i vendos ato në një listbox.

83
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 14: Puna me skedarët

14.1 Prezantim

Deri në kapitullin 13 ne kemi parë programe të cilët pranojnë të dhëna


të cilat prezantohen në kohen e ekzekutimit, kur programi përfundon,
te dhenat do të humbin. Është e mundur që të ruhen në mënyrë të
përhershme të dhënat që pranohen në programin e Visual Basic në një
njësi memorje të përhershme si Hard Disk Drive p.sh. ose Disketë bile
edhe në CD­RW. Në ketë kapitull do të mësojmë se si të krijojmë
skedarë duke i ruajtur ato në njësitë e memorjes së përhershme dhe se si
t’i tërheqim të dhënat nga këto skedarë në programin tonë të krijuar me
Visual Basic.
14.2 Krijimi i skedarëve
Për të krijuar skedarë në Visual Basic përdorim komandat në formatin
më poshtë.
Open "emrskedari" For Output As çnumerskedari
Çdo skedar duhet të ketë një emer dhe një numër për tu identifikuar. P}r
emrin e skedarit , ju duhet të specifikoni edhe pozicionin ne të cilin ai
do të ndodhet (path).
Për shembull
Open "c:\My Documents\shembull.txt" For Output As ç1
Do të krijojë një skedar tekst me emrin shembull.txt në direktorinë My
Document. Numri shoqërues i ketij skedari është 1. Në qoftë se ju doni
ta krijoni ketë skedar në disketë (drive A) thjeshtë ndrysho adresën e
skedarit
Open "A:\shembull.txt" For Output As ç1
Në se ju doni të krijoni një skedar HTML thjesht ju duhet të ndërroni
prapashtesën e skedarit si më poshtë
Open "c:\My Documents\shembull.html" For Output As # 2

14.2.1 Program shembull: Krijimi in jë skedari tekst

Private Sub create_Click()


Dim intMsg As String
Dim StudentEmri As String
Open "c:\My Documents\shembull.txt" For Output As ç1
intMsg = MsgBox("Skedari shembull.txt hapet")
StudentEmri = InputBox("Fut emrin e studentit")

84
MSc. Genci Berati  Principe të Visual Basic 6.0 
Print ç1, StudentEmri
intMsg = MsgBox("Duke shkruar " & StudentName & " tek shembull.txt
")
Close #1
intMsg = MsgBox("Skedari shembull.txt mbyllet")
End Sub

* Programi mesiper do të krijoje skedarin shembull.txt ne dosjen My


Document të gatshëm për të pranuar inpute nga përdoruesi. Çdo input
të dhënash do të ruhen në këtë skedar tekst.

14.3 Leximi i skedarëve


Për të lexuar skedarin e krijuar me instruksionet e seksionit 14.2 ju
mund të përdorn instruksionin inputç. Megjithatë ne mund të lexojmë
skedarët në varësi të formatit me të cilin ata janë shkruar. Ju mund të
hapni skedarin ne bazë të numrit të tij përkatës dhe variablit qe mban të
dhenat Ne gjithashtu duhet të përdorim instruksioni DIM për të
deklaruar variablin.

14.3.1 Program shembull: Leximi i skedarit

Private Sub Leximi_Click()


Dim variabel1 As String
Open "c:\My Documents\shembull.txt" For Input As ç1
Input ç1, variabel1
Text1.txt = variabel1
Close ç1
End Sub

* Ky program do të hapi skedarin shembull.txt për të lexuar të dënat


dhe për t’i hedhur në skedarin destinacion text1.txt.

85
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 15: Krijimi i një aplikacioni multimedial­ Pjesa 1

Ne mund të krijojmë një sërë aplikacinesh multimedialë në Visual Basic.


Për shembull mund të ndërtojmë apliakcione të cilat lexojnë skedarët
audio, CD, VCD, skedarët video etj.
P}r të qënë të aftë të luajmë skedarët multimedialë nëpërmjet një
aplikacioni në Visual Basic ne duhet të futim Microsoft Multimedia
Controller në aplikacionin e VB që po krijomë. Microsoft Multimedia
Controller normalisht nuk është përfshirë në kutine e intrumenteve
(toolbox), keshtu që ju duhet të shtoni MM control duke shtypur Ctrl+T
dhe duke e zgjedhur nga kutia e dialogut përkatëse.

15.1 Krijimi in jë CD player­i


(a) Ndërfaqja grafike

Private Sub Form_Load()


'Pozicionon formën në qendër
Left = (Screen.Width ­ Width) \ 2
Top = (Screen.Height ­ Height) \ 2
'Hap CD
myCD.Command = "Open"

86
MSc. Genci Berati  Principe të Visual Basic 6.0 
End Sub
Private Sub myCD_StatusUpdate()
'Jep numrin e track­ut
trackNum.Caption = myCD.Track
End Sub
Private Sub Next_Click()
myCD.Command = "Next"
End Sub
Private Sub Play_Click()
myCD.Command = "Play"
End Sub
Private Sub Previous_Click()
myCD.Command = "Prev"
End Sub
Private Sub Stop_Click()
myCD.Command = "Stop"
End Sub
Private Sub Exit_Click()
End
End Sub

87
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kapitulli 16: Krijimi i aplikacionit multimedial­Pjesa­2

Në kapitujt e mëparshëm ne kemi programuar një CD player. Tani, me


disa modifikume, ne do të rtansformojmë ketë CD player në audio file
player (luajtes të skdarëve audio). Ky lexues i këtyre skedarëve duhet të
krijohet në një rrugë të tillë që të kërkojë në driverat tuaj për skedarë
WAVE dhe midi dhe t’i luaj ato.
Në ketë projekt ne duhet të futim një ComboBox, një DriveListBox, një
DirListBox, një TextBox dhe një FileListBox në formën tonë.Unë do të
përpiqem të tregoj funksionin e secilit kontroll të përmendur më sipër.
Pastaj, ju duhet të futni Microsoft Multimedia Control(MMControl) në
formën tuaj, Ju mund ta bëni ketë MMControl të dukshëm ose të
padukshëm në kohen e ekzekutimit të aplikacionit tuaj. Unë do të
preferoja të mos e shfaq dhe të përdor keshtu command butona për ta
kontrolluar player­in.
Kontrollet e formes duhen përkatësisht:
ComboBox­ për të shfaqur dhe për të aktivizuar sesioni e tipeve të
ndryshme të skedarëve.
DriveListBox­ për të mundësuar zgjedhjen e driver­ave të ndryshëm në
kompjuterin tuaj.
DirListBox – për të shfaqur direktoritë
TextBox – për të shfaqur skedarët e selektuar.
FileListBox­ për të shfaqur skedarët e vlefshem për tu ekzekutuar
Duhet të shkruhen kode përkatëse për të koordinuar të gjitha kontrollet
e mësipërme, në mënyrë që aplikimi të punojë saktë. Programi duhet të
rrjedhë në këtë rrugë logjike:
Step 1: Përdoruesi zgjedh tipin e skedarëve që dëshëron të luaj
Step2: Pëdoruesi zgjedh driver­in ku mendon se ndodhe skedarë të cilet
kërkon t’I ekzekutojë.
Step 3:Përdoruesi shikon në direktoritë dhe nën direktoritë e driver­it të
zgjedhur për ndonjë skedarë të tipit të zgjedhur në Hapin 1. skedarët do
të paraqiten në FileListBox.
Step 4: Përdoruesi zgjedh skedarin nga FileListBox dhe klikon butonin
Play
Step 5: Përdoruesi shtyp butonin Stop për të ndaluar ekzekutimin e
skedarit audio dhe butonin Exit për të përfunduar aplikacionin.
Ndërfaqja grafike

88
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kodi

Private Sub Combo1_Change()


' për të përcaktuar tipin e skedarit
If ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf ListIndex = 1 Then
File1.Pattern = ("*.mid")
Else
Fiel1.Pattern = ("*.*")
End If
End Sub

Private Sub Dir1_Change()


'Për të ndërruar direktorit dhe nëndirektoritë (ose folders dhe
subfolders)

File1.Path = Dir1.Path
If Combo1.ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf Combo1.ListIndex = 1 Then

89
MSc. Genci Berati  Principe të Visual Basic 6.0 
File1.Pattern = ("*.mid")
Else
File1.Pattern = ("*.*")
End If
End Sub

Private Sub Drive1_Change()


'Për të ndërruar driver­at
Dir1.Path = Drive1.Drive
End Sub

Private Sub File1_Click()


If Combo1.ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf Combo1.ListIndex = 1 Then
File1.Pattern = ("*.mid")
Else
File1.Pattern = ("*.*")
End If

If Right(File1.Path, 1) <> "\" Then


filenam = File1.Path + "\" + File1.FileName
Else
filenam = File1.Path + File1.FileName
End If
Text1.Text = filenam

End Sub

Private Sub Form_Load()


'Për të pozicionuar në qëndër të faqes start up Audioplayer­in

Left = (Screen.Width ­ Width) \ 2


Top = (Screen.Height ­ Height) \ 2
Combo1.Text = "*.wav"
Combo1.AddItem "*.wav"
Combo1.AddItem "*.mid"
Combo1.AddItem "All files"

90
MSc. Genci Berati  Principe të Visual Basic 6.0 
End Sub

Private Sub AudioPlayer_Click()

End Sub

Private Sub play_Click()


'Për të luajtur skedarët WaveAudio ose Midi
Command2_Click
If Combo1.ListIndex = 0 Then
AudioPlayer.DeviceType = "WaveAudio"
ElseIf Combo1.ListIndex = 1 Then
AudioPlayer.DeviceType = "Sequencer"
End If
AudioPlayer.FileName = Text1.Text
AudioPlayer.Command = "Open"
AudioPlayer.Command = "Play"

End Sub

Private Sub stop_Click()


If AudioPlayer.Mode = 524 Then Exit Sub
If AudioPlayer.Mode <> 525 Then
AudioPlayer.Wait = True
AudioPlayer.Command = "Stop"
End If
AudioPlayer.Wait = True
AudioPlayer.Command = "Close"
End Sub

Private Sub Exit_Click()


End
End Sub

91
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 17: Krijimi i aplikacionit multimedial­Pjesa­3

Në kapitullin 16, ne krijuam një audio player. Tani me disa


transformime do të kthejmë audio player­in në një paraqites
fotografishë. Ky lexues fotografishë do të ndërtohet në një mënyrë të
tillë që të kërkojë për të gjitha tipet e skedarëve grafikë në driver­at e
kompjuterit tuaj.
Njëlloj si në projektin paraardhe në këtë projekt do të na nevoitet një
ComboBox, një DriveListBox, një DirListBox, një TextBox dhe një
FileListBox në formën tuaj. Unë do të mundohem të tregoj shkurtimisht
funksionin e secilit prej kontrollerave të permendur.
ComboBox­ Shërben për të paraqitur dhe aktivizuar sesionin e
skedarëve të tipeve të ndryshme..
DriveListBox­ HSërben për të mundësuar zgjedhjen e driverave të
mundshëm në kompjuterin tuaj (p.sh. driverin c:\ ose d:\)
DirListBox – Për të shfaqur direktoritë.
TextBox – Për të shfaqur skedarët e zgjedhur.
FileListBox­ Për të shfaqur skedarët që janë të munshëm për t’u lujt.
Për të koordinuar kontrollerat e përmendur më sipër dhe në mënyrë që
programi të funskionojë si duhet duhet të shkruhet kodi përkatës.
Programi duhet të ndjeki këtë rrjedhë logjike.
Hapi1: Përdoruesi zgjedh tipin e skadarit që dëshëron të ekzekutojë.
Hapi 2:Përdoruesi zgjedh driverin në të cilin mund të ndodhet skedarik
grafik..
Hapi 3:Përdoruesi kontrollon nëpër direktoritë dhe nëndirektoritë për
skedarë të specifikuar në hapin 1. Skedarët duhet të afishohen në
FileListBox.
Hapi 4: P}rdoruesi zgjedh skedarin nga FileListBox dhe klikon në
butonin Shfaq.
Hapi 5: Përdoruesi klikon në butonin Exit për të dalë nga alikacioni.

Ndërfaqja grafike

92
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kodi
Private Sub Form_Load()
Left = (Screen.Width ­ Width) \ 2
Top = (Screen.Height ­ Height) \ 2

Combo1.Text = "Të gjithë skedarët grafikë"


Combo1.AddItem "All graphic files"
Combo1.AddItem "All files"

End Sub

Private Sub Combo1_Change()


If ListIndex = 0 Then
File1.Pattern = ("*.bmp;*.wmf;*.jpg;*.gif")
Else
Fiel1.Pattern = ("*.*")
End If

End Sub

93
MSc. Genci Berati  Principe të Visual Basic 6.0 

Private Sub Dir1_Change()

File1.Path = Dir1.Path
File1.Pattern = ("*.bmp;*.wmf;*.jpg;*.gif")

End Sub

Private Sub Drive1_Change()


Dir1.Path = Drive1.Drive
End Sub

Private Sub Exit_Click()


End
End Sub

Private Sub File1_Click()


If Combo1.ListIndex = 0 Then
File1.Pattern = ("*.bmp;*.wmf;*.jpg;*.gif")
Else
File1.Pattern = ("*.*")
End If

If Right(File1.Path, 1) <> "\" Then


filenam = File1.Path + "\" + File1.FileName
Else
filenam = File1.Path + File1.FileName
End If
Text1.Text = filenam

End Sub

Private Sub play_Click()


MMPlayer.FileName = Text1.Text

End Sub

94
MSc. Genci Berati  Principe të Visual Basic 6.0 

Private Sub show_Click()


If Right(File1.Path, 1) <> "\" Then

filenam = File1.Path + "\" + File1.FileName


Else
filenam = File1.Path + File1.FileName
End If

picture1.Picture = LoadPicture(filenam)
End Sub

95
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 18: Krijimi i nje aplikacioni multimedial – Pjesa 4

Një Multimedia Player


Në kapitullin 16, ne kemi krijuar nje audi player. Tani, me disa
modifikime, ne do të transformojmë këtë audio player në një
muldtimedia player i cili mund të ekzekutojë të gjitha llojet e skedarëve
video përveç atyre audio.
Në këtë projekt ju duhet te perdorni në formën tuaj një ComboBox, një
DriveListBox, një DirListBox, një TextBox ,një FileListBox dhe një kuti
picture (picture box) për të luajtur skedarin audio­video. Unë do të
përshkruaj funksionin e secilës prej kontrolleve të përmendura më sipër.
Control(MMControl) në formën tuaj, Ju mund ta bëni ketë MMControl
të dukshëm ose të padukshëm në kohen e ekzekutimit të aplikacionit
tuaj. Unë do të preferoja të mos e shfaq dhe të përdor keshtu command
butona për ta kontrolluar player­in.
ComboBox­ Shërben për të paraqitur dhe aktivizuar sesionin e
skedarëve të tipeve të ndryshme..
DriveListBox­ Shërben për të mundësuar zgjedhjen e driverave të
mundshëm në kompjuterin tuaj (p.sh. driverin c:\ ose d:\)
DirListBox – Për të shfaqur direktoritë.
TextBox – Për të shfaqur skedarët e zgjedhur.
FileListBox­ Për të shfaqur skedarët që janë të munshëm për t’u lujt.
Për të koordinuar kontrollerat e përmendur më sipër dhe në mënyrë që
programi të funskionojë si duhet duhet të shkruhet kodi përkatës.
Programi duhet të ndjeki këtë rrjedhë logjike.
Hapi1: Përdoruesi zgjedh tipin e skadarit që dëshëron të ekzekutojë.
Hapi 2:Përdoruesi zgjedh driverin në të cilin mund të ndodhet skedari
audio..
Hapi 3:Përdoruesi kontrollon nëpër direktoritë dhe nëndirektoritë për
skedarë të specifikuar në hapin 1. Skedarët duhet të afishohen në
FileListBox.
Hapi 4: Përdoruesi zgjedh skedarin nga FileListBox dhe klikon në
butonin Luaj.
Hapi 5: Përdoruesi klikon në butonin Stop dhe butonin Exit për të dalë
nga alikacioni.
Nderfaqja grafike

96
MSc. Genci Berati  Principe të Visual Basic 6.0 

Kodi I programit

Private Sub Form_Load()


Left = (Screen.Width ­ Width) \ 2
Top = (Screen.Height ­ Height) \ 2
Combo1.Text = "*.wav"
Combo1.AddItem "*.wav"
Combo1.AddItem "*.mid"
Combo1.AddItem "*.avi;*.mpg"
Combo1.AddItem "All files"

End Sub

Private Sub Combo1_Change()


If ListIndex = 0 Then
File1.Pattern = ("*.wav")

97
MSc. Genci Berati  Principe të Visual Basic 6.0 
ElseIf ListIndex = 1 Then
File1.Pattern = ("*.mid")
ElseIf ListIndex = 2 Then
File1.Pattern = ("*.avi;*.mpg")
Else
Fiel1.Pattern = ("*.*")
End If

End Sub

Private Sub Dir1_Change()


File1.Path = Dir1.Path
If Combo1.ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf Combo1.ListIndex = 1 Then
File1.Pattern = ("*.mid")
ElseIf Combo1.ListIndex = 2 Then
File1.Pattern = ("*.avi;*.mpg")
Else
File1.Pattern = ("*.*")
End If
End Sub

Private Sub Drive1_Change()


Dir1.Path = Drive1.Drive
End Sub

Private Sub Exit_Click()


End
End Sub

Private Sub File1_Click()


If Combo1.ListIndex = 0 Then
File1.Pattern = ("*.wav")
ElseIf Combo1.ListIndex = 1 Then
File1.Pattern = ("*.mid")
ElseIf Combo1.ListIndex = 2 Then
File1.Pattern = ("*.avi;*.mpg")
Else

98
MSc. Genci Berati  Principe të Visual Basic 6.0 
File1.Pattern = ("*.*")
End If

If Right(File1.Path, 1) <> "\" Then


filenam = File1.Path + "\" + File1.FileName
Else
filenam = File1.Path + File1.FileName
End If
Text1.Text = filenam

End Sub

Private Sub MMPlayer_Click()

End Sub

Private Sub Picture1_Click()

End Sub

Private Sub play_Click()


MMPlayer.FileName = Text1.Text
MMPlayer.Command = "Open"
MMPlayer.Command = "Play"
MMPlayer.hWndDisplay = videoscreen.hWnd
End Sub

Private Sub stop_Click()


If MMPlayer.Mode = 524 Then Exit Sub
If MMPlayer.Mode <> 525 Then
MMPlayer.Wait = True
MMPlayer.Command = "Stop"
End If
MMPlayer.Wait = True
MMPlayer.Command = "Close"
End Sub

99
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 19: Krijimi I një aplikacioni me bazë të dhënash në VB­
Pjesa e parë

Visual Basic na lejon ne të manaxhojmë database te krijuar nga një


program tjetër për database siç janë p.sh. MS Access, Dbase, Paradox etj.
Në këtë kapitull nuk do të merremi me mënyrë ne si krijohen skedarë
database, por do të shohim se si do të mund të lidhim skedarët database
me mjedisin e VB.
Në shëmbullin më poshtë ne do të krijojmë një aplikim database të
thjeshtë i cili do të na lejojë ne të shohim ne rradhe emrat e klientëve.
Pèr të krijuar këtë aplikacion duhet të fusim kontrollin e të dhënave
(data control) në formë ne re të projektit tonë. Vendoseni këtë data
control diku poshtë në formë. Emërto këtë data control me emrin
data_navigator. Për të qënë të aftë të përdorim data controller­in duhet
ta lidhim atë me ndonjë database. Ne mund të krijojmë nje database
duke përdorur ndonjë DBMS (database management systems), por unë
sugjeroj që të përdorim ndonjë skedarë database që instalohet bashke
me programin Visual Basic. Le të zgjedhim NWIND.MDB si skedarë
database. Për të lidhur data controler­in tonë me këtë databese, bëni
dopio klik në DatabaseName tek dritarja e propertive dhe zgjidh
skedarin e sipërpërmendur NWIND:MDB. Më tej bëj dopio klik në
RecordSource dhe zgjidh aty tabelën e klientave (customers) nga
database.
Ju mund të zgjidhni gjithashtu një tjetër caption për data controler­in,
unë kam zgjedhur “Kliko për të kontrolluar klientat”. Pastaj ju mundtë
futni një etiketë (label) dhe të ndrroni caption për ketë label në Emri i
klientit. Gjithashtu duhet të vendosni në forma edhe një text box me
emrin emr_klient, në menyrë që kur të shëtisim në rekordet e databas­it
tonë aty të shfaqen emrat përkatës të klientëve. Ne duhet të lidhim këtë
txt box me data control­in tonë. Për këtë duhet të hapim propërtinë
DataSource të txt box­it të formës tonë. Menjëherë do të na shfaqet emri
i data kontrollerit tonë, të cilin ne duhet ta zgjedhim. Nuk mjafton
vetëm kaq për të lidhur text box­in me klientat, ne duhet të lidhim edhe
fushen në të cilën ndodhen klientat ne database me text box. Pèr të
realizuar këtë hapin propertinë DataField të text box­it to formës tonë
dhe zgjedhim fushën ContactName. Mbasi kemi realizuar veprimet si
mësipër shtypim butonin fF5 ose butonin Run. Ju do të mund të shëtisni
në të gjithë emrat e klientave duke klikuar në shigjetën e data
kontroller­it të formës.

100
MSc. Genci Berati  Principe të Visual Basic 6.0 
Ndërfaqja grafike

Ndërfaqja grafike (pas ekzekutimit


tprogramit)

101
MSc. Genci Berati  Principe të Visual Basic 6.0 
Ju mund të shtoni edhe fusha të tjera nga database­i i zgjedhur po me të
njëjtë metode në formën më sipër. P.sh. ju mund të shtoni aty adresën,
qytetin, apo numrin e telefonit për t’i kontrolluar nga data kontrolleri
ynë.
Pasi të keni shtuar text boxet që p¨rmendëm më sipër, forma jonë pas
ekzekutimit të programit do të ishte si më poshtë.

102
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 20: Krijimi I një aplikacioni me bazë të dhënash në VB­ Pjesa e
dytë
Në kapitullin 19, ne mësuam si të krijojmë një aplikacion database të
thjeshtë duke përdorur data controller (data control). Në këtë kapitull
do të përdorim të njëjtin aplikacion, por do të përdorim disa komanda
të tjera shtesë. Data kontrolleri përmban disa metoda të cilat mund të
përdoren për të manipuluar database­in, p.sh. për të levizut puntatorin
në një lokalizim të caktuar. Më poshtë janë disa komanda të cilat ju
mund t’i përdorni për të lëvizur puntatorin.
data_navigator.RecordSet.MoveFirst ' Lëviz në rekordin e parë
data_navigator.RecordSet.MoveLast ' Lëviz në rekordin e fundit
data_navigator.RecordSet.MoveNext ' Lëviz në rekordin tjetër
data_navigator.RecordSet.Previous ' Lëviz në rekordin
paraardhës
*shënim: data_navigator është emir i data kontrollerit.
Në shembullin më poshtë ne dot ë përdorim katër komanda dhe do t’i
etiketojmë si Rekodi i parë, Rekodri tjetër, Rekordi paraardhës, Rekordi
i fundit. Këta komandë butona do të përdoren për të naviguar në
databas­in tonë pa përdorur butonat e data kontrollerit

Private Sub Command2_Click()


dtaBooks.Recordset.MoveFirst
End Sub

Private Sub Command1_Click()


dtaBooks.Recordset.MoveNext
End Sub

Private Sub Command3_Click()


dtaBooks.Recordset.MovePrevious
End Sub

Private Sub Command4_Click()


dtaBooks.Recordset.MoveLast
End Sub

Pasi të ekzekutoni programin ju do të shikoni ndërfaqjen si më poshtë.


Në të ju do të mund të navigoni databasin përkatë duke përdorur
butonat e kontrollit.

103
MSc. Genci Berati  Principe të Visual Basic 6.0 

104
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 21: Krijimi i një aplikacioni database në VB duke përdorur
ADO kontroll­in.
Në kapitujt 19 dh 20 ne kemi mësuar sit ë krijojmë aplikime me database
në Visual Basic duke përdorur data kontrollerin. Megjithatë data
kontrolleri (Data control) nuk është në të vërtetë një mjet shumë
fleksibël. Ai mund të punojë vetëm me disa lloje të dhënash dhe duhet
të punojë në mjedis strict Visual Basic­u. Për të eleminuar këtë limit ju
mund të përdorni një data kontrolle më të fuqishëm që është ADO
kontrolli. ADO është shurtimi i ActiveX data objects. Meqë ADO është i
bazuar në ActiveX , ai mund të funksionojë në platforma të ndryshme
(në sisteme operimi të ndryshëm) dhe gjuhë të ndryshme programimi.
Për më tepër ADO kontrolleri mund të pranojë lloje të ndryshme të
dhënsh si p.sh. të dhënat e paraqitura në browserat e internetit, tekst
nga e­mail­et, biles edhe imazhe grafikë, përveç informacineve
relacionale dhe jo relacionale të database­eve.
Për të përdorur ADO data kontroller­in ju duhet ta paraqitni atë më
parë në toolbox (kutine e instrumenteve). Për të bërë këtë, thjeshtë
shtypni Ctrl+T për të hapur kutinë e komponenteve dhe zgjidhni
Microsoft ActiveX Data Control 6. Pas kësaj ju mund të proçedoni
ndërtimin e aplikimit të bazuar në ADO kontroller për database.
Shëmbulli i mëposhtëm ilustron më së miri se si mund të ndërtoni një
aplikacion relativisht të fuqishëm duke përdorur ADO data kontroller.
Para së gjithash emërtoni formën tuaj frmTitullLibri dhe ndryshoni
caption për këtë formë në Titulli i Librit – aplikim ADO. Së dyti fut në
formë ADO data kontrollerin dhe emërtojeni atë si adoLibra dhe
ndrysho caption për ketë ADO kontroller në libër. Pastaj fut në formë
etiketat e duhura (labels), kutitë e teksteve (text box) dhe butonat e
komandave (commands buttons). Ndërfaqja mbas ekzekutimit (run
time interface) për këtë aplikacion do të jetë si më poshtë. Aty mund të
realizoni futjen e rekordeve, fshirjen e tyre, ndryshimin e vlerave
(update) si dhe mund të levizni nëpër rekordet e databasi­it.

105
MSc. Genci Berati  Principe të Visual Basic 6.0 

Zgjedhjet (properties) për të gjitha kontrollerat e përdorura në


aplikacionin më sipër janë si më poshtë:

Form Name frmTitullLibri


Form Caption Tutujt e Librave –ADOApplication
ADO Name adoLibrat
Label1 Name lblApp
Label1 Caption Book Titles
Label 2 Name lblTitle
Label2 Caption Title :
Label3 Name lblYear
Label3 Caption Year Published:
Label4 Name lblISBN
Label4 Caption ISBN:
Labe5 Name lblPubID
Label5 Caption Publisher's ID:
Label6 Name lblSubject
Label6 Caption Subject :
TextBox1 Name Txtitle
TextBox1 DataField Title

106
MSc. Genci Berati  Principe të Visual Basic 6.0 
TextBox1
adoBooks
DataSource
TextBox2 Name txtPub
TextBox2 DataField Year Published
TextBox2
adoBooks
DataSource
TextBox3 Name txtISBN
TextBox3 DataField ISBN
TextBox3
adoBooks
DataSource
TextBox4 Name txtPubID
TextBox4 DataField PubID
TextBox4
adoBooks
DataSource
TextBox5 Name txtSubject
TextBox5 DataField Subject
TextBox5
adoBooks
DataSource
Command Button1
cmdSave
Name
Command Button1
&Save
Caption
Command Button2
cmdAdd
Name
Command Button2
&Add
Caption
Command Button3
cmdDelete
Name
Command Button3
&Delete
Caption
Command Button4
cmdCancel
Name
Command Button4
&Cancel
Caption
Command Button5
cmdPrev
Name
Command Button5 &<

107
MSc. Genci Berati  Principe të Visual Basic 6.0 
Caption
Command Button6
cmdNext
Name
Command Button6
&>
Caption
Command Button7
cmdExit
Name
Command Button7
E&xit
Caption

Në mënyrë që të mund të futemi dhe të manaxhojmë në data base, ju


duhet të lidhni ADO kontrollerin me një skedarë database. Siç kemi
thënë edhe më parë ne do të prdorim skedarin BIBLIO.MDB i cili
instalohet bashkë me programin Visual Basic. Për të realizuar lidhjen
duhet të ndiqen këro hapa:
a) Kliko mbi ADO kontroll në form dhe hapni dritaren e zgjedhjeve
(properties window)
b) Klikoni në propertinë ConnectionString, do t’ju shfaqet kutia e
dialogut si më poshtë.

108
MSc. Genci Berati  Principe të Visual Basic 6.0 
pasi kutia e dialogut të shfaqet ju do të përdorni opsionet e Connection
String. Më pas kliko Build dhe në kutinë e dialogut Data Link, bëni
dopioklik opsionin e emërtuar Microsoft Jet 3.51 OLE DB Provider.

Më pas kliko në butonin Next për të zgjedhur skedarin BIBLO.MDB. Ju


mund të klikoni ne Text Conection për tu siguruar për lidhjen e skedarit
database BIBLIO.MDB. Kliko OK për të përfunduar lidhjen .
Më pas klikoni në propertinë RecordSource dhe zgjidhni propertinë
Command Type adCmdTable dhe emrin e tabelës (table name) Titles.
Tani besoj se mund të prdorni skedarin e database­it ne aplikacionin
tuaj.

109
MSc. Genci Berati  Principe të Visual Basic 6.0 

Tani ju duhet të shkruani kod për të gjitha butonat e komandave. Mbasi


të keni realizuar gjithë veprimet më sipër ju mund ta bëni ADO
kontrollerin të padukshëm në kohen e ekzekutimit (në run time).

Për butonin Ruaj Kodet e programit janë i më poshtë:


Private Sub cmdRuaj_Click()
adoBooks.Recordset.Fields("Title") = txtTitle.Text
adoBooks.Recordset.Fields("Year Published") = txtPub.Text
adoBooks.Recordset.Fields("ISBN") = txtISBN.Text
adoBooks.Recordset.Fields("PubID") = txtPubID.Text
adoBooks.Recordset.Fields("Subject") = txtSubject.Text
adoBooks.Recordset.Update

End Sub
Për butonin Shto Kodet e programit janë i më poshtë:
Private Sub cmdShto_Click()
adoBooks.Recordset.AddNew
End Sub
Për butonin Fshij Kodet e programit janë i më poshtë:
Private Sub cmdFshij_Click()
Confirm = MsgBox("Are you sure you want to delete this record?",

110
MSc. Genci Berati  Principe të Visual Basic 6.0 
vbYesNo, "Deletion Confirmation")
If Confirm = vbYes Then
adoBooks.Recordset.Delete
MsgBox "Record Deleted!", , "Message"
Else
MsgBox "Record Not Deleted!", , "Message"
End If

End Sub
¡¡
Për butonin Anullo Kodet e programit janë i më poshtë:
Private Sub cmdCancel_Click()
txtTitle.Text = ""
txtPub.Text = ""
txtPubID.Text = ""
txtISBN.Text = ""
txtSubject.Text = ""
End Sub
Për butonin Paraardhe (<) Kodet e programit janë
Private Sub cmdPara_Click()
If Not adoBooks.Recordset.BOF Then
adoBooks.Recordset.MovePrevious
If adoBooks.Recordset.BOF Then
adoBooks.Recordset.MoveNext
End If
End If

End Sub

Për butonin Tjetri(>) Kodet e programit janë i më poshtë


Private Sub cmdTjetri_Click()
If Not adoBooks.Recordset.EOF Then
adoBooks.Recordset.MoveNext
If adoBooks.Recordset.EOF Then
adoBooks.Recordset.MovePrevious
End If
End If

End Sub

111
MSc. Genci Berati  Principe të Visual Basic 6.0 
Kapitulli 22: Krijimi i një aplikacioni më të avancuar database në VB
duke përdorur ADO kontroll­in.

Në kapitujt më parë ju mësuat se si të krijoni një aplikacion duke


përdorur data kontrollin e thjeshtë (data control) dhe kontrolerin ADO.
Megjithatë ato ishin aplikacione shume të thjeshtë dhe principalë. Në
këtë kapitull do të mësojmë se si të krijojmë një aplikacion pak më
kompleks, gjithnjë duke përdorur kontrollerin ADO. Apliacioni që do të
krijojmë do ta quajmë Librari Elektronike. Kjo librari elektronike do të
ketë opsionin e regjistrimit të përdoruesve të aplikacionit dhe do të
lejojë perdorimin e aplikacionit vetëm përdoruesit e rregjistruar.
Përdoruesit e rregjistruar do të zbatijnë procedurën e logimit që do të
kërkojë emrin e përdoruesit dhe një password, kështu që ky apliacion
do të kënaq kushtet e aspektit të sigurisë të database­it. Aplikacioni që
po ndërtojmë konsiston në një menu mirëseardhje, një menu
rregjistrimi, një menu hyrjeje (logimi) dhe menunë kryesore të
administrimit të databasit. Rradha e këtyre menuve paraqitet me skemë
si më poshtë. 

Miredita 

Perdoruesit e 
regjistrohu 
rregjistruar 

Hyr (Logo) 

Database

112
MSc. Genci Berati  Principe të Visual Basic 6.0 
Para së gjithash ju duhet të ndërtoni menunë e mirëseardhjes. Ju mund
të ndiqni shembullin si më poshtë

Në këtë form ju duhet të fusni tre butona komadne dhe të zgjidhni


propertitë e tyre si më poshtë:

Form name main_menu


command button 1 Name cmdRegister
command button 1 Caption Register
command button 2 Name cmdLogin
command button 2 Caption Login
command button 3 Name cmdCancel
command button 3 Caption Cancel

Kodi i programit eshte si me poshte:

Private Sub cmdCancel_Click()


End
End Sub

Private Sub cmdLogin_Click()


main_menu.Hide
Login_form.Show
End Sub

113
MSc. Genci Berati  Principe të Visual Basic 6.0 

Private Sub cmdRegister_Click()


main_menu.Hide
Register.Show
End Sub

Në qoftë se përdoruesi shtyp butonin Rregjistrohu, do të shfaqet forma


e regjistrimit, shëmbulli paraqitet me poshtë

Forma e rregjistrimit konsiston në dy kuti tekst (text box), tre butona


komandash (command buttons) dhe një kontroller ADO. Propertitë e
tyre janë si më poshtë.

Form name Register


textbox 1 name txtName
textbox 2 name txtpassword
textbox 2 PasswordChar *
command button 1 name cmdConfirm
command button 1 Caption Confirm
command button 2 name cmdClear
command button 2 Caption Clear

114
MSc. Genci Berati  Principe të Visual Basic 6.0 
command button 3 name cmdCancel
command button 3 Caption Cancel
ADO control name UserInfo

Shënim: Në kutinë e tekstit të passwordit do të shfaqet vetëm shenja *


për secilin karakter të passwordit në mënyrë që passwordi të jetë sa më i
sigurtë.
Kodet janë si më poshtë:

Private Sub cancel_Click( )


End
End Sub

Private Sub cmdClear_Click( )


txtName.Text = ""
txtpassword.Text = ""

End Sub

Private Sub cmdConfirm_Click()

UserInfo.Recordset.Fields("username") = txtName.Text
UserInfo.Recordset.Fields("password") = txtpassword.Text
UserInfo.Recordset.Update

Register.Hide

Login_form.Show

End Sub

Private Sub Form_Load()


UserInfo.Recordset.AddNew
End Sub

Menuja e logimit do të jetë si më poshtë :

115
MSc. Genci Berati  Principe të Visual Basic 6.0 

Në këtë formë janë dy text box dhe një command button. Propertitë e
tyre janë si më poshtë :

Textbox 1 name txtName


Textbox 2 name txtpassword
Command button 1 name cmdLogin
Command button 1 Login
Caption
Form name Login_form

Kodet janë si më poshtë


Private Sub cmdLogin_Click()

Dim usrname As String


Dim psword As String
Dim usernam As String
Dim pssword As String
Dim Msg As String

Register.UserInfo.Refresh
usrname = txtName.Text
psword = txtpassword.Text

116
MSc. Genci Berati  Principe të Visual Basic 6.0 
Do Until Register.UserInfo.Recordset.EOF
If Register.UserInfo.Recordset.Fields("username").Value = usrname And
Register.UserInfo.Recordset.Fields("password").Value = psword Then
Login_form.Hide
frmLibrary.Show
Exit Sub

Else
Register.UserInfo.Recordset.MoveNext
End If

Loop

Msg = MsgBox("Invalid password, try again!", vbOKCancel)


If (Msg = 1) Then
Login_form.Show
txtName.Text = ""
txtpassword = ""

Else
End
End If

End Sub

Menuja kryesore e database­it do të dizenjohet si më poshtë:

117
MSc. Genci Berati  Principe të Visual Basic 6.0 

Properti­te për të gjitha kontrollet e përdorur në ketë formë janë


paraqitur në tablën më poshtë:

Form name frmLibrary


ADO control name adoLibrary
ADO visible False
TextBox 1 name txtTitleA
TextBox 2 name txtAuthor
TextBox 3name txtPublisher
TextBox 4 name txtYear
TextBox 5 name txtCategory
Command button 1 name cmdSave
Command button 1 caption &Save
Command button 2 name cmdNew
Command button 2 caption &New

118
MSc. Genci Berati  Principe të Visual Basic 6.0 
Command button 3 name cmdDelete
Command button 3 caption &Delete
Command button 4 name cmdCancel
Command button 4 caption &Cancel
Command button 5 name cmdNext
Command button 5 caption N&ext
Command button 6 name cmdPrevious
Command button 6 caption &Previous
Command button 7 name cmdExit
Command button 7 caption E&xit

Kodet janë si më poshtë:


Private Sub cmdCancel_Click()
txtTitle.Text = ""
txtAuthor.Text = ""
txtPublisher.Text = ""
txtYear.Text = ""
txtCategory.Text = ""
End Sub

Private Sub cmdDelete_Click()


Confirm = MsgBox("Are you sure you want to delete this record?",
vbYesNo, "Deletion Confirmation")
If Confirm = vbYes Then
adoLibrary.Recordset.Delete
MsgBox "Record Deleted!", , "Message"
Else
MsgBox "Record Not Deleted!", , "Message"
End If

End Sub

Private Sub cmdExit_Click()


End
End Sub

Private Sub cmdNew_Click()

119
MSc. Genci Berati  Principe të Visual Basic 6.0 
adoLibrary.Recordset.AddNew

End Sub

Private Sub cmdNext_Click()


If Not adoLibrary.Recordset.EOF Then
adoLibrary.Recordset.MoveNext
If adoLibrary.Recordset.EOF Then
adoLibrary.Recordset.MovePrevious
End If
End If
End Sub

Private Sub cmdPrevious_Click()


If Not adoLibrary.Recordset.BOF Then
adoLibrary.Recordset.MovePrevious
If adoLibrary.Recordset.BOF Then
adoLibrary.Recordset.MoveNext
End If
End If
End Sub

Private Sub cmdSave_Click()


adoLibrary.Recordset.Fields("Title").Value = txtTitle.Text
adoLibrary.Recordset.Fields("Author").Value = txtAuthor.Text
adoLibrary.Recordset.Update
End Sub

120

You might also like