Terkadang kita tidak dapat memperkirakan ukuran array saat menggunakannya, sehingga mudah untuk memikirkan array dinamis, yaitu mengubah ukuran array secara dinamis saat digunakan. Ini mudah diterapkan di VB. Mari gunakan contoh spesifik untuk menjelaskan:
Mendefinisikan array dinamis di VB biasanya melibatkan dua langkah:
(1) Gunakan Dim, Private atau Public untuk mendeklarasikan array tanpa subskrip di lapisan formulir atau modul standar (tanda kurung tidak dapat dihilangkan),
(2) Gunakan pernyataan ReDim untuk mendefinisikan array dengan subskrip dalam prosesnya
Fungsi dari pernyataan ReDim adalah untuk mengarahkan kembali ukuran array. Ini mengalokasikan ruang penyimpanan ketika program mengeksekusi pernyataan ReDim.
Format: ReDim(nama array)(subskrip)[As(tipe)]
Fungsi: Mengubah ukuran dan ruang penyimpanan array dinamis.
menjelaskan:
(1) Subskrip dapat berupa konstanta atau variabel yang mempunyai nilai tertentu.
(2) Arti setiap parameter dalam pernyataan sama dengan pernyataan yang menggunakan Dim untuk mendefinisikan array.
(3) Pernyataan ReDim hanya dapat digunakan untuk array dinamis. Pernyataan ini dapat mengubah ukuran setiap dimensi, tetapi tidak dapat mengubah jumlah dimensi.
(4) Saat program dikompilasi, semua array dalam pernyataan ReDim dideklarasikan sebagai array dinamis. Ketika program sedang berjalan, ketika pernyataan ReDim dijalankan, batas atas dan bawah yang baru ditugaskan kembali ke array, nilai elemen array akan diinisialisasi, nilai semua elemen numerik diatur ke 0, dan elemen string disetel ke karakter kosong.
(5) Pernyataan ReDim dapat mendefinisikan array dengan cara yang sama seperti pernyataan Dim. Dalam program yang sama, pernyataan ReDim juga dapat digunakan beberapa kali. Sebelum menggunakan pernyataan :ReDim untuk mendefinisikan ulang array, Anda dapat menggunakan pernyataan :Erase untuk menghapus array asli.
Contoh:
Dimaa()AsLong' mendefinisikan array dinamis
Redimaa(10)'Sesuaikan ukuran array dinamis
redupkan saya sebagai bilangan bulat
untuk i=1 sampai 10
aa(saya) = saya
Berikutnya
Redim aa(5) 'Ubah ukuran lagi
...Operasi lainnya