Minggu, 10 April 2011

Membuat aplikasi penjumlahan Lanjutan

Latihan ini adalah kelanjutan dari latihan sebelumnya yaitu  'ProjectJumlah'.
Tambahkan sebuah form pada ProjectJumlah, caranya, pada menu klik Project > add Form. Akan tampil jendela AddForm, dan pilihan pertama (default)nya adalah New > Form. Maka tinggal klik open. Beri nama 'frmJumlah2'.


Selanjutnya Copy semua control pada frmJumlah dan paste pada frmJumlah2. Aturlah ukuran form sesuai kebutuhan agar semua objek control terlihat. Rubah nama 'cmdKeluar' menjadi 'cmdKembali' dan ganti caption-nya dengan "Kembali".


Buka lagi frmJumlah dan tambahkan sebuah CommandButton, berilah nama 'cmdLanjutan'. Ini digunakan untuk memanggil frmJumlah2 yang sedang kita buat sekarang ini. Dobel klik pada 'cmdLanjutan' isikan code berikut:

 Load frmJumlah2
 frmJumlah2.Show
 Me.Hide

 jadi lengkapnya menjadi sbb:

Private Sub cmdLanjutan_Click()
 Load frmJumlah2
 frmJumlah2.Show
 Me.Hide
End Sub

Selanjutnya buka frmJumlah2, copy code dibawah ini, paste pada halaman code frmJumlah2.

Option Explicit
Dim input1 As Long
Dim input2 As Long
Dim hasil As Long

Private Sub cmdJumlah_Click()
'cek jika user telah mengisi input
If Text1.Text = "" Or Text2.Text = "" Then
 MsgBox "Ma'af, Isi dulu angkanya!"
 Text1.SetFocus
 Exit Sub
End If
'mengambil data dari user
'pada code dibawah ini digunakan fungsi "replace" karena
'teks pada text1 dan text2 menggunakan Format "###,##0"
'ingat, koma pada vb dibaca titik pada format angka indonesia
 input1 = Val(Replace(Text1.Text, ".", ""))
 input2 = Val(Replace(Text2.Text, ".", ""))
 'menghitung hasil
 hasil = input1 + input2
 'menampilkan hasil pada text3
 Text3.Text = hasil
 Text3.Refresh  'untuk memastikan tampilan
End Sub

Private Sub cmdHapus_Click()
 Text1.Text = ""
 Text2.Text = ""
 Text3.Text = ""
 'tempatakan kursor pada text1
 Text1.SetFocus
End Sub

Private Sub cmdKembali_Click()
 Load frmJumlah
 frmJumlah.Show
 Unload Me
End Sub

Private Sub text1_KeyPress(KeyAscii As Integer)
'agar hanya angka yang boleh diketikkan
If Not ((KeyAscii > 47 And KeyAscii < 58) Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn) Then
   KeyAscii = 0
   Text1.Text = ""
   Beep
    Else
    'agar jika di tekan enter, kursor berpindah ke text2
    If KeyAscii = vbKeyReturn Then Text2.SetFocus
  End If
End Sub

Private Sub text2_KeyPress(KeyAscii As Integer)
'agar hanya angka yang boleh diketikkan
If Not ((KeyAscii > 47 And KeyAscii < 58) Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn) Then
   KeyAscii = 0
   Text2.Text = ""
   Beep
    Else
    'agar jika di tekan enter, cmdJumlah dieksekusi
    If KeyAscii = vbKeyReturn Then cmdJumlah_Click
  End If
End Sub

Private Sub text1_KeyUp(KeyCode As Integer, Shift As Integer)
   Text1.Text = Format(Text1.Text, "###,##0")
   Text1.SelStart = Len(Text1.Text)
End Sub

Private Sub text2_KeyUp(KeyCode As Integer, Shift As Integer)
   Text2.Text = Format(Text2.Text, "###,##0")
   Text2.SelStart = Len(Text2.Text)
End Sub

Private Sub Text3_Change()
 Text3.Text = Format(Text3.Text, "###,##0")
End Sub

Cobalah test dengan mengklik menu Run > Start atau icon Start, atau bisa juga menekan F5 pada keyboard. Bandingkan hasilnya dengan frmJumlah pada latihan sebelumnya.
Selamat mencoba.


Artikel yang berkaitan:

Tidak ada komentar:

Posting Komentar

Tuliskan komentar anda