Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Windows Phone
  • Çfarë do të thotë DIM në Visual Basic dhe BASIC? Rutina bazë gjuhësore. Kërkimi i deklarimit të qartë të variablave

Çfarë do të thotë DIM në Visual Basic dhe BASIC? Rutina bazë gjuhësore. Kërkimi i deklarimit të qartë të variablave

Dim kishte kuptime të ndryshme i atribuohet atij.

Kam gjetur lidhje me kuptimin Dim "Deklaroni në kujtim", një lidhje më e rëndësishme është dokumenti Dim Statement i publikuar nga Oracle si pjesë e referencës gjuhësore Siebel VB. Me siguri mund të argumentoni se nëse nuk deklaroni variabla në memorie, ku e bëni atë? Ndoshta "Deklaroni në modul" - alternativë e mirë duke pasur parasysh se si përdoret Dim.

Sipas mendimit tim, "Declare in Memory" është në fakt një kujtim i krijuar për ta bërë më të lehtë të mësosh se si të përdorësh Dim. Unë e shoh "Declare In Memory" si kuptimin më të mirë pasi përshkruan atë që bën versionet aktuale gjuhë, por ky nuk është kuptimi i duhur.

Në fakt, në origjinë Dim bazë u përdor vetëm për të deklaruar vargje. Asnjë fjalë kyçe nuk është përdorur për variablat e rregullt; në vend të kësaj, lloji i tyre është nxjerrë nga emri i tyre. Për shembull, nëse një emër variabli përfundon me $, atëherë ai është një varg (kjo është ajo që mund të keni parë edhe në emrat e metodave para VB6, si Mid $). Pra, ju keni përdorur vetëm Dim për të matur madhësitë e vargjeve (vini re se ReDim ndryshon madhësinë e vargjeve).

A ka vërtet rëndësi? Dua të them se kjo fjalë kyçe ka kuptim në gjuhë artificiale... Nuk duhet të jetë një fjalë në anglisht ose në ndonjë gjuhë tjetër natyrore. Pra, mund të nënkuptojë vetëm atë që ju dëshironi, e vetmja gjë që ka rëndësi është se funksionon.

Në çdo rast, kjo nuk është plotësisht e vërtetë. Sepse BASIC është pjesë e kulturës sonë dhe e kupton pse kjo është mënyra që shpresoj se do të ndihmojë në përmirësimin e vizionit tonë për botën.

Unë ulem në kompjuterin tim me dëshirë për të ndihmuar në ruajtjen e kësaj pjese të vogël të kulturës sonë që duket e humbur, e zëvendësuar nga hamendja jonë se çfarë ishte. Kështu që unë nxora MSDN CD-të aktuale dhe të vjetra nga versioni 1998. Kërkova gjithashtu dokumentacionin për QBasic-in e vjetër [duhej të përdorte DOSBox] dhe arrita të marr manualin e Dartmouth për të parë se si flasin për Dim. Për zhgënjimin tim, ata nuk thonë se çfarë përfaqëson Dim, ata thonë vetëm se si përdoret.

Por përpara se shpresa ime të ishte e zbehtë, unë munda të gjeja këtë Udhëzues Mikrokompjuteri të BBC-së (i cili supozohet se daton në 1984 dhe nuk kam asnjë dyshim për këtë). Mikrokompjuteri BBC përdori një variant të BASIC të quajtur BBC BASIC dhe përshkruhet në dokument. Edhe pse nuk thotë se çfarë do të thotë Dim, ai thotë (në faqen 104):

Ju mund të matni N $ për të pasur sa më shumë regjistrime që dëshironi. Për shembull, DIM N $ (1000) do të krijojë një grup vargjesh me hapësirë ​​për 1000 emra të ndryshëm.

Siç thashë, nuk thotë se Dim qëndron për dimensionin, por shërben si provë se lidhja e Dim me Dimensionin ishte e zakonshme në kohën e këtij shkrimi.

Tani mora një surprizë shtesë më vonë (në faqen 208), titulli i seksionit që përshkruan fjalën kyçe DIM (shënim: kjo nuk thuhet në përmbajtje) thotë:

Madhësia e grupit DIM

Pra, nuk e kuptova thënien "Dim vlen ...", por mendoj se është e qartë se çdo person i denjë që mund ta lexojë këtë dokument do të supozojë se Dim do të thotë dimension.

