Photobucket

Senin, 08 Oktober 2012

VB Array - Array dalam Visual Basic 6

Array adalah kelompok berturut-turut lokasi memori yang semua memiliki nama yang sama dan jenis yang sama. Untuk merujuk ke lokasi tertentu atau elemen dalam array, kita tentukan nama array dan nomor elemen array posisi.

Elemen individual array diidentifikasi dengan menggunakan indeks. Array memiliki batas atas dan bawah dan elemen-elemen harus terletak dalam batas-batas tersebut. Setiap nomor indeks dalam array dialokasikan ruang memori individu dan karena itu pengguna harus menghindari mendeklarasikan array dari ukuran yang lebih besar daripada yang dibutuhkan. Kita dapat mendeklarasikan array dari salah satu tipe data dasar termasuk varian, -ditetapkan jenis pengguna dan variabel obyek. Elemen individual dari array adalah semua tipe data yang sama.
Mendeklarasikan array

Array menempati ruang memori. Pemrogram menentukan tipe array dan jumlah elemen yang dibutuhkan oleh array sehingga kompilator dapat cadangan jumlah yang sesuai dari memori. Array dapat dinyatakan sebagai Masyarakat (dalam kode modul), modul atau lokal. Modul array dideklarasikan dalam deklarasi umum menggunakan kata kunci Dim atau Private. array Lokal dinyatakan dalam prosedur menggunakan Dim atau statis. Array harus dideklarasikan secara eksplisit dengan kata kunci "Sebagai".

Ada dua jenis array dalam Visual Basic yaitu:

Fixed-ukuran array: Ukuran array selalu tetap ukuran-sama tidak berubah selama eksekusi program.

Dynamic array: Ukuran array dapat diubah pada waktu perubahan ukuran berjalan selama pelaksanaan program.
Berukuran tetap Array

Ketika batas atas ditentukan dalam deklarasi itu, array-Fixed dibuat. Batas atas harus selalu berada dalam kisaran tipe data lama.

Mendeklarasikan array-tetap

Dim angka (5) As Integer

Dalam ilustrasi di atas, angka adalah nama dari array, dan angka 6 termasuk dalam kurung adalah batas atas array. Pernyataan di atas membuat sebuah array dengan 6 elemen, dengan nomor indeks berjalan dari 0 hingga 5.

Jika kita ingin menentukan batas bawah, maka tanda kurung harus mencakup batas bawah dan atas bersama dengan Untuk kata kunci. Contoh untuk ini diberikan di bawah ini.

Dim angka (1 To 6) As Integer

Dalam pernyataan di atas, sebuah array dari 10 elemen dinyatakan tetapi dengan indeks berjalan dari 1 sampai 6.

Sebuah array publik dapat dideklarasikan menggunakan kata kunci Umum Dim bukan seperti yang ditunjukkan di bawah ini.

Publik nomor (5) As Integer
Multidimensional Array

Array dapat memiliki beberapa dimensi. Penggunaan umum dari array multidimensi adalah merupakan tabel nilai-nilai yang terdiri dari informasi yang diatur dalam baris dan kolom. Untuk mengidentifikasi elemen tabel tertentu, kita harus menentukan dua indeks: Yang pertama (oleh konvensi) mengidentifikasi elemen baris dan kolom elemen yang kedua (oleh konvensi) mengidentifikasi.

Tabel atau array yang membutuhkan dua indeks untuk mengidentifikasi elemen tertentu disebut array dua dimensi. Perhatikan bahwa array multidimensi dapat memiliki lebih dari dua dimensi. Visual Basic mendukung setidaknya 60 dimensi array, tapi kebanyakan orang akan perlu menggunakan lebih dari dua atau tiga dimensi-array.

Pernyataan berikut mendeklarasikan array dua dimensi 50 dengan 50 array dalam prosedur.

Dim AvgMarks (50, 50)

Hal ini juga memungkinkan untuk menetapkan batas yang lebih rendah untuk salah satu atau kedua dimensi sebagai untuk array ukuran tetap. Contoh untuk ini diberikan di sini.

Dim Marks (101 Untuk 200, 1 Untuk 100)

Contoh untuk tiga array dimensi-dengan batas yang lebih rendah pasti diberikan di bawah ini.

Dim Rincian (101 Untuk 200, 1 Untuk 100, 1 Untuk 100)
Statis dan array dinamis

Pada dasarnya, Anda dapat membuat baik array statis atau dinamis. array statis harus mencakup sejumlah tetap item, dan jumlah ini harus diketahui pada waktu kompilasi sehingga kompilator dapat menyisihkan jumlah memori yang diperlukan. Anda membuat array statis menggunakan pernyataan Dim dengan argumen yang konstan:

'Ini adalah array statis.
Dim Nama (100) As String

