Isi kandungan:
Video: Belajar Visual Basic 6 Untuk Pemula Bagian 1 2024
VB. Program-program NET dibahagikan kepada zon, sama seperti Amerika Syarikat dibahagikan kepada negeri-negeri, kabupaten, dan bandar-bandar. Sama seperti ejen penguatkuasaan undang-undang mempunyai saiz jurisdiksi yang berbeza (polis bandar, pasukan negara, dan FBI, yang boleh pergi ke mana-mana), VB. Barisan pengaturcaraan NET mempunyai rentang pengaruh. Pengaruh ini, yang dipanggil skop, digunakan kebanyakannya kepada pembolehubah (tetapi juga boleh digunakan untuk prosedur - subs dan fungsi - serta seluruh kelas).
Mengakses pembolehubah
Sering kali anda ingin pertanyaan atau menukar nilai dalam pemboleh ubah, tetapi sama ada pemboleh ubah itu boleh diakses oleh anda bergantung pada skopnya. Sebagai contoh, anda sentiasa boleh mengakses pemboleh ubah dari dalam prosedur yang sama (fungsi, subrutin, dan peristiwa adalah semua prosedur).
Untuk melihat cara kerja ini, taipkan yang berikut ke dalam modul kod anda:
Private Sub Form1_Load (Pengirim ByVal Sebagai Sistem Objek, ByVal e As System. EventArgs) Mengendalikan MyBase. Muatkan
Dim N As String = "This"
MsgBox (N)
End Sub
Tekan F5 dan perhatikan bahawa MsgBox tidak mempunyai masalah memaparkan nilai pembolehubah N.
Ia memaparkan Ini. Sekarang taipkan sub yang lain di bawah sub Form1_Load dalam tetingkap kod:
Awali sub TryIt ()
MsgBox (N)
Sub Akhir
Perhatikan bahawa terdapat garis gergaji di bawah pembolehubah N di dalam Sub tryIt. Pegang penunjuk tetikus anda di atas garis gergaji dan VB. NET memaparkan mesej ralat yang memberitahu anda bahawa Nama 'N' tidak diisytiharkan.
Mesej ralat ini bermaksud bahawa mana-mana baris kod dalam sub TryIt (antara Sub Kebawah dan Sub Akhir) tidak dapat membaca (akses) atau menulis (ubah) pembolehubah N. N diisytiharkan (dengan Perintah Dim) dalam prosedur berasingan, dan skop N (jangkauan aksesnya) adalah terhad kepada baris kod dalam prosedur yang sama.
Walaupun Dim adalah yang paling biasa digunakan, anda boleh menggunakan tujuh perintah pengisytiharan tambahan: Statik, Awam, Dilindungi, Sahabat, Dikongsi, Rakan Dilindungi, dan Swasta. Perintah tambahan ini menentukan skop (dari mana lokasi dalam program anda pemboleh ubah boleh diakses).
Perhatikan bahawa apabila anda mengisytiharkan pembolehubah dalam prosedur, pemboleh ubah tersebut hanya berfungsi dalam prosedur tersebut. Apabila program melaksanakan prosedur (atau peristiwa), pemboleh ubah datang kepada kehidupan, melakukan perkara itu, dan kemudian mati (hilang) sebaik sahaja baris Sub Akhir dilaksanakan.
Apabila pembolehubah tempatan
Pembolehubah yang hanya tinggal dalam satu prosedur dipanggil pembolehubah setempat. Pembolehubah tempatan mempunyai dua ciri yang anda perlu hafal:
- Tiada pengaturcaraan di luar prosedur mereka sendiri boleh berinteraksi dengan mereka, sama ada untuk membaca nilai mereka atau mengubah nilai mereka. Skop mereka terhad kepada prosedur mereka sendiri.
- Apabila VB selesai melaksanakan prosedur di mana mereka tinggal, nilai mereka akan menguap. Sekiranya prosedur itu dilaksanakan buat kali kedua, apa pun nilai yang terdapat dalam pembolehubah setempat tidak lagi ada. Satu pelaksanaan prosedur adalah seumur hidup mereka. Terdapat beberapa situasi di mana anda mahu nilai pembolehubah setempat dipelihara. Dalam kes tersebut, anda menggunakan arahan Statik dan bukannya arahan Dim:
Private Sub Form1_Load (Pengirim ByVal Sebagai Sistem Objek, ByVal e As System EventArgs) Mengendalikan MyBase. Muatkan
Dim n As Integer
Statik x Sebagai Integer
Sub Akhir
Dalam contoh ini, pemboleh ubah n kehilangan nilai apabila Sub Akhir dijalankan. Walau bagaimanapun, pembolehubah x mengekalkan nilainya sehingga program dimatikan. Cara lain untuk meletakkannya ialah: Apabila anda menggunakan perintah Statik dengan pembolehubah setempat, nilai pembolehubah tersebut dipelihara untuk sepanjang hayat aplikasi anda. (Seumur hidup bermaksud berapa lama ada sesuatu dalam program.)
Apa yang anda fikir akan berlaku jika anda meletakkan dua Butang Perintah pada Borang anda, dan kemudian anda menjalankan program dan mengklik Command1 terlebih dahulu, kemudian mengklik Command2, dalam program seterusnya ini?
Sub Sub Button1_Click (Pengirim ByVal Sebagai Sistem Objek, ByVal e As System. EventArgs) Mengendalikan Button1. Klik
Dim X Sebagai Integer
X = 12
X = X + 5
Sub Akhir
Sub Sub Button2_Click (Pengirim ByVal Sebagai Sistem Objek, ByVal e As System EventArgs). Klik
Dim X Sebagai Integer
MsgBox (X)
Sub Akhir
Kotak mesej tidak memaparkan apa-apa. Variabel X dalam acara Klik Command1 adalah pembolehubah yang sama sekali berbeza daripada X dalam acara Klik Command2. Mereka adalah setempat dalam lingkungan dan tidak mempunyai hubungan dengan satu sama lain, tidak lebih daripada dua orang asing yang bernama Mike yang kebetulan tinggal di Bronx dan tidak pernah bertemu.
Tetapi bagaimana jika anda mahukan kedua-dua prosedur ini dapat mengakses dan memanipulasi pembolehubah yang sama? Untuk melakukan ini, anda menentukan pemboleh ubah di luar prosedur anda. Cuba ia. Klik di atas prosedur pertama anda (tepat di atas baris Private Sub Form1_Load) dalam tetingkap kod untuk memindahkan kursor sisipan di sana.
Sekarang ketikkan yang berikut:
Dim x Sebagai Integer
Di sinilah anda hendak meletakkan sebarang pembolehubah yang anda ingin berikan skop seluruh bentuk - dengan kata lain, untuk membenarkan semua prosedur dalam bentuk itu (Form1, dalam kes ini) dapat membaca dan mengubah suai pembolehubah tersebut. (Kawasan di mana anda meletakkan pembolehubah seluruh bentuk yang digunakan untuk dipanggil Kawasan Pengisytiharan Umum, sebelum VB.NET.)
Sekarang, dengan pembolehubah X Dimmed up di atas (di luar) semua Subs dan prosedur lain, apabila anda menjalankan program yang sama, klik Command1, dan kemudian klik Command2, anda dapat melihat keputusan yang anda mahu lihat: nombor 17. Apabila anda mengisytiharkan X menjadi luas dalam skop, kedua-dua butang boleh mengakses pembolehubah X.Padamkan dua pernyataan Dim yang sebelum ini diisytiharkan X dalam kedua-dua peristiwa Button tersebut. Sekarang X = X + 5 dan MsgBox (X) kedua-duanya merujuk kepada pembolehubah yang sama yang dinamakan X.
Apabila pembolehubah mempunyai skop yang luas, ia kemudiannya tersedia untuk semua prosedur dalam bentuk itu. Walau bagaimanapun, tidak terdapat prosedur untuk sebarang bentuk lain dalam projek ini.