roze_abi-r
جمعه 23 شهریور 1386, 03:08 صبح
Public WeekDayNamef(6) As String
Public MonthNamef(11) As String
Public YerF As Integer, MontF As Integer, DayF As Integer, WeekDayF As Integer
Public Sub DateF(YerF As Integer, MontF As Integer, DayF As Integer, WeekDayF As Integer)
EYear = Year(Date)
EMonth = Month(Date)
EDay = Day(Date)
WeekDayF = Weekday(Date, vbSaturday) - 1
If EYear Mod 4 = 0 Then Kdat = 1: Kdat3 = 1
If (EYear - 1) Mod 4 = 0 And (EMonth * 100 + EDay) < 321 Then Kdat = 1: Kdat2 = 1: Kdat3 = 0
Roozf = 0
For i = 1 To EMonth - 1
Select Case i
Case 1, 3, 5, 7, 8, 10, 12: Rang = 31
Case 2: Rang = 28 + Kdat3
Case 4, 6, 9, 11: Rang = 30
End Select
Roozf = Roozf + Rang
Next i
Roozf = Roozf + EDay
Roozf = Roozf - 79
If Roozf <= 0 Then Roozf = Roozf + 365 + Kdat2
If Roozf < 187 Then
MonthDays = 31
DayF = Roozf - ((Roozf \ 31) * 31)
Ldat = 1
If DayF = 0 Then DayF = 31: Ldat = 0
MontF = Roozf \ 31 + Ldat
End If
If Roozf > 186 Then
Roozf = Roozf - 6
DayF = Roozf - ((Roozf \ 30) * 30)
Ldat = 1
If DayF = 0 Then DayF = 30: Ldat = 0
MontF = Roozf \ 30 + Ldat
If MontF < 12 Then MonthDays = 30 Else MonthDays = 29 + Kdat2
End If
If (EMonth * 100 + EDay) > 320 - Kdat Then gdat = 621 Else gdat = 622
If DayF = 30 And MontF = 12 Then gdat = 22
YerF = EYear - gdat
End Sub
Public Sub DateFarsi()
MonthNamef(0) = "فروردین"
MonthNamef(1) = "اردیبهشت"
MonthNamef(2) = "خرداد"
MonthNamef(3) = "تیر"
MonthNamef(4) = "مرداد"
MonthNamef(5) = "شهریور"
MonthNamef(6) = "مهر"
MonthNamef(7) = "آبان"
MonthNamef(8) = "آذر"
MonthNamef(9) = "دی"
MonthNamef(10) = "بهمن"
MonthNamef(11) = "اسفند"
WeekDayNamef(0) = "شنبه"
WeekDayNamef(1) = "یکشنبه"
WeekDayNamef(2) = "دو شنبه"
WeekDayNamef(3) = "سه شنبه"
WeekDayNamef(4) = "چهار شنبه"
WeekDayNamef(5) = "پنج شنبه"
WeekDayNamef(6) = "جمعه"
Call DateF(YerF, MontF, DayF, WeekDayF)
[نام فرم].[نام کنترل].[متد ] = YerF + "/" + MontF + "/" + DayF + "" + WeekDayNamef(DayF)
End Sub
میتونید این کد رو در یک ماژول کد قرار بدید یا اینکه در ماژول فرم که در اینصورت نیازی به نام فرم ندارید
Public MonthNamef(11) As String
Public YerF As Integer, MontF As Integer, DayF As Integer, WeekDayF As Integer
Public Sub DateF(YerF As Integer, MontF As Integer, DayF As Integer, WeekDayF As Integer)
EYear = Year(Date)
EMonth = Month(Date)
EDay = Day(Date)
WeekDayF = Weekday(Date, vbSaturday) - 1
If EYear Mod 4 = 0 Then Kdat = 1: Kdat3 = 1
If (EYear - 1) Mod 4 = 0 And (EMonth * 100 + EDay) < 321 Then Kdat = 1: Kdat2 = 1: Kdat3 = 0
Roozf = 0
For i = 1 To EMonth - 1
Select Case i
Case 1, 3, 5, 7, 8, 10, 12: Rang = 31
Case 2: Rang = 28 + Kdat3
Case 4, 6, 9, 11: Rang = 30
End Select
Roozf = Roozf + Rang
Next i
Roozf = Roozf + EDay
Roozf = Roozf - 79
If Roozf <= 0 Then Roozf = Roozf + 365 + Kdat2
If Roozf < 187 Then
MonthDays = 31
DayF = Roozf - ((Roozf \ 31) * 31)
Ldat = 1
If DayF = 0 Then DayF = 31: Ldat = 0
MontF = Roozf \ 31 + Ldat
End If
If Roozf > 186 Then
Roozf = Roozf - 6
DayF = Roozf - ((Roozf \ 30) * 30)
Ldat = 1
If DayF = 0 Then DayF = 30: Ldat = 0
MontF = Roozf \ 30 + Ldat
If MontF < 12 Then MonthDays = 30 Else MonthDays = 29 + Kdat2
End If
If (EMonth * 100 + EDay) > 320 - Kdat Then gdat = 621 Else gdat = 622
If DayF = 30 And MontF = 12 Then gdat = 22
YerF = EYear - gdat
End Sub
Public Sub DateFarsi()
MonthNamef(0) = "فروردین"
MonthNamef(1) = "اردیبهشت"
MonthNamef(2) = "خرداد"
MonthNamef(3) = "تیر"
MonthNamef(4) = "مرداد"
MonthNamef(5) = "شهریور"
MonthNamef(6) = "مهر"
MonthNamef(7) = "آبان"
MonthNamef(8) = "آذر"
MonthNamef(9) = "دی"
MonthNamef(10) = "بهمن"
MonthNamef(11) = "اسفند"
WeekDayNamef(0) = "شنبه"
WeekDayNamef(1) = "یکشنبه"
WeekDayNamef(2) = "دو شنبه"
WeekDayNamef(3) = "سه شنبه"
WeekDayNamef(4) = "چهار شنبه"
WeekDayNamef(5) = "پنج شنبه"
WeekDayNamef(6) = "جمعه"
Call DateF(YerF, MontF, DayF, WeekDayF)
[نام فرم].[نام کنترل].[متد ] = YerF + "/" + MontF + "/" + DayF + "" + WeekDayNamef(DayF)
End Sub
میتونید این کد رو در یک ماژول کد قرار بدید یا اینکه در ماژول فرم که در اینصورت نیازی به نام فرم ندارید