Memeriksa Format Tanggal

Jika Anda menginginkan agar format tanggal komputer yang memakai program yang telah Anda buat sesuai dengan format yang seharusnya di program tersebut, Anda terlebih dulu harus memeriksa apakah formatnya benar sama atau tidak. Jika format tanggal tidak sesuai dengan yang digunakan di program, program tersebut tidak dapat dijalankan. Tip berikut akan membantu Anda untuk menambahkan validasi format tanggal sebelum program dijalankan.

Persiapan:
1. Buat 1 Project baru dengan 1 Form, 1 Commandbutton, dan 1Control Timer.
2. Ketik coding berikut ke dalam editor form yang bertalian. Dalam contoh ini, kita anggap bahwa konvensi format tanggal di komputer yang menggunakan program ini harus sama dengan format ‘dd/mm/yyyy’. Jika tidak, program akan “memaksa” User untuk menyesuaikan terlebih dulu format tanggal di komputernya dengan format tersebut, barulah program dapat dijalankan.

Code:

Private Sub Form_Load()
Timer1.Interval = 500 ‘Set property intervalnya
Timer1.Enabled = True ‘Aktifkan jika belum…
End Sub
Sub PeriksaTanggal()
Dim CekTanggal As String
Ulangi:
CekTanggal = Date ‘Tampung tanggal dalam bentuk
‘string
‘Lakukan pemeriksaan format tanggal tersebut…
If CekTanggal <> Format(Date, “dd/mm/yyyy”) Then
‘Jika formatnya tidak sama dengan ‘dd/mm/yyyy’,
‘tampilkan pesan berikut…
If MsgBox(“Format tanggal di komputer Anda tidak sama
dengan” & vbCrLf & _
“‘dd/mm/yyyy’. Klik OK untuk mengganti melalui
menu” & vbCrLf & _
“Regional Settings pada tab Date di kotak isian” &
vbCrLf & _
“‘Short Date Style’. Ganti menjadi format:” &
vbCrLf & _
“dd/mm/yyyy. Jika Anda tidak melakukannya, maka” &
vbCrLf & _
“program tidak dapat dijalankan!”, _
vbCritical + vbOKCancel, _
“Format Tanggal Tidak Sama Dengan ‘dd/mm/yyyy'”) =
vbOK And CekTanggal <> _
Format(Date, “dd/mm/yyyy”) Then
‘Tampilkan Regional Settings dari program, dan
‘langsung ke tab Date (Tab indeks ke-4)…
Call Shell(“rundll32.exe shell32.dll,” & _
“Control_RunDLL INTL.CPL,,4”, 1)
Else
End ‘Jika tdk mau mengganti, langsung keluar
‘program…
End If
If MsgBox(“Apakah Anda sudah selesai menggantinya?” &
vbCrLf & _
“Klik Yes jika format sudah dd/mm/yyyy” & _ vbCrLf
& “atau klik No jika belum.”, _
bQuestion + vbYesNo, “Ubah Tanggal”) = vbYes Then
‘Periksa lagi, apakah sudah diganti oleh User?
If CekTanggal <> Format(Date, “dd/mm/yyyy”) Then GoTo
Ulangi
Else ‘Jika belum juga, kembali lagi dari awal di
‘atas
GoTo Ulangi
End If
End If
End Sub
‘Jika sebelumnya format tanggal sudah ‘dd/mm/yyyy’, ‘Anda
dapat mengubahnya dengan mengklik tombol ‘Command1.
‘Perhatikan reaksi apa yang terjadi dari program ‘setelah Anda
mengubah format tanggal menjadi format yg ‘tidak sesuai dengan
‘dd/mm/yyyy’ atau Anda juga dapat ‘mengubah formatnya dari
Control Panel, dan perhatikan ‘juga bagaimana reaksi
program!!!
Private Sub Command1_Click()
Call Shell(“rundll32.exe shell32.dll,” & _
“Control_RunDLL INTL.CPL,,4”, 1)
End Sub
‘Anda mungkin bertanya, mengapa kita memeriksa format
‘tanggal di prosedur Timer1_Timer selain di prosedur
‘Form_Load di atas?
‘Jawabnya tidak lain adalah untuk mengantisipasi jika ‘pada
saat program dijalankan, dilakukan perubahan ‘format tanggal
melalui menu Regional Settings di ‘Control Panel oleh user
atau melalui Command1 yang ada ‘di program,maka ketika program
diaktifkan kembali ‘format tanggal menjadi sudah tidak sama
lagi dengan ‘dd/mm/yyyy’ sehingga harus dilakukan pemeriksaan
‘kembali setiap saat program diaktifkan melalui bantuan
‘Timer1 yang dapat refresh setiap saat…
Private Sub Timer1_Timer()
If CekTanggal <> Format(Date, “dd/mm/yyyy”) Then
PeriksaTanggal
Else
Exit Sub ‘Timer1 harus tetap aktif…
End If
End Sub

Tinggalkan komentar

Belum ada komentar.

Comments RSS TrackBack Identifier URI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s