biasanya dalam sebuah program pengisian form biasanya terdapat tanggal lahir yang terdiri dari tanggal-bulan-tahun. sebenarnya pada visual studio 2008 telah tersedia menu date pada toolboxnya. namun ini saya buat secara manual. Memang agak panjang, namun dapat menambah pengetahuan kita melalui cara manual ini.berikut caranya:
- siapkan tool yang digunakan: combobox 3 buah dan sebuah label, seperti gambar berikut:
- siapkan tool yang digunakan: combobox 3 buah dan sebuah label, seperti gambar berikut:
' deklarasikan variabel a, b, c sebagai integer karena nilai angka integer
Dim a, b, c As Integer
Dim a, b, c As Integer
' deklarasikan d sebagai string karena ingin memasukan karakter "-"
Dim d As String = " - "
' double klik pada form maka secara otomatis aka muncul source code berikut:yang fungsinya fungsi yang ditulis dalam sub ini akan berjalan bila program diexecute
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim d As String = " - "
' double klik pada form maka secara otomatis aka muncul source code berikut:yang fungsinya fungsi yang ditulis dalam sub ini akan berjalan bila program diexecute
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' memberikan nilai a sebagai tahun misal dibatasi a = 2011
a = 2011
a = 2011
' merupakan fungsi perulangan menggunakan while
' Dengan pola :
' while syarat >> apa yang ditimbulkan >> end while
While a >= 1989 ' misal syaratnya jika a lebih dari 1989 maka
While a >= 1989 ' misal syaratnya jika a lebih dari 1989 maka
' memasukkan input hasil perulangan pada combobox 1
ComboBox1.Items.Add(a)
a = a - 1
End While
b = 1
While b <= 12
ComboBox2.Items.Add(b)
b = b + 1
End While
End Sub
Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
c = 1
ComboBox1.Items.Add(a)
a = a - 1
End While
b = 1
While b <= 12
ComboBox2.Items.Add(b)
b = b + 1
End While
End Sub
Private Sub ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
c = 1
'jika combobox 2 diseleksi lebih dari satu kali maka isi dari combobox3 akan dihapus,hal ini bertujuan untuk menghindari penumpukan nilai inputan.
If ComboBox2.SelectedItem > 1 Then
ComboBox3.Items.Clear()
End If
' jika nilai dari combobox2 mod 2 = 0 berati merupakan bilangan genap berarti bulan genap akan memiliki jumlah hari 30 kecuali bulan 2 ato februari
If Val(ComboBox2.Text) Mod 2 = 0 And Val(ComboBox2.Text) <> 2 Then
While c <= 30
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
If ComboBox2.SelectedItem > 1 Then
ComboBox3.Items.Clear()
End If
' jika nilai dari combobox2 mod 2 = 0 berati merupakan bilangan genap berarti bulan genap akan memiliki jumlah hari 30 kecuali bulan 2 ato februari
If Val(ComboBox2.Text) Mod 2 = 0 And Val(ComboBox2.Text) <> 2 Then
While c <= 30
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
' jika nilai dari combobox2 mod 2 = 1 berati merupakan bilangan ganjil berarti bulan ganjil akan memiliki jumlah hari 31
If Val(ComboBox2.Text) Mod 2 = 1 And Val(ComboBox2.Text) <> 2 Then
While c <= 31
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
If Val(ComboBox2.Text) Mod 2 = 1 And Val(ComboBox2.Text) <> 2 Then
While c <= 31
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
' jika nilai dari combobox2 adalah 2 atau bulan februari berati maka akan memiliki jumlah hari 29 apabila combobox1(tahun) habis dibagi 4 dan 28 hari bila tidak habis dibagi 4.
If Val(ComboBox2.Text) = 2 Then
If Val(ComboBox1.Text) Mod 4 = 0 Then
While c <= 29
ComboBox3.Items.Add(c)
c = c + 1
End While
Else
While c <= 28
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
End If
If Val(ComboBox2.Text) = 2 Then
If Val(ComboBox1.Text) Mod 4 = 0 Then
While c <= 29
ComboBox3.Items.Add(c)
c = c + 1
End While
Else
While c <= 28
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
End If
' untuk menampilkan tahun dengan menggunakan label
Label1.Text = ComboBox3.Text + d + ComboBox2.Text + d + ComboBox1.Text
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Label1.Text = ComboBox3.Text + d + ComboBox2.Text + d + ComboBox1.Text
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
' source code ini digunakan untuk mengantisipasi apabila pemakai program memilih bulan dulu baru tahun, sehingga jumlah hari tetap akurat. fungsinya sama dengan sebelumnya
If Val(ComboBox2.Text) = 2 Then
If Val(ComboBox1.Text) Mod 4 = 0 Then
While c <= 29
ComboBox3.Items.Add(c)
c = c + 1
End While
Else
While c <= 28
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
End If
If Val(ComboBox2.Text) = 2 Then
If Val(ComboBox1.Text) Mod 4 = 0 Then
While c <= 29
ComboBox3.Items.Add(c)
c = c + 1
End While
Else
While c <= 28
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
End If
' untuk menampilkan bulan dengan menggunakan label
Label1.Text = ComboBox3.Text + d + ComboBox2.Text + d + ComboBox1.Text
End Sub
Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged
Label1.Text = ComboBox3.Text + d + ComboBox2.Text + d + ComboBox1.Text
End Sub
Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged
' untuk menampilkan tanggal dengan menggunakan label
Label1.Text = ComboBox3.Text + d + ComboBox2.Text + d + ComboBox1.Text
End Sub
End Class
Label1.Text = ComboBox3.Text + d + ComboBox2.Text + d + ComboBox1.Text
End Sub
End Class
Semoga bermanfaat ^^ GBU
bulan yg di mod 2 = 1 memiliki tanggal 31
BalasHapussedangkan september dan november hanya sampai tanggal 30
' jika nilai dari combobox2 mod 2 = 1 berati merupakan bilangan ganjil berarti bulan ganjil akan memiliki jumlah hari 31
BalasHapusIf Val(ComboBox2.Text) Mod 2 = 1 And Val(ComboBox2.Text) <> 2 Then
While c <= 31
ComboBox3.Items.Add(c)
c = c + 1
End While
End If
bulan september(9) dan november(11) hanya sampai tanggal 30 saja
makasih gan sharingnya,,saya coba dulu
BalasHapus