Berikan nilai default untuk parameter opsional
Anda juga dapat menentukan nilai default untuk parameter opsional. Dalam contoh berikut, jika parameter opsional tidak diteruskan ke prosedur fungsi, nilai default akan dikembalikan.
SubListText(xAsString,OptionalyAs_
Bilangan bulat=12345)
Daftar1.TambahkanItemx
Daftar1.TambahkanItemy
Sub Akhir
PRIvateSubCommand1_Click()
strName=namaanda 'Parameter kedua tidak diberikan.
CallListText(strName) 'Tambahkan "nama Anda" dan "12345".
Sub Akhir
Menggunakan Jumlah Parameter Tak Tertentu Secara umum, jumlah parameter dalam pemanggilan prosedur harus sama dengan jumlah parameter dalam deskripsi prosedur. Anda dapat menggunakan kata kunci ParamArray untuk menunjukkan bahwa prosedur akan menerima sejumlah parameter. Jadi Anda bisa menulis fungsi Sum untuk menghitung jumlah seperti ini:
DimxAsInteger
DimyAsInteger
DimintSumAsInteger
SubJumlah(ParamArrayintNums())
UntukEachxInintNums
y=yx
Selanjutnya
jumlah int=y
Sub Akhir
PrivateSubCommand1_Klik()
Jumlah1,3,5,7,8
Daftar1.TambahkanItemintSum
Sub Akhir
Buat pernyataan sederhana dengan parameter bernama
Untuk banyak fungsi, pernyataan, dan metode bawaan, Visual Basic menyediakan metode parameter bernama untuk meneruskan nilai parameter dengan cepat. Untuk parameter bernama, sejumlah parameter dapat diberikan dalam urutan apa pun dengan memberikan nilai pada parameter bernama. Untuk melakukannya, ketikkan argumen bernama, diikuti dengan titik dua, tanda sama dengan, dan nilai (MyArgument:=SomeValue). Perhatikan bahwa urutan parameter dalam contoh berikut berlawanan dengan urutan parameter yang diperlukan:
FunctionListText(strNameAsString,OpsionalstrAddressAsString)
Daftar1.TambahkanItemstrName
Daftar2.TambahkanItemstrAlamat
Sub Akhir
PrivateSubCommand1_Klik()
ListTextstrAddress:=12345,strName:=Nama Anda
Sub Akhir
Hal di atas lebih berguna jika prosedur memiliki beberapa parameter opsional yang tidak selalu harus ditentukan.
Konfirmasikan dukungan untuk parameter bernama
Untuk menentukan fungsi, pernyataan, dan metode mana yang mendukung parameter bernama, gunakan fungsi AutoQuickInfo di jendela Kode, periksa Object Browser, atau lihat referensi bahasa. Ingatlah hal-hal berikut saat menggunakan parameter bernama:
Metode objek di pustaka objek Visual Basic (VB) tidak mendukung parameter bernama. Semua kata kunci bahasa di pustaka objek Visual Basic for Applications (VBA) mendukung parameter bernama.
Dalam sintaksisnya, parameter bernama ditampilkan dalam huruf tebal dan miring. Semua parameter lainnya hanya dicetak miring.
Penting untuk dicatat bahwa saat menggunakan parameter bernama, Anda tidak dapat menghilangkan input parameter yang diperlukan. Hanya parameter opsional yang dapat dihilangkan. Untuk pustaka objek Visual Basic (VB) dan Visual Basic for Applications (VBA), kotak dialog Peramban Objek mengapit parameter opsional dalam tanda kurung siku [].
Lihat ByVal, ByRef, Optional, dan ParamArray dalam referensi bahasa untuk detailnya .
Ikhtisar struktur kontrol
Dengan adanya struktur kendali maka alur eksekusi program dapat dikendalikan. Jika pernyataan aliran kontrol tidak dicentang, program akan menjalankan pernyataan ini dari kiri ke kanan dan atas ke bawah. Beberapa program sederhana dapat ditulis hanya dengan aliran satu arah, dan beberapa aliran dapat dikontrol oleh operator yang diutamakan, namun efektivitas dan kegunaan bahasa pemrograman apa pun berasal dari kemampuannya untuk mengubah urutan pernyataan melalui struktur dan loop.
struktur keputusan
Prosedur Visual Basic dapat menguji ekspresi kondisional dan kemudian melakukan tindakan berbeda berdasarkan hasil pengujian.
Struktur keputusan yang didukung oleh Visual Basic adalah:
1.Jika...Lalu
2.Jika...Lalu...Lain
3.Pilih Kasus
Jika...Lalu
Gunakan struktur If...Then untuk mengeksekusi satu atau lebih pernyataan secara kondisional. Sintaks satu baris dan sintaks blok multi-baris dapat digunakan:
Jika kondisi maka pernyataan
Jika kondisinya maka
pernyataan
AkhirJika
kondisi biasanya berupa perbandingan, namun dapat berupa ekspresi apa pun yang menghitung nilai numerik. Visual Basic menafsirkan nilai ini sebagai Benar atau Salah: nilai nol adalah Salah, dan nilai bukan nol dianggap Benar. Jika kondisi benar, Visual Basic mengeksekusi semua pernyataan setelah kata kunci Then. Anda dapat mengeksekusi pernyataan secara kondisional menggunakan sintaksis satu baris atau banyak baris (dua contoh berikut ini setara):
IfanyDate<NowThenanyDate=Sekarang
IfanyDate<SekarangLalu
tanggal berapa pun=Sekarang
AkhirJika
Catatan: Format satu baris If...Then tidak menggunakan pernyataan EndIf. Jika Anda ingin mengeksekusi beberapa baris kode ketika kondisinya Benar, Anda harus menggunakan sintaksis blok multi-baris If...Then...EndIf.
IfanyDate<SekarangLalu
tanggal berapa pun=Sekarang
Timer1.Enabled=False 'Kontrol pengatur waktu dinonaktifkan.
AkhirJika
Jika...Lalu...Lain
Tentukan beberapa blok pernyataan dengan blok If...Then...Else dan jalankan salah satu pernyataan:
Jika kondisi 1 Kemudian
[blok pernyataan-1]
[ElseIfcondition2Then
[blok pernyataan-2]]...
[Kalau tidak
[blok pernyataan-n]]
AkhirJika
VisualBasic pertama menguji kondisi1. Jika bernilai False, Visual Basic menguji kondisi2, dan seterusnya, hingga menemukan kondisi yang Benar. Ketika menemukan kondisi yang Benar, Visual Basic mengeksekusi blok pernyataan terkait dan kemudian mengeksekusi kode berikut EndIf. Sebagai pilihan, Anda dapat menyertakan blok pernyataan Else yang dijalankan Visual Basic jika tidak ada kondisi yang Benar.
If...Then...ElseIf hanyalah kasus khusus dari If...Then...Else. Perhatikan bahwa Anda dapat menggunakan sejumlah klausa ElseIf, atau tidak sama sekali. Klausa Else bisa saja ada terlepas dari apakah ada klausa ElseIf atau tidak.
Misalnya, aplikasi dapat mengambil tindakan berdasarkan kontrol mana dalam rangkaian kontrol menu yang diklik:
PrivateSubmnuCut_Click(IndexAsInteger)
IfIndex=0Lalu perintah '"Potong".
CopyActiveControl 'Panggil prosedur umum.
HapusActiveControl
ElseIfIndex=1Kemudian perintah '"Salin".
Salin Kontrol Aktif
ElseIfIndex=2Kemudian 'Hapus perintah.
HapusActiveControl
Lain 'Tempel perintah.
Tempel Kontrol Aktif
AkhirJika
Sub Akhir
Perhatikan bahwa Anda selalu dapat menambahkan lebih banyak blok ElseIf ke struktur If...Then. Namun, struktur ini membosankan untuk ditulis ketika setiap ElseIf membandingkan ekspresi yang sama dengan nilai numerik yang berbeda. Dalam hal ini Anda dapat menggunakan struktur keputusan SelectCase.
Untuk informasi lebih rinci, silakan lihat "Pernyataan If...Then...Else" di "Manual Referensi Bahasa VisualBasic6.0".
Pilih Kasus
VisualBasic menyediakan struktur SelectCase untuk menggantikan If...Then...Else, sehingga salah satu dari beberapa blok pernyataan dapat dieksekusi secara selektif. Kemampuan pernyataan SelectCase mirip dengan pernyataan If...Then...Else, tetapi dalam kasus pilihan ganda, pernyataan SelectCase membuat kode lebih mudah dibaca.
SelectCase menangani ekspresi pengujian di atas struktur dan mengevaluasinya hanya sekali. Visual Basic kemudian membandingkan nilai ekspresi dengan nilai setiap Kasus dalam struktur. Jika keduanya sama, blok pernyataan yang terkait dengan Kasus akan dieksekusi.
Pilih ekspresi uji kasus
[Daftar ekspresi kasus1
[blok pernyataan-1]]
[Daftar ekspresi kasus2
[blok pernyataan-2]]
.
.
.
[Kasus Lain
[blok pernyataan-n]]
Pilihan Akhir
Setiap daftar ekspresi adalah daftar satu atau beberapa nilai. Jika ada beberapa nilai dalam satu daftar, pisahkan nilai tersebut dengan koma. Setiap blok pernyataan berisi nol atau lebih pernyataan.
Jika lebih dari satu Kasus yang cocok dengan ekspresi pengujian, hanya blok pernyataan yang terkait dengan Kasus pertama yang cocok yang akan dieksekusi. Jika tidak ada nilai dalam daftar ekspresi yang cocok dengan ekspresi pengujian, Visual Basic mengeksekusi pernyataan dalam klausa CaseElse (ini opsional).
Misalnya, Anda ingin menambahkan perintah pada menu Edit pada contoh If...Then...Else. Anda dapat menambahkan klausa ElseIf untuk ini, atau menggunakan SelectCase untuk menulis fungsi:
PrivateSubmnuCut_Click(IndexAsInteger)
Pilih Indeks Kasus
Perintah 'Potong' Case0.
CopyActiveControl 'Panggil prosedur umum.
HapusActiveControl
Perintah Case1 '"Salin".
Salin Kontrol Aktif
Perintah Case2 '"Hapus".
HapusActiveControl
Kasus3 'Tempel perintah.
Tempel Kontrol Aktif
Kasus Lain
frmFind.Show 'Tampilkan kotak dialog yang ditemukan.
Pilihan Akhir
Sub Akhir
Perhatikan bahwa struktur SelectCase mengevaluasi ekspresi di awal setiap saat. Struktur If...Then...Else mengevaluasi ekspresi yang berbeda untuk setiap pernyataan ElseIf. Anda dapat mengganti struktur If...Then...Else dengan struktur SelectCase hanya jika pernyataan If dan setiap pernyataan ElseIf mengevaluasi ekspresi yang sama.
->