|
Friend!
pada saat tgl masehi =29/02/2006
var HijriDate =29/02/1427
29/02/1427 bukan merupakan tanggal krn tdk ada
tanggal tsb yg ada 28/02/1427
jadi fungsi Day(HijriDate) menjadi error.
untuk mengecek sebuah tanggal atau bukan gunakan
isdate(Tanggal).
Jadi solusi untuk kasus diatas cara
mengambil tanggal,bulan,dan tahun gunakan fungsi string
aja. misal tanggal1.Text = left((HijriDate),2)
mungkin bisa membantu,
----- Original Message -----
Sent: Wednesday, March 29, 2006 8:30
AM
Subject: [Programmer-VB] Confert Masehi
ke Hijriah error pada tanggal 29-03-06 ?
Teman2 semua,
Aku bikin code untuk rubah tanggal
Masehi ke Hijriah. Selama ini OK2 aja.
Tapi pas tanggal 29-03-06,
terjadi kesalahan. Kode ini aku ambil dari MSDN nya
microsoft.
detail code :
Private Sub
Command1_Click() Unload Me End Sub
Function
ConvertDateString( _ ByRef StringIn As String,
_ ByRef OldCalendar As Integer, _
ByVal NewCalendar As Integer, _ ByRef NewFormat As
String) As String Dim SavedCal As
Integer Dim d As Date Dim s As
String '// Save VBA Calendar
setting to restore when finished SavedCal =
Calendar '// Convert date to new
calendar and format Calendar =
OldCalendar ' Change to
StringIn calendar d =
CDate(StringIn) ' Convert from String
to Date Calendar =
NewCalendar ' Change to calendar of new
string s =
CStr(d) ' Convert to
short format String 'ConvertDateString =
Format ' Reformat (s,
NewFormat) ConvertDateString = Format(s,
NewFormat) '// Restore VBA
Calendar setting Calendar = SavedCal End
Function
Private Sub Form_Load() 't_tanggal =
dtpicker t_tanggal.Value = Date +
1 'tanggal1 = combo
box x = 1 For x = 1 To
30 If Len(Trim(Str(x))) = 1
Then xtanggal
= "0" + Trim(Str(x))
Else xtanggal
= Trim(Str(x)) End
If tanggal1.AddItem
(xtanggal) Next
BulanIslam = Array("01 Muharram", "02 Safar",
"03 Rabiul Awal", "04 Rabiul Akhir", "05 Jumadil Awal", "06 Jumadil
Akhir", "07 Rejab", "08 Syakban", "09 Ramadan", "10 Syawal", "11
Zulkaedah", "12 Zulhijjah")
'bulan1=combo
box i = 0 For i = 0 To
11 xtanggal =
Trim(BulanIslam(i))
bulan1.AddItem (xtanggal) Next
Dim GregorianDate As String Dim
HijriDate As String Dim HijriFormat As
String
GregorianDate =
Format(t_tanggal.Value, "dd/mm/yyyy") ' Gregorian string to
convert HijriFormat = "dd/mm/yyyy" ' Format
for Hijri date
' tahun1 = text
box '// Convert to Hijri date 7/8/1414 and return
in Long Date format HijriDate = ConvertDateString(
_ GregorianDate,
_ vbCalGreg,
_ vbCalHijri,
_
HijriFormat)
tanggal1.Text = Day(HijriDate)
bulan1.Text = BulanIslam(Month(HijriDate) - 1)
tahun1.Text = Year(HijriDate) '.Value =
Day(HijriDate)
End Sub
Private Sub
t_tanggal_Change()
'****************************** On Error Resume
Next '******************************
Dim
GregorianDate As String Dim HijriDate As
String Dim HijriFormat As String BulanIslam =
Array("01 Muharram", "02 Safar", "03 Rabiul Awal", "04 Rabiul Akhir", "05
Jumadil Awal", "06 Jumadil Akhir", "07 Rejab", "08 Syakban",
"09 Ramadan", "10 Syawal", "11 Zulkaedah", "12
Zulhijjah")
GregorianDate =
Format(t_tanggal.Value, "dd/mm/yyyy") ' Gregorian string to
convert HijriFormat = "dd/mm/yyyy" ' Format for
Hijri date
'// Convert to Hijri date 7/8/1414 and
return in Long Date format HijriDate = ConvertDateString(
_ GregorianDate,
_ vbCalGreg,
_ vbCalHijri,
_ HijriFormat)
tanggal1.Text = Day(HijriDate) bulan1.Text =
BulanIslam(Month(HijriDate) - 1) tahun1.Text =
Year(HijriDate) End Sub
Private Sub tahun1_KeyPress(KeyAscii As
Integer) If KeyAscii = 13 Then On Error Resume
Next Dim GregorianDate As String
Dim HijriDate As String Dim HijriFormat As
String
'GregorianDate = "12/31/93" '
Gregorian string to convert 'HijriFormat = "Long
Date" ' Format for Hijri date HijriFormat
= Trim(tanggal1.Text) + "/" + Left(bulan1.Text, 2) + "/" +
Trim(tahun1) 'MsgBox (HijriFormat)
GregorianDate = "dd/mm/yyyy"
'// Convert to Hijri
date 7/8/1414 and return in Long Date format
'HijriDate = ConvertDateString(GregorianDate, vbCalGreg, vbCalHijri,
HijriFormat) GregorianDate =
ConvertDateString(HijriFormat, vbCalHijri, vbCalGreg,
GregorianDate) 'MsgBox HijriDate
'MsgBox GregorianDate t_tanggal.Value =
Format(GregorianDate, "dd/mm/yyyy") tanggal.Value =
Format(GregorianDate, "dd/mm/yyyy") 'Text1.Text =
GregorianDate End If End Sub
Private Sub bulan1_KeyPress(KeyAscii
As Integer) If KeyAscii = 13 Then On Error Resume
Next Dim GregorianDate As String
Dim HijriDate As String Dim HijriFormat As
String
'GregorianDate = "12/31/93" '
Gregorian string to convert 'HijriFormat = "Long
Date" ' Format for Hijri date HijriFormat
= Trim(tanggal1.Text) + "/" + Left(bulan1.Text, 2) + "/" +
Trim(tahun1) 'MsgBox (HijriFormat)
GregorianDate = "dd/mm/yyyy"
'// Convert to Hijri
date 7/8/1414 and return in Long Date format
'HijriDate = ConvertDateString(GregorianDate, vbCalGreg, vbCalHijri,
HijriFormat) GregorianDate =
ConvertDateString(HijriFormat, vbCalHijri, vbCalGreg,
GregorianDate) 'MsgBox HijriDate
'MsgBox GregorianDate t_tanggal.Value =
Format(GregorianDate, "dd/mm/yyyy") tanggal.Value =
Format(GregorianDate, "dd/mm/yyyy") 'Text1.Text =
GregorianDate End If
End Sub
Private Sub
tanggal1_KeyPress(KeyAscii As Integer) If KeyAscii = 13
Then On Error Resume Next Dim
GregorianDate As String Dim HijriDate As
String Dim HijriFormat As
String
'GregorianDate = "12/31/93" '
Gregorian string to convert 'HijriFormat = "Long
Date" ' Format for Hijri date HijriFormat
= Trim(tanggal1.Text) + "/" + Left(bulan1.Text, 2) + "/" +
Trim(tahun1) 'MsgBox (HijriFormat)
GregorianDate = "dd/mm/yyyy"
'// Convert to Hijri
date 7/8/1414 and return in Long Date format
'HijriDate = ConvertDateString(GregorianDate, vbCalGreg, vbCalHijri,
HijriFormat) GregorianDate =
ConvertDateString(HijriFormat, vbCalHijri, vbCalGreg,
GregorianDate) 'MsgBox HijriDate
'MsgBox GregorianDate t_tanggal.Value =
Format(GregorianDate, "dd/mm/yyyy") tanggal.Value =
Format(GregorianDate, "dd/mm/yyyy") End If End
Sub
Kesalahan terjadi pada code :
tanggal1.Text =
Day(HijriDate)
pada ivent :
Private Sub
t_tanggal_Change()
'****************************** On Error Resume
Next '******************************
Dim
GregorianDate As String Dim HijriDate As
String Dim HijriFormat As String BulanIslam =
Array("01 Muharram", "02 Safar", "03 Rabiul Awal", "04 Rabiul Akhir", "05
Jumadil Awal", "06 Jumadil Akhir", "07 Rejab", "08 Syakban",
"09 Ramadan", "10 Syawal", "11 Zulkaedah", "12
Zulhijjah")
GregorianDate =
Format(t_tanggal.Value, "dd/mm/yyyy") ' Gregorian string to
convert HijriFormat = "dd/mm/yyyy" ' Format for
Hijri date
'// Convert to Hijri date 7/8/1414 and
return in Long Date format HijriDate = ConvertDateString(
_ GregorianDate,
_ vbCalGreg,
_ vbCalHijri,
_ HijriFormat)
tanggal1.Text = Day(HijriDate) bulan1.Text =
BulanIslam(Month(HijriDate) - 1) tahun1.Text =
Year(HijriDate) End Sub
Mohon petunjuk temen2 semua, penting banget
nih...
Project contoh saya
sertakan.
__________________________________________________ Do
You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection
around http://mail.yahoo.com
Wahana Programmer Groups Links
<*> Untuk mengunjungi sponsor milis ini, klik link berikut:
http://wahanaprogrammer.net
<*> Untuk menghubungi owner milis ini, kirim email ke:
[EMAIL PROTECTED]
<*> Konsultasi pemrogramman bisa chat disini:
Yahoo! Messenger: wahanaprogrammer
YAHOO! GROUPS LINKS
|