Me shpresë të përtërirë, vendosa të gjeja një mënyrë për të zgjedhur Dim. Përsëri, nuk kam gjetur llogari në këtë temë, por unë munda të gjeja një citat përfundimtar:

Përpara se të përdorni një grup, duhet ta përcaktoni atë në një deklaratë DIM (dimension).

Ju mund ta gjeni këtë si pjesë e Udhëzuesve të Përdoruesit në linjë True BASIC në faqen e internetit të True BASIC inc, një kompani e themeluar nga Thomas Eugene Kurtz, bashkëautor i BASIC.

Pra, gjatë ripërdorim Dim është stenografi për Dimensioni dhe po. Kjo ka ekzistuar në FORTRAN më parë, kështu që ka të ngjarë që ai të jetë zgjedhur nga ndikimi i FORTRAN-it siç tha Patrick MacDonald në përgjigjen e tij.

Dim sum as string = "ky nuk është një vakt kinez" shembull përdorimi i REM në VB.NET;)

Deklaron një variabël ose grup.

Nëse variablat janë të ndara me presje (për shembull, DIM sPar1, sPar2, sPar3 AS STRING), mund të përcaktohet vetëm ndryshorja Variant. V rast i përgjithshëm, çdo variabël duhet të përcaktohet në një rresht të veçantë.

DIM sPar1 SI STRING

DIM sPar2 SI STRING

DIM sPar3 SI STRING

Dim deklaron variabla lokale në procedura. Deklaratat PUBLIC dhe PRIVATE përdoren për të deklaruar variablat globale.

Sintaksë:

Dim Variable [(Fillimi në fund)] [, Variable2 [(Fillimi në Fund)] [, ...]]

Parametrat:

Variabla: një emër arbitrar i një ndryshoreje ose grupi.

Fillimi, Fundi: vlera numerike ose konstante që përcaktojnë numrin e elementeve (Numri_e_elementeve = (Fillimi-Fundi) +1) dhe gamën e indekseve.

Fillimi dhe Fundi mund të jenë gjithashtu numerikë nëse ReDim zbatohet në nivelin e procedurës.

Lloji: Një fjalë kyçe që deklaron llojin e ndryshores.

Fjalë kyçe: lloj variabli

Bool: ndryshore e tipit Boolean (E vërtetë, e gabuar)

Monedha: një variabël i llojit të monedhës (vlera monetare me gjatësinë e pjesës fraksionale në 4 pozicione)

Data: variabël e tipit Date

