Issuu on Google+

Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  ·

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

­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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

­Command Button Control: Përdoret për të filluar, ndërprerë apo përfunduar një procedure gjatë ekzekutimit të një programi.

Fig. 1.3 Kutia e instrumenteve (toolbox)

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 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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  .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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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. ­ Make Project Group (Krijo grup Fig. 1.4 Menuja File 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 


Principe të Visual Basic 6.0 

MSc. Genci Berati 

­ 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 


Principe të Visual Basic 6.0 

MSc. Genci Berati 

(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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

programi për krijimin e dritareve të cilat komunikojnë me bazat e të dhënave. Menya Window

Fig. 1.12 Menuja  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 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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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 

zhben 

Riben 

Nderpret 

Ekzekuto 

Ndalon 

Projekt Explorer 

Paraqitja e formes  DataView 

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 


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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 


Principe të Visual Basic 6.0 

MSc. Genci Berati 

Dritarja e editimit të kodit të programit (Code Editor Window): është ambjenti në të cilin shkruhet kodi i programit.

27


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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 Tipi

Sasia ne memorje

Rrangu i vlerave

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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ë memorje

Rrangu

String(gjatësi fikse)

Gjatësia e string

1 deri 65,400 karaktere

String(gjatësi variable)

Gjatësia + 10 bytes

0 deri 2 miliard karaktere

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 bytes

E njëjtë me Variablin length string

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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 Matematik

Shembull

^

Fuqi

2^4=16

*

Shumzim

4*3=12

/

Pjestim

12/4=3

Mod

Modulus (jep mbetjen nga një pjestim i plotë)

15 Mod 4=3

\

Pjestim i Plote (heq numrat mas presjes)

19\4=4

+ 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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

*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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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

(b)

(c)

Next For numrator =1 to 1000 step 10 numrator = numrator +1 Next For numrator =1000 to 5 step ­5 numrator = numrator ­10 Next

65


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

Tabla 10.1: Vlerat e stileve Vlera e stilit

Emri konstant

Butoni i shfaqur

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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

16

vbCritical

32

vbQuestion

48

vbExclamation

64

vbInformation

Ikona

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

69


Principe të Visual Basic 6.0 

MSc. Genci Berati  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 Titulli

­ Mesazhi i paraqitur normalisht sin jë pyetje. ­ Titulli i Input Box.

70


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

72


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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

e 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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  Ndërfaqja grafike

Ndërfaqja grafike (pas ekzekutimit tprogramit)

101


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

104


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  TextBox1 DataSource

adoBooks

TextBox2 Name

txtPub

TextBox2 DataField

Year Published

TextBox2 DataSource

adoBooks

TextBox3 Name

txtISBN

TextBox3 DataField

ISBN

TextBox3 DataSource

adoBooks

TextBox4 Name

txtPubID

TextBox4 DataField

PubID

TextBox4 DataSource

adoBooks

TextBox5 Name

txtSubject

TextBox5 DataField

Subject

TextBox5 DataSource

adoBooks

Command Button1 Name

cmdSave

Command Button1 Caption

&Save

Command Button2 Name

cmdAdd

Command Button2 Caption

&Add

Command Button3 Name

cmdDelete

Command Button3 Caption

&Delete

Command Button4 Name

cmdCancel

Command Button4 Caption

&Cancel

Command Button5 Name

cmdPrev

Command Button5

&<

107


Principe të Visual Basic 6.0 

MSc. Genci Berati  Caption Command Button6 Name

cmdNext

Command Button6 Caption

&>

Command Button7 Name

cmdExit

Command Button7 Caption

E&xit

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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  rregjistruar 

regjistrohu 

Hyr (Logo) 

Database

112


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

Në këtë formë janë dy text box dhe një command button. Propertitë e tyre janë si më poshtë : Textbox 1 name Textbox 2 name Command button 1 name Command button 1 Caption Form name

txtName txtpassword cmdLogin Login 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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati 

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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Principe të Visual Basic 6.0 

MSc. Genci Berati  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


Visual Basic 6.0 - Liber Shqip