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