Dyfishtë: një variabël me pikë lundruese me saktësi të dyfishtë (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: ndryshore e tipit Integer (-32768 - 32767)

E gjatë: e ndryshueshme Lloji i gjatë Numër i plotë (-2 147 483 648 - 2 147 483 647)

Object: një ndryshore e tipit Object (Shënim: kjo variabël mund të përcaktohet vetëm më vonë duke përdorur deklaratën Set!)

Single: variabël i tipit Single (3,402823 x 10E38 - 1,401298 x 10E-45)

String: një ndryshore e tipit String with gjatësia maksimale 64,000 karaktere ASCII.

: variabli i tipit Variant (mbulon të gjitha llojet siç janë përcaktuar). Nëse fjala kyçe nuk është e specifikuar, atëherë variablat përcaktohen automatikisht si variabla të llojit Variant, përveç nëse përdoret një operator nga diapazoni DefBool - DefVar.

Në Lotus® Symphony™ Basic, nuk keni nevojë të deklaroni në mënyrë eksplicite variablat. Përjashtimet e vetme janë vargjet. Një variabël mund të deklarohet duke përdorur deklaratën Dim; nëse ka disa deklarata deklaratash, ato ndahen me presje. Për të deklaruar llojin e një ndryshoreje, përfshini një karakter të deklarimit të tipit pas emrit të tij ose vendosni një fjalë kyçe të përshtatshme.

Në Lotus Symphony Basic, ju mund të përcaktoni njëdimensionale ose vargjeve shumëdimensionale duke vendosur variablin tipin e duhur. Vargjet janë të dobishme për të punuar me lista dhe tabela. Elementet e një grupi mund të referohen nga një indeks, i cili mund të specifikohet duke përdorur një shprehje numerike ose një ndryshore.

Vargjet deklarohen me deklaratën Dim. Gama e indekseve mund të përcaktohet në dy mënyra:

Teksti DIM (20) si elemente të vargut REM 21 të numëruar nga 0 në 20

Teksti DIM (5 deri në 25) si elementë të vargut REM 21 të numëruar nga 5 në 25

Teksti DIM (-15 deri në 5) si elemente të vargut REM 21 (përfshirë 0)

REM me numra nga -15 në 5

Fusha e të dhënave 2D

Teksti DIM (20,2) si artikuj String REM 63 të numëruar nga 0 deri në 20 niveli 1, 0 deri në 20 niveli 2 dhe 0 deri në 20 niveli 3

Llojet e vargjeve mund të deklarohen dinamike nëse deklarata ReDim specifikon numrin e dimensioneve në procedurën ose funksionin që përmban grupin. Në përgjithësi, një grup dimensionohet vetëm një herë dhe nuk mund të ndryshohet. Në një procedurë, një grup mund të deklarohet duke përdorur deklaratën ReDim. Dimensionet mund të përcaktohen vetëm duke përdorur shprehjet numerike... Kjo siguron që kufizimet në gjatësinë e fushave janë përmbushur.

Shembull:

Dim sVar As String

Dim iVar si numër i plotë

sVar = "Simfonia e Lotusit"

Fusha e të dhënave REM 2D

Teksti i zbehtë (20,2) si varg

Const sDim as String = "Dimensioni:"

teksti (i, ii) = str (i) & sDim & str (ii)

Shumica e njerëzve preferojnë të mos përdorin identifikues për t'iu referuar variablave. Në vend të kësaj, ata përdorin operatorin Dim, një operacion i tillë quhet - reklama... Për shembull:

Dim A si numër i plotë

Dim B As varg

Deklaratat e ndryshueshme mund të kombinohen në një rresht të vetëm.

Dim A si numër i plotë, Emri si numër i plotë

Një gabim i zakonshëm është përdorimi i shprehjes së mëposhtme:

Dim X, Y, Z si numër i plotë

Me supozimin se të gjitha variablat do të jenë numër i plotë. Në fakt, X dhe Y do të deklarohen si Variant dhe vetëm Z si numër i plotë. Për të shmangur këtë, duhet të përdorni identifikuesin e tipit çdo herë. Nëse një variabël deklarohet duke përdorur deklaratën Dim, në rastin e përdorimit të një ndryshoreje me të njëjtin emër dhe një identifikues të ndryshëm sikur do të ndodhë gabimi "përkufizim i dyfishtë" gjatë ngarkimit të programit.

Kur caktoni një variabël të tipit Variant, mund të përdorni operatorin - Dim pa prefiksin - AS. Për shembull:

Nevoja për të deklaruar variabla.

Një nga më gabimet e zakonshme në program është përdorimi i variablave të padeklaruar. Problemi është se Bazë vizuale ju lejon të krijoni një variabël sapo të shfaqet një herë në program. Nëse përzieni emrin e ndryshores, Visual Basic krijon një të ri me një emër të ngjashëm dhe i cakton një vlerë të paracaktuar, e cila çon menjëherë në një gabim. Ky gabim është i vështirë për t'u zbuluar sepse emrat e variablave janë shumë të ngjashëm.

Mënyra më e thjeshtë per te shmangur një gabim i ngjashëm konsiston në deklarimin e detyruar të të gjitha variablave. Visual Basic shfaq një mesazh nëse ka një gabim në emër. Visual Basic ofron këtë veçori, por nuk përdoret si parazgjedhje. Operatori i kërkuar për këtë quhet Option Explicit.

Për kontroll i përgjithshëm variablave në program, deklarata Option Explicit duhet të vendoset në seksionin General.

Në vend të këtë operator në seksionin e Përgjithshëm, ju duhet:

Hapni dritaren e kodit

Zgjidhni objektin e Përgjithshëm nga lista e objekteve në dritaren Object

Zgjidhni Deklarimin nga lista e Procedurave

Futni Opsionin Explicit.

Ndryshimi i vlerave të paracaktuara për llojet

Supozoni se të gjitha variablat në program duhet të jenë numra të plotë. Për lehtësi, në këtë rast përdoret operatori DefType. Për të gjitha variablat me numra të plotë, duket kështu:

Përkufizimi A-Z

Format bazë të operatorëve të ndryshëm DefType

Konventat e tipit mund të ndryshohen gjithmonë duke përdorur një identifikues ose një deklaratë Dim për një variabël të caktuar. Në mënyrë tipike, deklarata DefType vendoset në të njëjtin seksion (General) me deklaratën Option Explicit.

Shtrirja e ndryshueshme

Programuesit përdorin termin "scope" kur duan të thonë për mundësinë e përdorimit të një variabli nga një pjesë e programit në një pjesë tjetër të tij. Në Visual Basic deklarata e ndryshueshme brenda procedurës është e izoluar nga njëra-tjetra. Për sa i përket programimit, kjo do të thotë se këto variabla janë lokal.

6. Deklarimi i variablave: Dim deklaratë për tipe te ndryshme të dhëna

Më shpesh sesa jo, njerëzit përpiqen të mos përdorin identifikues kur tregojnë llojin e një ndryshoreje (veçanërisht për lloje të tilla si data / ora). Në vend të kësaj, ata përdorin deklaratën Dim. Një operacion i tillë quhet deklaratë. Deklarimi i llojeve të variablave gjatë kryerjes së trajtimit të ngjarjeve përpara përdorimit të tyre - sigurisht, me komente - është stil i mirë në programim. Gjithashtu bën të mundur përmirësimin e "lexueshmërisë" së teksteve të programit.

Nëse një variabël deklarohet duke përdorur deklaratën Dim, nëse përdoret një variabël me të njëjtin emër dhe një identifikues të llojit të ndryshëm, do të ndodhë një gabim "përkufizimi i dyfishtë" kur programi fillon. Për shembull, nëse shprehja e mëposhtme Dim Count As Integer deklaron variablin Count, atëherë variablat Counts, Count nuk mund të përdoren! Numëroni # dhe numëroni®. Duhet të përdoret vetëm emri Count%, por kjo është vetëm një formë tjetër për emrin e ndryshores Count.

Për të caktuar një lloj varianti në një variabël, përdorni operatorin Dim pa As:

Dim F00 trajton F00 si një variabël variant.

Mund ta shkruani edhe kështu: Dim Foo As Variant - Kjo është më e lehtë për t'u lexuar.

Çdo informacion që duhet të jetë i disponueshëm për të gjitha procedurat e trajtimit të ngjarjeve në lidhje me formularin vendoset në seksionin (Të Përgjithshme) të këtij formulari.

Për të vendosur Option Explicit në seksionin (General), ndiqni këto hapa.

1. Hapni dritaren e Kodit.

2. Zgjidhni një objekt (Gjeneral) nga lista e objekteve që ofrohen në dritaren Object.

3. Zgjidhni (Deklaratë) nga lista Proc.

4. Futni Option Explicit.

Shpesh është e nevojshme të përdoren deklaratat e nivelit të formës në seksionin (Përgjithshme) kur përdoruesi është duke eksperimentuar me programet e mostrës nga sistemi i ndihmës.

Për të kopjuar programin e mostrës nga sistemi i ndihmës, përdorni butonin Copy në dritaren Sample Code. Pastaj mund të përdorni artikullin Paste nga menyja Edit për të vendosur shembullin në dritaren e Kodit. Kur Visual Basic ndeshet me komandën Option Explicit, ajo ndalon së lejuari përdorimin e variablave të padeklaruar. Nëse përpiqeni të përdorni gjithsesi një variabël të tillë, do të shfaqet një mesazh gabimi.

Për të aplikuar një deklaratë të detyrueshme të llojit të ndryshores, mund të përdorni faqen e Redaktorit shiriti i dialogut Mjetet | 0ptions. Programuesi gjithmonë do ta kontrollojë këtë kuti. Pastaj deklarata Option Explicit vendoset automatikisht aty ku nevojitet në kod.

Nga libri Le të ndërtojmë një përpilues! autor Crenshaw Jack

Nga libri Inteligjenca e Internetit [Një udhëzues për veprim] autori Yushchuk Evgeniy Leonidovich

Motorët metakërkues të internetit me shembuj të kërkimit të llojeve të ndryshme të informacionit sistemi i informacionit që do të kombinonte avantazhet e të gjithë motorëve të kërkimit

Nga libri Teknologjitë e serverëve ruajtjen e të dhënave në Mjedisi Windows® 2000 Windows® Server 2003 nga Dailip Naik

Kapitulli 10 Aftësitë e nënsistemit të ruajtjes në të ndryshme versionet e Windows NT Në kapitujt e mëparshëm, ne shikuam arkitekturën e Windows për sa i përket aftësive specifike të nënsistemit të ruajtjes. Ky kapitull është menduar për profesionistët që përdorin nënsistemet e ruajtjes.

Nga libri HTML 5, CSS 3 dhe Web 2.0. Zhvillimi i faqeve moderne të internetit. autori Dronov Vladimir

Nga libri HTML 5, CSS 3 dhe Web 2.0. Zhvillimi i faqeve moderne të internetit autori Dronov Vladimir

Deklarimi i variablave Përpara se të përdorni një variabël në kodin tuaj të skriptit në ueb, rekomandohet që ta deklaroni atë. Për ta bërë këtë, përdorni deklaratën e deklarimit të ndryshores var, pas së cilës tregohet emri i ndryshores: var x; Tani ndryshores së deklaruar mund t'i caktohet çdo

Nga Libri VBA për Dummies autor Cummings Steve

Deklarimi i variablave Siç u diskutua në kapitullin 6, një deklaratë është një deklaratë VBA me të cilën ju informoni përpiluesin për qëllimet tuaja për të përdorur një objekt të emërtuar dhe deklaroni në mënyrë eksplicite llojin e atij objekti. Operatorët e deklarimit përdoren më së shpeshti për të

Nga libri Gjuha e programimit C për Kompjuter personal autori Bochkov S.O.

Deklarimi i shumë variablave në një rresht Në një rresht kodi i programit mund të deklarohen edhe disa variabla. Fjala kyçe Dim printohet vetëm një herë dhe variablat ndahen me presje, por mos harroni të specifikoni llojin e të dhënave për secilën variabël në

Nga libri Arti i programimit të shkrimit guaskë nga Cooper Mendel

Nga libri Programimi Linux në shembuj autori Robbins Arnold

Deklarimi i variablave të tipit të personalizuar Ashtu si llojet e integruara të të dhënave, lloji i personalizuar mbetet një koncept abstrakt derisa të deklaroni një variabël të llojit të duhur. Kjo nuk kërkon asgjë të veçantë - sintaksa standarde është e mirë

Nga libri Fundi i Holivarit. Pascal vs C autori Krivtsov M.A.

Deklarimi i variablave të klasës Për të deklaruar variabla që do të nevojiten në veti ose metoda të shumta, përdorni seksionin Deklaratat në fillim të modulit të klasës. Gjithmonë deklaroni këto variabla si Local (Private), sepse objektet janë të destinuara kryesisht për

Nga libri i autorit

Deklarimi i variablave Ky seksion ofron një përshkrim të qëndrueshëm të sintaksës dhe semantikës së deklaratave të variablave. Varietetet e variablave janë renditur në tabelën e mëposhtme: Tabela 3.4. Lloji i ndryshores Shpjegim Variabli i thjeshtë Ndryshorja skalare me numër të plotë ose

Nga libri i autorit

Deklarimi i të dhënave Nëse një identifikues ndjek menjëherë fjalën kyçe afër, larg ose i madh, kjo do të thotë se artikulli përkatës i të dhënave do të vendoset në segmentin standard (për afër) ose mund të vendoset në një segment tjetër të të dhënave (për larg ose i madh). Për shembull,

Nga libri i autorit

9.4. Deklaratat e variablave: deklaroni dhe shtypni Deklaratat e deklarimit dhe të tipiteve janë deklarata të integruara (janë absolutisht identike me njëra-tjetrën dhe janë sinonime) dhe kanë për qëllim të zbatojnë kufizime në variabla. Kjo është një përpjekje shumë e dobët për kontrollin e tipit që

Nga libri i autorit

8.1.2. Pasqyrë e llojeve të ndryshme të sistemeve të skedarëve SHËNIM. Diskutim në këtë seksion Linux specifik. Megjithatë, shumë moderne Sistemet Unix ka edhe karakteristika të ngjashme. Ne ju rekomandojmë që të rishikoni dokumentacionin për sistemin tuaj. Historikisht, V7 Unix mbështeti vetëm një lloj

Nga libri i autorit

Llojet standarde të dhënat dhe përshkrimi i variablave Vlera e caktuar për një variabël duhet të korrespondojë me llojin e saj të specifikuar në seksionin e përshkrimit. Pascal ka katër lloje standarde vlerash (përveç atyre që mund të përcaktohen shtesë në secilin program -

Nga libri i autorit

Llojet standarde të të dhënave dhe deklaratat e ndryshoreve int - numër i plotë i gjatë - i gjatë numër i plotë i shkurtër - i shkurtër i plotë i panënshkruar - numër i plotë i panënshkruar - float - i dyfishtë i vërtetë - i gjatë real char - literal Ndryshe nga Pfscal, C nuk përmban variabla boolean Shembuj të deklarimeve të variablave: int k; char a,

Në VBA, si në çdo gjuhë tjetër programimi, ndryshoret dhe konstantet përdoren për të ruajtur vlerat. Siç sugjeron emri, variablat mund të ndryshojnë, ndërsa konstantet ruajnë vlera fikse.

Për shembull, konstante Pi ruan vlerën 3.14159265 ... Numri "Pi" nuk do të ndryshojë gjatë ekzekutimit të programit, por është akoma më i përshtatshëm për të ruajtur një vlerë të tillë si një konstante.

Në të njëjtën kohë, ne mund të përdorim variablin sVAT_Rate për të ruajtur normën e TVSH-së për mallrat e blera. Madhësia e ndryshueshme sVAT_Rate mund të ndryshojë në varësi të llojit të produktit të blerë.

Llojet e të dhënave

Të gjitha variablat dhe konstantat janë të një lloji specifik të të dhënave. Tabela më poshtë liston llojet e të dhënave të përdorura në VBA, me një përshkrim dhe gamën e vlerave të mundshme:

Lloji i të dhënave Permasa Përshkrim Gama e vlerave
Bajt 1 bajt Numrat e plotë pozitivë; përdoret shpesh për të dhëna binare nga 0 në 255
Boolean 2 bajt Mund të jetë ose e vërtetë ose e rreme E vërtetë apo e gabuar
Numër i plotë 2 bajt Numrat e plotë (pa pjesë thyesore) nga -32 768 në +32 767
E gjatë 4 bajt Numra të plotë të mëdhenj (pa pjesë thyesore) nga -2 147 483 648 në +2 147 483 647
Beqare 4 bajt Numri i vetëm me pikë lundruese me saktësi -3.4e38 në + 3.4e38
Dyfishtë 8 bajt Numri i pikës lundruese me saktësi të dyfishtë -1.8e308 në + 1.8e308
Monedha 8 bajt Numri i pikës lundruese me një numër fiks të shifrave dhjetore nga -922 337 203 685 477.5808 në +922 337 203 685 477.5807
Data 8 bajt Data dhe Ora - Të dhënat e datës përfaqësohen nga një numër me pikë lundruese. E gjithë pjesa ky numër shpreh datën, dhe fraksion- koha nga 1 janari 100 deri më 31 dhjetor 9999
Objekt 4 bajt Referenca e objektit Çdo referencë objekti
Varg ndryshimet Komplet personazhesh. Lloji String mund të jetë me gjatësi fikse ose të ndryshueshme. Më shpesh përdoret me gjatësi të ndryshueshme Gjatësia fikse - deri në afërsisht 65,500 karaktere. Gjatësia e ndryshueshme- deri në afërsisht 2 miliardë karaktere
Variant ndryshimet Mund të përmbajë një datë, një numër me pikë lundruese ose një varg karakteresh. Ky lloj përdoret në rastet kur nuk dihet paraprakisht se çfarë lloji të të dhënave do të futen. Numri - Dyfish, varg - Varg

Natyrisht, duke përdorur tabelën e mësipërme dhe duke zgjedhur llojin e duhur të të dhënave, mund ta përdorni memorien në mënyrë më ekonomike (për shembull, zgjidhni llojin e të dhënave Numër i plotë në vend të E gjatë ose Beqare në vend të Dyfishtë). Sidoqoftë, kur përdorni lloje më kompakte të të dhënave, duhet të keni kujdes që kodi juaj të mos përpiqet të vendosë vlera të mëdha në mënyrë disproporcionale në to.

Deklarimi i variablave dhe konstantave

Shënim i përkthyesit: Duke folur për variablat në VBA, ekziston një tjetër shumë pikë e rëndësishme... Nëse deklarojmë një variabël, por nuk i caktojmë asnjë vlerë, atëherë ai inicializohet me një vlerë të paracaktuar:
vargjet e tekstit- inicializohet vija boshe;
numrat - vlera 0;
variablat si Boolean- I rremë;
datat - 30 dhjetor 1899.

Përpara se të përdorni një ndryshore ose konstante, ajo duhet të deklarohet. Për ta bërë këtë, shtoni sa vijon në makro varg i thjeshtë kodi:

Dim Emri i ndryshores Si Lloji i të dhënave

Në rreshtin e mësipërm të kodit Emri i ndryshoresËshtë emri i ndryshores që do të përdoret në kod, dhe Lloji i të dhënaveËshtë një nga llojet e të dhënave nga tabela e dhënë më parë në këtë artikull. Për shembull:

Dim sVAT_Rate Si Single Dim i Si Integer

Konstantat deklarohen në mënyrë të ngjashme, por kur deklarohen konstante, vlera e tyre duhet të tregohet menjëherë. Për shembull, si kjo:

Const iMaxCount = 5000 Const iMaxScore = 100

Variablat nuk kërkohet të deklarohen në Excel. Si parazgjedhje, të gjitha variablat e futura por jo të deklaruara në Excel do të kenë llojin Variant dhe do të jetë në gjendje të pranojë vlerat numerike dhe tekstuale.

Kështu, programuesi do të jetë në gjendje të përdorë një ndryshore të re në çdo kohë (edhe nëse nuk është deklaruar), dhe Excel do ta trajtojë atë si një variabël të llojit Variant... Megjithatë, ka disa arsye pse kjo nuk duhet bërë:

  1. Përdorimi i memories dhe shpejtësia e llogaritjes. Nëse nuk deklaroni një variabël që specifikon llojin e të dhënave, atëherë sipas parazgjedhjes lloji do të vendoset për të Variant... Ky lloj i të dhënave përdor më shumë memorie se llojet e tjera të të dhënave. Duket se disa bajt shtesë për variabël nuk janë aq shumë, por në praktikë, në programet e krijuara mund të ketë mijëra variabla (sidomos kur punoni me vargje). Prandaj, memoria e tepërt përdoret nga variablat si Variant, krahasuar me variablat si Numër i plotë ose Beqare, mund të shtojë deri në një sasi të konsiderueshme. Veç kësaj, operacione me variabla të llojit Variant ekzekutohen shumë më ngadalë sesa me variabla të llojeve të tjera, përkatësisht, një mijë shtesë variablat e tipit Variant mund të ngadalësojë ndjeshëm llogaritjet.
  2. Parandalimi i gabimeve shkrimore në emrat e variablave. Nëse deklarohen të gjitha variablat, atëherë mund të përdoret deklarata VBA - Opsioni i qartë(për këtë do të flasim më vonë) për të identifikuar të gjitha variablat e padeklaruar, duke eliminuar kështu shfaqjen e një gabimi në program si rezultat i një emri të variablit të shkruar gabimisht. Për shembull, duke përdorur një ndryshore të quajtur sVAT_Rate, mund të bëni një gabim shtypi dhe, duke i caktuar një vlerë kësaj ndryshoreje, shkruani: “VATRate = 0,175”. Pritet që tani e tutje, variabli sVAT_Rate duhet të përmbajë vlerën 0.175 - por sigurisht që nuk ka. Nëse mënyra e deklarimit të detyrueshëm të të gjitha variablave të përdorur është aktivizuar, atëherë përpiluesi VBA do të tregojë menjëherë një gabim, pasi nuk do ta gjejë variablin VATRAte ndër ato të shpallura.
  3. Theksimi i vlerave që nuk përputhen me llojin e deklaruar të ndryshores. Nëse deklaroni një variabël të një lloji të caktuar dhe përpiquni t'i caktoni të dhëna të një lloji tjetër, atëherë do të shfaqet një gabim, pa e rregulluar të cilin mund të keni një dështim në program. Në pamje të parë, kjo mund të duket si një arsye e mirë për të mos deklaruar variabla, por në fakt , sa më shpejt të rezultojë se një nga variablat nuk ka marrë të dhënat që duhet të kishte marrë - aq më mirë! Përndryshe, nëse programi vazhdon të funksionojë, rezultatet mund të jenë të pasakta dhe të papritura dhe do të jetë shumë më e vështirë për të gjetur shkakun e gabimeve. Gjithashtu është e mundur që makroja të ekzekutohet "me sukses". Si rezultat, gabimi do të kalojë pa u vënë re dhe puna do të vazhdojë me të dhëna të pasakta!

Në këtë drejtim, këshillohet të zbuloni llojin e gabuar të të dhënave dhe të rregulloni gabime të tilla në kod sa më shpejt të jetë e mundur. Për këto arsye, kur shkruani makro VBA rekomandohet të deklarohen të gjitha variablat.

Opsioni i qartë

Operatori Opsioni i qartë detyron të deklarojë të gjitha variablat që do të përdoren në kodin VBA, dhe gjatë kompilimit, shënon të gjitha variablat e padeklaruar si gabime (para ekzekutimit të kodit). Kjo deklaratë është e lehtë për t'u zbatuar - thjesht shkruani këtë rresht në krye të skedarit VBA:

Opsioni i qartë

Nëse dëshironi të futni gjithmonë Opsioni i qartë në fillim të çdo moduli VBA të krijuar rishtazi, kjo mund të bëhet automatikisht. Për ta bërë këtë, duhet të aktivizoni parametrin Kërkoni deklaratë të ndryshueshme në cilësimet e redaktorit VBA.

Kjo bëhet si kjo:

  • Në menunë Visual Basic Editor, klikoni Mjetet > Opsione
  • Në kutinë e dialogut që shfaqet, hapni skedën Redaktor
  • Kontrolloni kutinë Kërkoni deklaratë të ndryshueshme dhe shtypni Ne rregull

Kur aktivizohet, vargu Opsioni i qartë do të futet automatikisht në fillim të çdo moduli të krijuar rishtazi.

Shtrirja e variablave dhe konstanteve

Çdo variabël ose konstante e deklaruar ka shtrirjen e vet të kufizuar, domethënë një pjesë të kufizuar të programit në të cilin ekziston kjo ndryshore. Shtrirja varet nga vendi ku është bërë deklarimi i ndryshores ose konstante. Merrni, për shembull, variablin sVAT_Rate që përdoret në funksion Totali_Kosto... Tabela e mëposhtme tregon dy opsione për shtrirjen e një ndryshoreje sVAT_Rate deklaruar në dy pozicione të ndryshme në modul:

Opsioni i qartë i zbehtë sVAT_Rate si një funksion i vetëm Total_Cost () Si Double ... Funksioni i Fundit

Nëse ndryshorja sVAT_Rate deklaruar në fillim të modulit, atëherë qëllimi i kësaj ndryshore do të jetë i gjithë moduli (d.m.th. ndryshorja sVAT_Rate do të njihet nga të gjitha procedurat në këtë modul).

Prandaj, nëse në funksion Totali_Kosto e ndryshueshme sVAT_Rate atëherë do t'i caktohet një vlerë funksioni tjetër ekzekutuar brenda të njëjtit modul do të përdorë variablin sVAT_Rate me të njëjtën vlerë.

Sidoqoftë, nëse thirret një funksion i vendosur në një modul tjetër, atëherë ndryshorja për të sVAT_Rate nuk do të dihet.

Opsioni Funksioni i qartë Totali_Kosto () Si dyfish i zbehtë sVAT_Rritja si e vetme ... Funksioni i fundit

Nëse ndryshorja sVAT_Rate deklaruar në fillim të funksionit Totali_Kosto, atëherë fushëveprimi i tij do të kufizohet vetëm nga ky funksion (d.m.th. brenda funksionit Totali_Kosto, do të jetë e mundur të përdoret ndryshorja sVAT_Rate, por jashtë saj - jo).

Kur përpiqeni të përdorni sVAT_Rate në një procedurë tjetër, përpiluesi VBA do të raportojë një gabim sepse kjo variabël nuk është deklaruar jashtë funksionit Totali_Kosto(me kusht që operatori të përdoret Opsioni i qartë).

Në shembullin e treguar më sipër, ndryshorja deklarohet në nivelin e modulit duke përdorur fjalën kyçe Dim... Megjithatë, ndonjëherë është e nevojshme që variablat e deklaruar të mund të përdoren në module të tjera. Në raste të tilla, për të deklaruar një variabël në vend të një fjale kyçe Dim ju duhet të përdorni fjalën kyçe Publike.

Nga rruga, për të deklaruar një ndryshore në nivelin e modulit, në vend të fjalës kyçe Dim mund të përdorni fjalën kyçe Privat, e cila do të tregojë se kjo variabël është menduar për përdorim vetëm në modulin aktual.

Ju gjithashtu mund të përdorni fjalë kyçe për të deklaruar konstante Publike dhe Privat, por jo në vend të fjalës kyçe Konst, dhe me të.

V shembujt e mëposhtëm përdorimi i treguar fjalë kyçe Publike dhe Privat siç zbatohet për variablat dhe konstantet.

Artikujt kryesorë të lidhur