Zone de vizibilitate

Zone de vizibilitate ale variabilelor

Acum, hai să vorbim despre un instrument important pentru a asigura comoditatea și fiabilitatea programării în Visual Basic - mecanismul de setare a zonelor de vizibilitate pentru variabile, proceduri și alte elemente Visual Basic. În 17.2 am întâlnit deja acest mecanism când variabilele declarate în cadrul procedurii au fost locale în procedură, adică invizibile în afara procedurii. Prin urmare, ele nu au putut fi folosite în alte proceduri de module. Dacă ați uitat această secțiune, citiți-o acum.







Recitirea? Bine. Pentru variabilele din Visual Basic, sunt definite trei zone de vizibilitate:

Variabile de procedură locală

Sunt vizibile numai în cadrul procedurii în care sunt declarate

Declarată de operator Dim în interiorul procedurii

Variabilele locale ale modulului

Ele sunt vizibile peste tot în interiorul modulului în care sunt declarate. Dintre celelalte module nu sunt vizibile

Declarată de operatorul Dim sau privat din partea de sus a modulului, în afara procedurilor

Progresele globale (publice) ale proiectului

Sunt vizibile de oriunde în toate modulele de proiect

Declarată de operatorul Public în partea de sus a modulului, în afara procedurilor

După cum puteți vedea, prima zonă - cea mai îngustă, a treia - cea mai largă. Exemplu fereastră de cod:

Public o variabilă globală ca intreg

Private b As Integer 'Variabila locala a modulului

Private Sub Command1_Click ()

Private c As Integer 'Variabila de procedură locală







Cu primele două zone de vizibilitate, sunteți familiarizați. Cu a treia zonă vom cunoaște acum. Iată cum puteți accesa variabilele globale declarate dintr-un alt modul dintr-un singur modul. În proiectul nostru se creează două forme: Form1 și Form2. Aici este fereastra de cod pentru formularul 1:

Publicați un număr întreg

Private Sub Command1_Click ()

Operatorul public declară variabila a ca globală (sau publică), vizibilă din toate modulele. Dacă faceți clic pe butonul de formular 1, atribuiți o valoare de 10 la un.

Aici este fereastra de cod pentru formularul 2:

Private Sub Command1_Click ()

Dacă faceți clic pe butonul de formular 2, veți imprima 10 - valoarea corectă a variabilei a.

După cum puteți vedea, în scopul de a face apel la o variabilă declarată într-un alt modul, trebuie să specificați o variabilă gazdă. Visual Basic folosit pentru a ar trebui să fie specificate, în cazul în care proprietarul nu este specificat, atunci elementul „a“ fiind in fata o serie de elemente. Încercați în schimb Debug.Print Form1.a a scrie un Debug.Print o. Deoarece gazdă nu este specificat, Visual Basic își dă seama că variabila o „una“, adică, face parte din formularul 2. (Nu e nimic că ea nu a fost declarată, Visual Basic consideră încă prezent ei.) Și pentru că variabila „lor“ nu este atribuit un personal , atunci nimic nu va fi imprimată. În modul pas, vedeți că dacă sub forma unei valori 1 este de 10, sub forma unei valori ravnoEmpty 2 (a = gol). În limba engleză, aceasta înseamnă „gol“, adică, variabila nu a fost atribuit nici o valoare.

Deci, dacă vrem ca variabila să fie vizibilă pe tot parcursul proiectului, declarăm că este operatorul public. O astfel de variabilă se numește globală. Dacă vrem ca variabila să fie vizibilă numai în modulul ei (a fost localizată în modul), o declarăm ca operatorul Dim. În locul operatorului Dim, este obișnuit să utilizați operatorul privat. Prin acțiune ele nu pot fi diferențiate, însă semnificația engleză a cuvântului privat (proprietate privată, intrarea este interzisă) este mai potrivită cazului, deci programatorii o folosesc cel mai mult.

Zonele de procedură

Procedurile pot fi fie globale, fie locale

Pentru procedurile din Visual Basic, sunt definite două zone de vizibilitate:

Proceduri locale pentru module

Ele sunt vizibile peste tot în interiorul modulului în care sunt declarate. Dintre celelalte module nu sunt vizibile







Articole similare

Trimiteți-le prietenilor: