Struktur dan Elemen Pemrograman Lainnya (Visual Basic)
Anda dapat menggunakan struktur bersama dengan array, objek, dan prosedur, serta dengan satu sama lain. Interaksi tersebut menggunakan sintaks yang sama seperti yang digunakan elemen-elemen ini secara tersendiri.
Catatan
Anda tidak dapat menginisialisasi elemen struktur apa pun dalam deklarasi struktur. Anda hanya dapat menetapkan nilai ke elemen variabel yang telah dideklarasikan sebagai jenis struktur.
Struktur dan Array
Struktur dapat berisi satu atau beberapa array di elemennya. Contoh berikut mengilustrasikan langkah-langkah ini:
Public Structure systemInfo
Public cPU As String
Public memory As Long
Public diskDrives() As String
Public purchaseDate As Date
End Structure
Anda mengakses nilai array dalam struktur dengan cara yang sama seperti Anda mengakses properti pada objek. Contoh berikut mengilustrasikan langkah-langkah ini:
Dim mySystem As systemInfo
ReDim mySystem.diskDrives(3)
mySystem.diskDrives(0) = "1.44 MB"
Anda juga dapat mendeklarasikan array struktur. Contoh berikut mengilustrasikan langkah-langkah ini:
Dim allSystems(100) As systemInfo
Anda mengikuti aturan yang sama untuk mengakses komponen arsitektur data ini. Contoh berikut mengilustrasikan langkah-langkah ini:
ReDim allSystems(5).diskDrives(3)
allSystems(5).CPU = "386SX"
allSystems(5).diskDrives(2) = "100M SCSI"
Struktur dan Objek
Struktur dapat berisi satu atau beberapa objek di elemennya. Contoh berikut mengilustrasikan langkah-langkah ini:
Protected Structure userInput
Public userName As String
Public inputForm As System.Windows.Forms.Form
Public userFileNumber As Integer
End Structure
Anda harus menggunakan kelas objek tertentu dalam deklarasi seperti itu, daripada Object
.
Struktur dan Prosedur
Anda dapat meneruskan struktur sebagai argumen prosedur. Contoh berikut mengilustrasikan langkah-langkah ini:
Public currentCPUName As String = "700MHz Pentium compatible"
Public currentMemorySize As Long = 256
Public Sub fillSystem(ByRef someSystem As systemInfo)
someSystem.cPU = currentCPUName
someSystem.memory = currentMemorySize
someSystem.purchaseDate = Now
End Sub
Contoh sebelumnya meneruskan struktur berdasarkan referensi, yang memungkinkan prosedur untuk memodifikasi elemennya sehingga perubahan berlaku dalam kode panggilan. Jika Anda ingin melindungi struktur dari modifikasi tersebut, teruskan berdasarkan nilainya.
Anda juga dapat mengembalikan struktur dari prosedur Function
. Contoh berikut mengilustrasikan langkah-langkah ini:
Dim allSystems(100) As systemInfo
Function findByDate(ByVal searchDate As Date) As systemInfo
Dim i As Integer
For i = 1 To 100
If allSystems(i).purchaseDate = searchDate Then Return allSystems(i)
Next i
' Process error: system with desired purchase date not found.
End Function
Struktur Dalam Struktur
Struktur dapat berisi struktur lain. Contoh berikut mengilustrasikan langkah-langkah ini:
Public Structure driveInfo
Public type As String
Public size As Long
End Structure
Public Structure systemInfo
Public cPU As String
Public memory As Long
Public diskDrives() As driveInfo
Public purchaseDate As Date
End Structure
Dim allSystems(100) As systemInfo
ReDim allSystems(1).diskDrives(3)
allSystems(1).diskDrives(0).type = "Floppy"
Anda juga dapat menggunakan teknik ini untuk merangkum struktur yang ditentukan di satu modul dalam struktur yang ditentukan di modul yang berbeda.
Struktur dapat berisi struktur lain, hingga kedalaman arbitrer.
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk