PDA

View Full Version : تاریخ شمسی



vahidm
پنج شنبه 19 مهر 1386, 00:42 صبح
یعنی یک تاریخ به این روش
مثلاً : دوشنبه 22/07/1386
با تشکر

mf_engineer
جمعه 20 مهر 1386, 21:26 عصر
با سلام
شما می تونی از این تابع که توسط یکی از دوستان برنامه نویس نوشته شده استفاده کنی :


Function TarikhShamsi(Optional date1 As String, Optional SmallDate1 As Boolean) As String
'================================================= ===
Dim d, p, w, mon, Mm, Ym, u, v, rp, x, i, Ys, Ms, Dm, P1, D1, Ds, DateShamsi
d = Array(20, 19, 20, 20, 21, 21, 22, 22, 22, 22, 21, 21)
p = Array(11, 12, 10, 12, 11, 11, 10, 10, 10, 9, 10, 10)
w = Array("یکشنبه", "دوشنبه", "سه شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه")

If SmallDate1 = True Then
mon = Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")
Else
mon = Array("فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند")
End If

If date1 = "" Then date1 = Date

Dm = Day(date1)
Mm = Month(date1)
Ym = Year(date1)
u = 0
rp = 0
If (Ym Mod 4) = 0 Then u = 1
If ((Ym Mod 100) = 0 And (Ym Mod 400) <> 0) Then u = 0
Ys = Ym - 622
x = Ys - 22
x = x Mod 33
If ((x Mod 4) = 0 And x <> 32) Then rp = 1
i = Not (rp - 2) + Not (u - 2) * 2
x = 0
If (i = 0 And Mm = 3) Then x = 1
If i = 0 Then i = 3
Ms = (9 + Mm) Mod 13
If Ms < 10 Then Ms = Ms + 1
D1 = d(Mm - 1)
If (i = 1 And Mm > 2) Then D1 = D1 - 1
If (i = 2 And Mm < 3) Then D1 = D1 - 1
P1 = p(Mm - 1)
If (i = 1 And Mm > 2) Then P1 = P1 + 1
If (i = 2 And Mm < 4) Then P1 = P1 + 1
If (Dm > 0 And Dm <= D1) Then
Ds = P1 + Dm + x - 1
x = 1
Else
Ds = Dm - D1
Ms = Ms + 1
If Ms = 13 Then Ms = 1
x = 2
End If
If ((Mm = 3 And x = 2) Or Mm > 3) Then Ys = Ys + 1
If SmallDate1 = True Then
' اکر سال به صورت چهار کاراکتری میخواهید خط زیر را از حالت کامنت در آورید
' TarikhShamsi = Trim(Str(Ys)) + "/" + Trim(mon(Ms - 1)) + "/" + Trim(Str(Ds))
TarikhShamsi = Mid(Trim(Str(Ys)), 3, 2) + "/" + Trim(mon(Ms - 1)) + "/" + Trim(Str(Ds))
Else
TarikhShamsi = w(Weekday(Date) - 1) + " " + Str(Ds) + " " + mon(Ms - 1) + " " + Str(Ys)
End If
End Function

و بعد از قرار دادن کد بالا مثلا توی ماژول می تونی توی لود فرم این تکه کد رو بنویسی:

Label2.Caption = TarikhShamsi

__siavash__
شنبه 21 مهر 1386, 10:16 صبح
تبدیلات تاریخ

vahidm
یک شنبه 22 مهر 1386, 19:52 عصر
خیلی خیلی متشکرم

لیلا خیرالهی
دوشنبه 23 مهر 1386, 23:24 عصر
با سلام
با تشکرازmf_engineer این تکه برنامه خیلی به دردم خورد بی زحمت اگه زمانش رو هم داری بفرست
ممنون:خجالت:

Dr.Bronx
دوشنبه 23 مهر 1386, 23:45 عصر
دوست عزیز من یه چیزی بهت معرفی می کنم
که انقدر کیف کنی که کف کنی
:-o
طریقه استفاده
البته یه فایل هلپ هم داره
یه ماژول درست می کنی
به هر نامی
بعد کدهایی رو که می خوای از توی فایل هلپ کپی می کنی اون تو
مثلا ماژول تو اسمش tarikh هست
حالا می خوای تویه صفحه اول برنامت نشون بدی
امروز دوشنبه
خوب یه لیبل می زاری
اسمش میشه label1
حالا توی form_load
اینو می نویسی
label1.caption = tarikh.shamsiweekdayname
حالا فرم رو که اجرا کنی
می بینی چی میشه
حالشو ببر
http://www.persianupload.com/uploads/c468ecd947.rar

vbhamed
شنبه 25 اسفند 1386, 12:20 عصر
سلام
اینم اینقدر امکانات داره که مخت سوت می کشه :

Aminch.pc
شنبه 25 اسفند 1386, 22:44 عصر
فکر کنم اینم به دردت بخوره کاری از گروه اُکسین سافت هستش.
یه dll باحال با قابلیت های بیشمار
یه help توپ هم براش زدن که کلی کمک می کنه.

علی خدایاری
سه شنبه 28 اسفند 1386, 22:45 عصر
دوست عزیز من یه چیزی بهت معرفی می کنم
که انقدر کیف کنی که کف کنی
:-o
طریقه استفاده
البته یه فایل هلپ هم داره
یه ماژول درست می کنی
به هر نامی
بعد کدهایی رو که می خوای از توی فایل هلپ کپی می کنی اون تو
مثلا ماژول تو اسمش tarikh هست
حالا می خوای تویه صفحه اول برنامت نشون بدی
امروز دوشنبه
خوب یه لیبل می زاری
اسمش میشه label1
حالا توی form_load
اینو می نویسی
label1.caption = tarikh.shamsiweekdayname
حالا فرم رو که اجرا کنی
می بینی چی میشه
حالشو ببر
http://www.persianupload.com/uploads/c468ecd947.rar

دوست گرامی اگه لطف کنی و یک بار دیگه آپلود کنی ممنون میشم. از این لینک دانلود نمیشه.

vahidm
سه شنبه 28 اسفند 1386, 22:50 عصر
دوستان لطفا یک نگاهی به تاریخ تاپیک بکنید این مشکل خیلی وقته حل شده
تشکر