Jika Anda ingin mengetahui apakah suatu objek bertipe khusus, tulis kode berikut:
Jika TypeOf obj Adalah ListItem Maka ...
Jika Anda ingin mendapatkan nama tipe objek, gunakan:
MsgBox "Itemnya adalah " & TypeName(obj)
Kontrol loop panjangKetika program terjebak dalam loop panjang, Anda tidak dapat mengklik tombol atau tombol perintah apa pun. Ini sangat sulit dikendalikan oleh pengguna. Mungkin pengguna tidak ingin lagi menjalankan loop dan keluar dengan mengklik tombol Batal? Bagaimana cara mengatasi masalah ini? Jawabannya adalah: gunakan perintah DoEvents! Artinya, jalankan perintah DoEvents di awal loop, seperti kode berikut:
Redupkan Aku Selamanya
Untuk i = 1 Sampai 1000000
Lakukan Acara
...
berikutnya saya
Faktanya, perintah DoEvents tidak perlu ditempatkan pada baris 1, perintah tersebut dapat ditempatkan dimana saja dalam loop. Dengan melakukan ini, bagian lain dari program, seperti tombol perintah yang mengakhiri perulangan, akan mempunyai kesempatan lain untuk menerima peristiwa klik.
Buat putaran panjang berjalan lebih cepatSaya menemukan bahwa, secara umum, lebih baik menggunakan fungsi API GetInputState untuk memeriksa nilai antrian input program. Saya tidak tahu mengapa pernyataan If membuat kode berjalan lebih cepat, tetapi sebenarnya berfungsi dengan baik.
Oleh karena itu, baris kode berikut dapat berupa
Lakukan Acara
Ganti dengan
Jika GetInputState() Lalu DoEvents
Cobalah!
Faktanya, alasannya adalah: pernyataan DoEvents memungkinkan aplikasi apa pun untuk melakukan peristiwa terkait, bukan hanya program Anda sendiri. Setelah menambahkan penilaian GetInputState, Anda hanya dapat menerima tindakan peristiwa dari program Anda sendiri!
Jadikan Select Case lebih mudahMari kita lihat contoh berikut: membuat string dari pengguna yang mengklik kombinasi tag yang berbeda:
lbl(0) = "Halo"
lbl(1) = "Saya berkomentar: m "
lbl(2) = "Senang"
lbl(3) = "Sedih"
...
sub lbl_click (indeks sebagai bilangan bulat)
string$ = string$+lbl(indeks).caption
Kemudian, Anda harus menulis serangkaian pernyataan kasus pilihan untuk menganalisis string ini...
pilih string kasus$
case "Halo, saya berkomentar: m Senang"
melakukan sesuatu
kasus "Halo, saya berkomentar: m"
ini akan menjadi sebuah kesalahan...
kasus lain
melakukan sesuatu yang lain
akhir pilih
Seperti yang Anda lihat, ini akan sangat rumit, terutama jika ada banyak tag dan diperlukan pemeriksaan hukum untuk operasi penggabungan.
Untuk mengatasi masalah ini, saya membuat array dengan panjang yang sama dengan jumlah tag:
arraylbl(n) sebagai bilangan bulat
Nilai awal array adalah 1, lalu nilai setiap item sama dengan nilai sebelumnya dikalikan 2 (nilai*2), seperti ini: 1 2 4 8 16 32 64... Dengan cara ini, kombinasi setiap pasang label akan memiliki nilai unik lainnya"
pon(0) + pon(1) = 1 + 2 = 3
pon(0) + pon(1) + pon(4) = 1 + 2 + 16 = 19
Sekarang, ketika label diklik, nilai lblarray() yang sesuai akan ditambahkan ke variabel. Dengan cara ini, berdasarkan beberapa angka, Anda cukup menulis pernyataan kasus pilihan:
pilih kasus IsLegal
kasus 3
Catatan: string itu valid
panggilan barang
kasus 19
Catatan: string itu valid
panggilan barang
caseelse
Catatan: tidak valid
telepon tidak bagus
akhir pilih
Haha, terkadang, mendigitalkan karakter bisa memberikan efek bagus yang tidak terduga!