Visual Basic indeks array dimulai dengan 0. Oleh karena itu, array sebelumnya benar-benar memegang 101 item.

Kebanyakan program tidak menggunakan array statis karena jarang programmer tahu pada waktu kompilasi berapa banyak item yang Anda butuhkan dan juga karena array statis tidak dapat diubah ukurannya selama eksekusi. Kedua permasalahan ini diselesaikan dengan array dinamis. Anda menyatakan dan membuat array dinamis dalam dua langkah yang berbeda. Secara umum, Anda mendeklarasikan array untuk memperhitungkan visibilitas (misalnya, pada awal modul jika Anda ingin membuatnya terlihat oleh semua prosedur dari modul) menggunakan perintah Dim dengan pasangan kosong dari kurung. Kemudian Anda membuat sebuah array saat Anda benar-benar membutuhkannya, menggunakan pernyataan ReDim:

'Sebuah array didefinisikan dalam modul BAS (dengan lingkup Swasta)
Dim Pelanggan () As String
...
Sub Main ()
'Di sini Anda membuat array.
ReDim Pelanggan (1000) As String
End Sub

Jika Anda membuat sebuah array yang lokal untuk prosedur, Anda dapat melakukan segala sesuatu dengan pernyataan ReDim tunggal:

Sub PrintReport ()
'Array ini hanya akan terlihat prosedur.
ReDim Pelanggan (1000) As String
'...
End Sub

Jika Anda tidak menentukan indeks lebih rendah dari sebuah array, Visual Basic mengasumsikan itu menjadi 0, kecuali sebuah Option Base 1 pernyataan ditempatkan pada awal modul. Saran saya adalah ini: Jangan gunakan pernyataan Option Base karena membuat ulang kode lebih sulit. (Anda tidak dapat memotong dan rutinitas paste tanpa khawatir tentang Option Base saat ini.) Jika Anda ingin secara eksplisit menggunakan indeks lebih rendah berbeda dari 0, gunakan sintaks ini sebagai gantinya:

ReDim Pelanggan (1 To 1000) As String

Dynamic array dapat diciptakan kembali di akan, setiap kali dengan nomor yang berbeda dari item. Bila Anda kembali membuat array dinamis, isinya direset ke 0 (atau string kosong) dan Anda kehilangan data yang berisi. Jika Anda ingin mengubah ukuran array tanpa kehilangan isinya, gunakan perintah ReDim Preserve:

ReDim Preserve Pelanggan (2000) As String

Ketika Anda mengubah ukuran array, Anda tidak dapat mengubah jumlah dimensinya maupun jenis nilai-nilai yang dikandungnya. Selain itu, ketika Anda menggunakan ReDim Preserve pada array multidimensi, Anda dapat mengubah ukuran hanya dimensi terakhir:

ReDim Sel (1 Untuk 100, 10) As Integer
...
ReDim Preserve Sel (1 Untuk 100, 20) Seperti ini Integer 'bekerja.
ReDim Preserve Sel (1 Untuk 200, 20) As Integer 'Ini tidak.

Akhirnya, Anda dapat menghancurkan sebuah array menggunakan statement Erase. Jika array dinamis, Visual Basic membebaskan memori yang dialokasikan untuk unsur-unsurnya (dan Anda tidak dapat membaca atau menulis mereka lagi), jika array yang statis, elemen perusahaan diatur ke 0 atau string kosong.

Anda dapat menggunakan LBound dan fungsi UBound untuk mengambil indeks bawah dan atas. Jika array memiliki dua atau lebih dimensi, Anda harus lulus argumen kedua untuk fungsi-fungsi ini untuk menentukan dimensi yang Anda butuhkan:

Cetak LBound (Sel, 1) 'Menampilkan 1, lebih rendah indeks 1 dimensi
Cetak LBound (Sel) 'Sama seperti di atas
Cetak UBound (Sel, 2) 'Menampilkan 20, indeks atas 2 dimensi
'Evaluasi jumlah elemen.
NumEls = (UBound (Sel) LBound _ (Sel) + 1) * _
(UBound (Sel, 2) _ LBound (Sel, 2) + 1)
Array dalam UDTs

struktur UDT dapat mencakup baik array statis dan dinamis. Berikut adalah struktur sampel yang mengandung kedua jenis:

Jenis MyUDT
StaticArr (100) As Long
DynamicArr () As Long
Akhir Jenis
...
Dim UDT sebagai MyUDT
'Anda harus Dimensi array dinamis sebelum menggunakannya.
ReDim udt.DynamicArr (100) As Long
'Anda tidak perlu melakukan itu dengan array statis.
udt.StaticArr (1) = 1234

0 komentar:

Posting Komentar

Related Posts Plugin for WordPress, Blogger...

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Buy Coupons