PDA

View Full Version : هرکس تابع در مورد تاریخ فارسی دارد اینجا بگذارد



rezaTavak
چهارشنبه 16 اردیبهشت 1383, 20:34 عصر
سلام

مسلما مشکل همه ما استفاده از توابعی است که تاریخ فارسی را با آن کار کنیم ولی این توابع در هیچ جای دنیا غیر از ایران کاربرد ندارد به همین منظور هیچ سایتی هم این توابع را ندارد من خودم در حال تولید توابع تاریخ فارسی هستم کسی هم اگر چیزی دارد در این بخش قرار دهد.


ممنون از همه شما !

س.حمیدیانفر
چهارشنبه 16 اردیبهشت 1383, 22:37 عصر
سلام
بفرمایید


*------------------
PROCEDURE datem2s
Parameters DateMToS_InputDate
DateMToS_nDay=(Val(Sys(11,DateMToS_InputDate))-431)
DateMToS_Sal=4*Int(DateMToS_nDay/1461)-5333
DateMToS_Mandah=Mod(DateMToS_nDay,1461)
Do Case
Case DateMToS_Mandah=0
DateMToS_Sal=DateMToS_Sal
DateMToS_Roz=366
Case DateMToS_Mandah<=365*1
DateMToS_Sal=DateMToS_Sal+1
DateMToS_Roz=Mod((DateMToS_nDay-(0*365)),1461)
Case DateMToS_Mandah<=365*2
DateMToS_Sal=DateMToS_Sal+2
DateMToS_Roz=Mod((DateMToS_nDay-(1*365)),1461)
Case DateMToS_Mandah<=365*3
DateMToS_Sal=DateMToS_Sal+3
DateMToS_Roz=Mod((DateMToS_nDay-(2*365)),1461)
Case DateMToS_Mandah=<1460
DateMToS_Sal=DateMToS_Sal+4
DateMToS_Roz=Mod((DateMToS_nDay-(3*365)),1461)
EndCase
Do Case
Case DateMToS_Roz<=31*1
DateMToS_cMm='01'
DateMToS_cDd=Str(DateMToS_Roz-31*0,2)
Case DateMToS_Roz<=31*2
DateMToS_cMm='02'
DateMToS_cDd=Str(DateMToS_Roz-31*1,2)
Case DateMToS_Roz<=31*3
DateMToS_cMm='03'
DateMToS_cDd=Str(DateMToS_Roz-31*2,2)
Case DateMToS_Roz<=31*4
DateMToS_cMm='04'
DateMToS_cDd=Str(DateMToS_Roz-31*3,2)
Case DateMToS_Roz<=31*5
DateMToS_cMm='05'
DateMToS_cDd=Str(DateMToS_Roz-31*4,2)
Case DateMToS_Roz<=31*6
DateMToS_cMm='06'
DateMToS_cDd=Str(DateMToS_Roz-31*5,2)
Case DateMToS_Roz<=31*6+30*1
DateMToS_cMm='07'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*0,2)
Case DateMToS_Roz<=31*6+30*2
DateMToS_cMm='08'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*1,2)
Case DateMToS_Roz<=31*6+30*3
DateMToS_cMm='09'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*2,2)
Case DateMToS_Roz<=31*6+30*4
DateMToS_cMm='10'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*3,2)
Case DateMToS_Roz<=31*6+30*5
DateMToS_cMm='11'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*4,2)
Case DateMToS_Roz<=31*6+30*6
DateMToS_cMm='12'
DateMToS_cDd=Str(DateMToS_Roz-31*6-30*5,2)
EndCase
DateMToS_cDd=Righ('00'+Allt(DateMToS_cDd),2)
DateMToS_Sal=Righ('0000'+Allt(Str(DateMToS_Sal)),4 )
Return DateMToS_Sal+'/'+DateMToS_cMm+'/'+DateMToS_cDd

kia1349
پنج شنبه 17 اردیبهشت 1383, 07:22 صبح
ضمن خوش آمد به دوست عزیز و گرامیمان جناب آقای حمیدیان فر(آقا سعید خودمون) و تشکر از کدی که فرستاده
اگر به صفحه اول ""نمونه برنامه های کاربردی"" در همین فروم توجه کنید یکی از بهترین و کاملترین کلاسهائی رو که تاریخ میلادی رو به هجری شمسی تبدیل میکنه و هنر زمان جوانیمونه برای استفاده گذاشته ام
به عقیده من هیچ کم و کسری نداره به نظرم بهتره یه امتحانیش بکنید اگه اشکالاتی داشت همونو اصلاح کنیم
البته همش پیشنهاده

س.حمیدیانفر
پنج شنبه 17 اردیبهشت 1383, 13:44 عصر
سلام
اقا رضا ما مخلصیم
جسارت نباشه درسمونو پس دادیم

ببخشید

kia1349
پنج شنبه 17 اردیبهشت 1383, 15:07 عصر
اختیار دارید آقا سعید
من خیلی خوشحالم از اینکه تا اومدی داری مطالب خوبی پست میکنی
:تشویق:

rezaTavak
پنج شنبه 17 اردیبهشت 1383, 15:17 عصر
ببینید منظور من این بود:

مثلا تفریق یا جمع یک روز با تاریع یا ...

علی اکبر
پنج شنبه 17 اردیبهشت 1383, 21:04 عصر
سلام
آقای حیدرکیا فکرکردم آن بخش راکلا تعطیل کردید وگرنه به مشکلی درآن تابع برخورد کرده بودم که دراین بخش مطرح می کنم درکلاس شما تبدیل تاریخ شمسی به میلادی در سال جاری درست عمل نمی کرد مجبورشدم به صورت زیر تغیرش
بدهم (البته بااجازه شما)نمی دانم درست شده یانه منظورم درسالهای آینده چون به غیراز تقویم امسال تقویم دیگری نداشتم

************************************************** ********************
* Converting SHAMSI date to GREGORIAN date
* Author: Javad Rahmani
* Last Update: 1379/11/01
* PROC ldate
************************************************** ********************
PARAMETER date
PRIVATE date, lyear, lmonth, lday, year, month, day, u, rp, z, x, w, i, ;
s, ls, sd, mn, ym
STORE 0 TO lyear, ym
DIME d(4,12), p(4,12), n(2,12)
STORE 8 TO p(3,7)
STORE 9 TO p(3,12), p(3,4), p(3,5), p(3,6), p(3,8), ;
p(3,9) , p(4,12), p(4,7)
STORE 10 TO p(1,10), p(2,7), p(2,8), p(2,9), p(2,12), p(3,3), ;
p(3,2), p(3,10), p(1,12), p(4,10),p(4,4), p(4,5), p(4,6), p(4,8), p(4,9)
STORE 11 TO p(1,1), p(1,3), p(1,5), p(1,7), p(1,8), p(1,9), p(1,11), ;
p(2,3), p(2,5), p(2,6), p(2,10), p(3,1), p(3,11), p(4,11), p(4,2), p(4,3)
STORE 12 TO p(1,2), p(1,6), p(2,1), p(2,2), p(2,4), p(2,11),p(4,1)
STORE 13 TO p(1,4), p(2,2)
STORE 18 TO d(2,2), d(2,12)
STORE 19 TO d(1,2), d(1,3), d(1,4), d(1,12), d(2,1), d(2,11), d(3,12), d(4,1), d(4,12), d(4,2)
STORE 20 TO d(1,1), d(1,5), d(1,6), d(1,11), d(2,3), d(2,4), d(2,10), ;
d(4,9),d(3,2), d(3,11), d(3,1), d(4,10), d(4,11), d(4,3), d(4,4)
STORE 21 TO d(1,7), d(1,8), d(1,9), d(1,10), d(2,5), d(2,6), ;
d(3,3), d(3,4), d(3,9), d(3,10), ;
d(4,5), d(4,6), d(4,7), d(4,8)
STORE 22 TO d(2,7), d(2,8), d(2,9), d(3,7), d(3,8), ;
d(3,5), d(3,6)
STORE 1 TO n(1,11), n(2,10)
STORE 2 TO n(1,12), n(2,11)
STORE 3 TO n(1,1), n(2,12)
STORE 4 TO n(1,2), n(2,1)
STORE 5 TO n(1,3), n(2,2)
STORE 6 TO n(1,4), n(2,3)
STORE 7 TO n(1,5), n(2,4)
STORE 8 TO n(1,6), n(2,5)
STORE 9 TO n(1,7), n(2,6)
STORE 10 TO n(1,8), n(2,7)
STORE 11 TO n(1,9), n(2,8)
STORE 12 TO n(1,10), n(2,9)

rezaTavak
جمعه 18 اردیبهشت 1383, 15:11 عصر
سلام


ببینید این توابع چطوره؟

kia1349
شنبه 19 اردیبهشت 1383, 07:29 صبح
مشکلش چیه
اگه بفرمائید ممنون میشم چون این تقویم بصورت گسترده توی سازمان ما داره کار میکنه(البته شاید شما درست بفرمائید چون این قسمت از برنامه توسط استاد بنده آقای رحمانی ویرایش شده است)

علی اکبر
شنبه 19 اردیبهشت 1383, 18:35 عصر
سلام
امروز شنبه 19 اردیبهشت 1383 و 8 می می باشد درحالیکه دربرنامه تقویم شما امروز یکشنبه 19 اردیبهشت و9 می درج
شده است .
شما دربرنامه تان تاریخ میلادی به شمسی صحیح تبدیل شده ولی برای بدست آوردن روزهفته تاریخ شمسی رابه میلادی
تبدیل می نمایید (اگردرست فهمیده باشم ) که این عمل درسال 82 درست ولی درسال 83 مشکل دارد.
ضمنا ناگفته نماند آقای حیدرکیا مشکل بزرگی برای بدست آوردن روز هفته داشتم (مثلا 20/8/83 چه روزازهفته است)
که همیشه عدد روزامروزرامی گرفتم (دربرنامه ام )و7 تا 7 تا جمع می کردم تابه روزموردنظرمی رسیدم به هرحال ازشما بسیار ممنونم . وخواهش میکنم به قول یکی ازدوستان درهمان بخش این سنت خوب راادامه دهید شاید ماناشی ها هم
کمی ازمعلومات شما بزرگواران واساتید استفاده کنیم.

kia1349
یک شنبه 20 اردیبهشت 1383, 10:06 صبح
دوست عزیزم جناب علی اکبر
اولا خود من در زمان طراحی این کلاس شاگردی یکی از دوستانم رو بنام آقای رحمانی میکردم و از محضرش استفاده میکردم
در ثانی از دقت نظر جنابعالی تشکر میکنم و عرض کنم که بنده در هر شرایطی کارآموز هستم و هیچ رجحانی نسبت به سایر دوستان ندارم و خیلی وقتها از شما چیزهای خوبی یاد میگیرم
بعد هم یه برنامه بنام تقویم اونجا گذاشته بودم که سعی کرده بودم در اون برنامه تمام استفاده از این تابع برده بشه و حتی همین مسئله را که جنابعالی فرمودید حل بشه
بعد هم من قصد داشتم این کار رو ادامه بدم ولی با محدودیت فضا مواجه شدم چون هر کاربری با هر درجه ای که داشته باشه فقط تا 2mb فضا برای upload کردن در اختیار داره
یه موضوع دیگه اینکه من کلی از این نمونه برنامه ها دارم که یه cd شو برای آقای حمیدیانفر هم فرستادم ولی مشکل دیگه در اینه که وقتی من یه sample رو در اختیار دوستان قرار میدم متاسفانه سیل سوالات به سمت خود من برمیگرده و با مشغله ای که من دارم واقعا قادر نیستم به همه سوالها جواب بدم
شاید خودتان متوجه شده باشید که به هر حال برنامه های sample بی مشکل نیستند و افراد مختلف با اونها مشکلات متفاوتی دارند ولی مهم تر اینه که دوستان سعی کنند خودشون برنامه هارو رفع اشکال کنند تا هم روش های دیباگینگ رو یاد بگیرند و هم با ور رفتن با برنامه ها از الگوریتم داخلشون سر در بیارند
انشاءالله امتحانات این ترم که تموم بشه و من بتونم یه نفسی بکشم سعی میکنم تمام این مثالهارو روی یه cd بزنم و از دوستانی که مایلند آدرس بگیرم و براشون ارسال کنم

rezaTavak
یک شنبه 20 اردیبهشت 1383, 17:23 عصر
سلام


دوست بسیار عزیز آقای حیدری کیا از شما به خاطر زحمتی که در این قسمت میکشید به نوبه خودم تشکر میکنم.


از اینکه منابع برنامه ای خودتون را در اختیار همه قرار میدهید ممنون. راستش من نمونه برنامه های شما را گرفتم و کلی هم استفاده بردم. نمی دونم چطور باید از شما تشکر کنم. شما در افزایش توان برنامه نویسی من که خیلی سهیم بوده اید بقیه هم فکر کنم با نظر من موافق باشند.

من دارم روی یک برنامه که کار با توابع تاریخ است کار میکنم و تا چند وقت دیگه هم برای استفاده همه اینجا میگذارم. این توابع دارای تبدیلات : شمسی؛ میلادی؛ هیریو و قمری است که از زبان بیسیک به فاکس پرو تبدیل میکنم. حدود یک هفته دیگه آماده میشود.


من منتظر بودم لااقل یکی از این تابعی که 3 روز وقت من را میگیرد یک نظر برگردد!

rezaTavak
یک شنبه 20 اردیبهشت 1383, 17:44 عصر
سلام

تابع آقای حمیدیانفر کبیسه را درست حساب نمیکند.


در مورد سوال آقای رفیعی که نوشته روز هفته درست نیست از تابع خود فاکس استفاده کنید از تابع

CDOW

و پارامتر تاریع لاتین استفاده کنید.

kia1349
دوشنبه 21 اردیبهشت 1383, 06:44 صبح
بله همین تابع کار خودشو خوب انجام میده و بهترین مشکل گشا توی زمینه فوق است
در ضمن از آقای توکل عزیز که دارن این تقویم رو طراحی میکنن به نوبه خودم تشکر میکنم مخصوصا قسمت قمریش که کار خیلی سختیه من که خودم چندبار خواستم شروع کنم و حالش پیش نیومد
جناب توکل اگه در مورد تقویم قمری اطلاعاتی خواستید یکی از دوستان دنیای مجازی من که یه عربستانیه و ویژوال فاکس کار میکنه در سایت www.universalthread.com عضوه و اگه خواستید احتمالا میشه ازش اطلاعاتی در این مورد گرفت
اگه خودم هم تونستم از ایشون اطلاعاتی بگیرم حتما کمکت میکنم :تشویق:

kia1349
دوشنبه 21 اردیبهشت 1383, 07:10 صبح
اینم یه سری اطلاعات از همین دوستم
از صفحه 23 تا 28 رو باید مطالعه کنید
http://www.utmag.com/February2003/Page23.asp

reza43131
دوشنبه 21 اردیبهشت 1383, 09:53 صبح
من یک برنامه دارم می نویسم منتها 3 تا مشکل دارم
1- تبدیل تاریخ میلادی به شمسی
2- جمع کردن تاریخ شمسی با یک تعداد روز مثلا 21/3/82+94
3- مقایسه دو تا تاریخ با هم 12/3/82<13/3/82
اگر توابعی در این مورد معرفی کنید ممنون می شم :oops:

binyaz2003
دوشنبه 21 اردیبهشت 1383, 14:21 عصر
یک کم دقت و جستجو در همینجا
زیاده

rezaTavak
دوشنبه 21 اردیبهشت 1383, 16:07 عصر
سلام


من سورس را از بیسیک فقط به فاکس دارم تبدیل میکنم همین!

ممنون از لطف شما.

ALI RAFFIE
سه شنبه 22 اردیبهشت 1383, 10:35 صبح
این توابع شاید به درد علی اکبر بخوره

علی اکبر
سه شنبه 22 اردیبهشت 1383, 19:04 عصر
ممنونم
شاید یکی از فواید این بخش دیدن نتیجه یکسان از توابع مختلف است .
تابع شما با تابع اقای حیدرکیا (استاد) یک نتیجه می دهد ولی با استفاده از روشهای مختلف.
به هرحال ممنونم که شما منظور مرافهمیدید که من یک تاریخ فارسی دارم وبرای استفاده از cdow باید ابتدا به لاتین
تبدیل کنم .
منتظر تبدیل تاریخ قمری اقا رضا هم هستم .

rezaTavak
یک شنبه 27 اردیبهشت 1383, 22:18 عصر
سلام


از تاخیر ببخشید فکر نمیکردم اینقدر کار ببره در هر حال 4 روز دیگه احتمالا کار داره!

rezaTavak
چهارشنبه 30 اردیبهشت 1383, 21:54 عصر
سلام


ببخشید هنوز هم تمام نشده اما بدک نیست بازم روش کار میکنم. خودتون ببینید چند شب و روز روش کار کردم تا به اینجا رسید. مشکل داره ولی حلش میکنم.

علی اکبر
پنج شنبه 31 اردیبهشت 1383, 19:54 عصر
:تشویق:
سلام
ممنون فوق العاده اگه کامل بشه
تاریخ قمری را درست تبدیل نمی کنه ( شمسی به قمری و قمری به شمسی )

rezaTavak
پنج شنبه 31 اردیبهشت 1383, 20:58 عصر
البته پ
می دونم ولی من فقط تبدیل کردم.و البته دستکاری هایی هم کردم مثلا PROCEDUREها رابه FUNXCIONS تبدیل کردم منطق برنامه این است هر تاریخ به روز ژ.لی.سی تبدیل میشود و سپس این روز به هر تاریخ دیگر تبدی میشود بنابراین بلا دیگر برنام ها تفاوت داد و البته قدرات بیشتر/.


سعی می کنم این قسمت را هم درست کنم البته از اصل برنامه درست نیست. من فقط مبدل بودم. احتمالا حرکت ماه باید تصحیح شود.

از تابع سفارش شده آقای عربستانی هم نشد استفاده کنم چون متدهای این دو یکی نیست.

rezaTavak
جمعه 01 خرداد 1383, 17:17 عصر
سلام

یه توضیح کوتاه شاید متوجه شده باشید که این وتابع اول تاریخ را به روز ژولیوسی تبدیل کرده و سپس روز ژولیوسی را تاریخ تبدیل میکند.

rezaTavak
جمعه 01 خرداد 1383, 17:24 عصر
بله تاریخ عربی درست محاسبه نمیشه و وز پس و پیش داره

اما امکانات فوق العاده داره!

دارم روی تاریخ آقای عربستانی که آقای حیدری کیا فرمودند هم کار میکنم.

علی اکبر
شنبه 02 خرداد 1383, 20:21 عصر
موفق باشید

rezaTavak
پنج شنبه 14 خرداد 1383, 17:27 عصر
سلام

تابع آقای عربستانی از ویندوز تاریخ را می خواند و کاربرد نداشت ببخشید.

سورس سی آنرا دارم کار میکنم. البته خیلی طویله و من فعلا وقت ندارم.

reza1357
چهارشنبه 08 مهر 1383, 12:41 عصر
تابعی توی همین فرم هست (بنام تبدیل تاریخ میلادی به تاریخ فارسی)که کار شما را حل خواهد کرد

kia1349
پنج شنبه 09 مهر 1383, 06:48 صبح
در همین فروم یه کلاس گذاشته ایم
برای جمع یک عدد با یک تاریخ و برای پرهیز از هر گونه اشتباه اول تاریخ را به میلادی بدست بیارید و بعد با توابع خود فاکس این عمل رو انجام بدید و بعد تاریخ بدست اومده رو مجددا به شمسی تبدیل کنید
مقایسه تاریخ هم با عملگر = انجام پذیر است

نعیم
سه شنبه 26 آبان 1383, 12:41 عصر
سلام من می خوام در ویزوال فاکس پرو تاریخ شمسی و همچنین تای÷ فارسی داشته باشم میشه راهنمایی کنید

binyaz2003
چهارشنبه 27 آبان 1383, 00:13 صبح
با سلام و خوش آمد گویی به شما
درباره تاریخ فارسی یک کلاس به اسم datebox در همین بخش هست که اگر سرچ کنی پیدا می کنی و برای فارسی یا فونتش رو فونتی مثل badr انتخاب کن یا righttoleft =.t. قراربده

net_ved
جمعه 30 اردیبهشت 1384, 20:12 عصر
شما تو فاکس این مشکلو چطور حل می کنید
http://www.barnamenevis.org/forum/viewtopic.php?p=135782#135782

rezaTavak
شنبه 31 اردیبهشت 1384, 07:49 صبح
سلام

به این سایت نگاه کن:

http://www.projectpluto.com/calendar.htm

و این سایت:

http://www.tondering.dk/claus/calendar.html



اینها سایتهایی هستند که تاریخهای مختلف را بررسی کرده اند و از دید ستاره شناسی. (سایت اول ستاره شناسی است)

خب یک چیز دیگه هم وجود داره. ما در محیطهای برنامه نویسی عادت به کار راحت داریم و انتظار داریم همه چیزها برامون مهیا باشه. اگه توی یه زبون استاندارد مثل پاسکال یا سی بیسیک بگردید (منظورم اینه که امکانات جانبی نداشته باشه) هیچ چیزی در مورد تاریخ نداره. البته هیچی هم که نه ولی اون چیزی که شما بخواهید نداره ممکنه فقط زمان و تاریخ کامپیوتر را به شما برگرداند. این کارها را در نرم افزارها جدید در کتابخانه قرار میدهند. که یکی از اینها می تواند شامل زمان و تاریخ باشد.


تقویم ژولیوسی: همه ما ژولیوس سزار معروف را میشناسم. تا قبل از تقویم گری گوری این تقویم در اروپا رایج بود و مربوط به 45 قبل از میلاد است که تا آن زمان ماهها 10 عدد بودند ژولیوس 2 عدد ماه به آن آضافه کرد و نام یکی از ماهها (ژانویه) را هم به نام اوست. در سال 1582 روز 24 فوریه پاپ گریگوری سالهای کبیسه این تقویم را تصحیح کرد و تقویم فعلی میلادی را جایگزین آن کرد که تا آن روز اختلافاتی هم پیدا کرده بود تصحیح کرد.

انواع مختلفی تقویم در جهان داریم که بر دو اساس شمسی و قمری کار میکنند. که از این قرارند:

1- ژولیوسی
2- گریگوری
3- اسلامی (قمری)
4- جلالی - فارسی (شمسی خودمون)
5- انقلاب فرانسه
6- چینی
7- بهایی
8- عبری
9- سلی
10- مایا

با این توضیحات حالا میریم سر اصل مطلب:

برای کار با تاریخهای فارسی بایستی شما تاریخ را به صورت عددی با آن کار کنید این کار با تبدیل تاریخ به روز معادل ژولیوسی آن معمول است. با این وصف شما قادر خواهید بود با تمام تقویم ها کار کنید! مهم نیست که چه تقویمی است اول باید بتوانید آن را به روز ژولیوسی و سپس دوباره روز ژولیوسی را به آن تقویم ببرید.

خب حالا مثلا اختلاف دو تاریخ: اول هر دو تاریخ را به روز ژولیوسی معادل می برید و سپس این دو را از هم کم میکنید.

جمع عدد با تاریخ: اول تاریخ را به روز ژولیوسی ببرید سپس عدد را با آن جمع و دوباره عدد ژولیوسی را به تاریخ معادل تبدیل کنید.


تاریخ چه روزی از هفته است؟ تبدیل به روز ژولیوسی و بر اساس مبنای شروع هفته (شنبه باشد یا یکشنبه یا ) روز را به 7 تقسیم و با مبنا جمع میکنیم. (به همین سادگی!)




در مورد ساعت هم مثل همین قضیه وجود دارد تبدیل به ثانیه و از ثانیه به ساعت و دقیقه و ثانیه را بایستی بتوانید انجام دهید



خب با این تفاسیر فاکس پرو یک چیزهایی در این مورد دارد.




SYS(11)
SYS(10)



تابع اولی تاریخ را به روز ژولیوسی و تابع دوم عمل عکس! خب ما در مورد تاریخ فارسی هم این توابع را می توانیم خودمان ایجاد کنیم. که من در یکی از فرومهای این قسمت گذاشته ام و تقویم ویژوال آن را که تحت یک کلاس بود به دوستان ارائه نموده ام.




خب حالا میریم سر مشکل شما:

من پاسکال یا دلفی اصلا برنامه ننوشته ام (منظورم برنامه ای طولانی) و با توابع آن آشنایی ندارم فقط پاسکال را در حد فهم و خواندن یک برنامه بلدم. البته فکر نمیکنم هم نیاز زیادی به آن باشد ولی خب اصول آن را فقط بلدم. که با عرض معذرت نمی توانم این سورس را که به سی است برای شما به پاسکال بنویسم:


http://www.projectpluto.com/lunar.zip


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



موفق باشید. :موفق:

net_ved
شنبه 31 اردیبهشت 1384, 16:09 عصر
آقا یه دنیا ممنون...الحق که بخش پر و پخته ای دارین....بچه های بخشتون باید به داشتن همچین اساتیدی افتخار کنند

rezaTavak
شنبه 31 اردیبهشت 1384, 17:50 عصر
اختیار دارید قربان.

rezaTavak
دوشنبه 27 تیر 1384, 08:08 صبح
سلام

این هم درست شده تابع تاریخ اگه مشکلی داشت بگید دوباره تصحیح کنم.

rahro
سه شنبه 28 تیر 1384, 04:26 صبح
متشکرم آقا رضا واقعا لطف کردید عالی بود!

new_day
یک شنبه 02 بهمن 1384, 20:48 عصر
با سلام خیلی ممنون واقعا جالب بود دستتون درد نکنه

مونا هادیان
دوشنبه 03 بهمن 1384, 09:22 صبح
FarDate :کامپوننت رایگان تاریخ فارسی به همراه کلیه توابع مورد لزوم و Source کامل

http://www.barnamenevis.org/forum/showthread.php?t=36466

binyaz2003
دوشنبه 03 بهمن 1384, 12:28 عصر
خانم هادیان این اکتیوایکس و خیلی دیگه از اینها که با بیسیک نوشته شدن در فاکس مشکل دارند و اجرا نمیشوند

آقای توکل در این فایلی گزاشتید برنامه ای به اسم Rightmenu.prg بود که کلاس هایی رو می خواست struct and winstruct فکر کنم من از فایلهای قبلی که داشتم گزاشتم اما در خط
mnuItemInfo = CREATEOBJECT( "MENUITEMINFO" )
حطا میده

rezaTavak
دوشنبه 03 بهمن 1384, 13:28 عصر
سلام

شاید hwnd برنامه را به تابع ارسال نکرده اید.

و اینکه کلاس menuItemInfo در کتابخانه کلاس winstruct است. جستجو کن ببین هست؟

binyaz2003
دوشنبه 03 بهمن 1384, 21:14 عصر
هندل رو که اگر پاس نکنیم خودکار هندل اسکرین رو میزاره
تو هر دو تا کلاس winstruct و struct گشتم نبود

rezaTavak
سه شنبه 04 بهمن 1384, 07:22 صبح
سلام

اینم فایلهای winstruct:

mehran_337
جمعه 31 شهریور 1385, 22:40 عصر
با سلام خدمت همه.
مطمئنا پروژه تقویم شمسی که دوستان زحمت کشیدند و بصورت بسیار کامل ایجاد کردند مشکل خیلی از ما را حل کرد از اونجایی که پروژه بصورت فرم است و باید برای استفاده فرمی شبیه فرم همان با خواص اضافه شده ایجاد کرد من آن را بصورت کلاس درآوردم تا راحت تر استفاده شود در ضمن این کلاس را بصورت گرافیکی در آوردم تا زیبایی خودش را داشته باشد.به هر حال وظیفه خودم دیدم تا اینطوری از ازحمات بقیه بچه ها تشکر کرده باشم .
نظراتتون هم بدین خوشحال می شم

rahro
شنبه 01 مهر 1385, 09:43 صبح
سلام
خیلی زیبا و جالب بود از شما متشکرم
رهرو

mehran_337
یک شنبه 02 مهر 1385, 07:59 صبح
دوستان منو شرمنده می کنید اما یادمون نره اصل کار مربوط میشه به زحمات دوستان قدیمی امثال آقای حیدری کیا من فقط ظاهرشو بهم ریختم و بعضی قسمتهای ریزشو دستکاری کردم.

mpg_of_shb
دوشنبه 22 آبان 1385, 13:55 عصر
سلام

تابع آقای حمیدیانفر کبیسه را درست حساب نمیکند.


در مورد سوال آقای رفیعی که نوشته روز هفته درست نیست از تابع خود فاکس استفاده کنید از تابع

CDOW

و پارامتر تاریع لاتین استفاده کنید.
من تابعش رو دارم کبیسه رو هم حساب میکنه و تا تاریخ درست وارد نکنی خارج نمیشه
هر کی میخواد بگه

mehran_337
دوشنبه 22 آبان 1385, 14:50 عصر
با تشکر از شما .
اینجا رسمه چه کسی بگه چه نگه چیزی که داریم همینجا می زاریم مگر اینکه فضامون پرشده باشه می گیم هر کی میخواد براش میل می کنیم دلیلشم اینه که شاید روزی که کاربری خواهان باشه شما اینجا تشریف نداشته باشید یا اگر ببینه باید پیغام بزاره و شاید طول بکشه منصرف بشه .
اگر لطف کنین و فایلتون و بزارید سایت از شما ممنونه در ضمن میزان دریافتش هم معلوم می شه .

akb_behnam
سه شنبه 01 اسفند 1385, 14:22 عصر
میشه بگید کدم یکی از کد هایی که روی سایت هست کامل تره ؟
لطفا طرز استفادشو هم بگید (برای یه کاربر مبتدی:لبخندساده: )

rezaTavak
سه شنبه 01 اسفند 1385, 20:15 عصر
سلام

بهتره خودتون امتحان کنید.

اما:

تابعی که من نوشتم از تبدیل برنامه سی در سایت projectplatu (یا همچین چیزی) بود.

این تابع را برای جاوا هم تبدیل کردم.

شمسی- قمری- گریگوری- عبری- ژولیوسی را بهم تبدیل میکند. و یکسری توابع دیگر.

با آن یک کلاس برای ویرایش تاریخ هم ساختم و یک تقویم. و همه در این بخش هست.

akb_behnam
چهارشنبه 02 اسفند 1385, 09:44 صبح
میشه لینک کلاستون رو بدید

من هر چی گشتم پیداش نکردم من فقط یه کلاس ساده می خوام که بتونه این تاریخ ها رو به هم تبدیل کنه

ممنون میشم طرز استفادش رو هم برام بگید (تو فاکس تا به حال از کلاس استفاده نکردم !)

frahimi
شنبه 15 اردیبهشت 1386, 13:17 عصر
با سلام
من یک تقویم کاری در فاکس پرو درست کرده ام که برای هر ماه یک table تشکیل داده میخواهم ببینم آیا در گرید میتوان فقط یک یا چند سلول دلخواه را رنگی نمود چون میخواهم روزهای تعطیل را مشخص کنم .


با تشکر فراوان

rezamim
شنبه 15 اردیبهشت 1386, 13:51 عصر
من دو تا نمونه دارم البته با گرید نیست ولی بنظر من که هردو عالیند.
دوست داشتی استفاده کن

mehran_337
شنبه 15 اردیبهشت 1386, 15:28 عصر
با خاصیت "داینامیک بک کالر " کار کن. می تونی هر سلول دلخواه رو رنگی کنی

rahro
یک شنبه 16 اردیبهشت 1386, 06:44 صبح
سلام
کسی از دوستان یک ماشین حساب درشت و بزرگ سراغ نداره !؟:خجالت: :خجالت:

Esy_Programmer
یک شنبه 30 اردیبهشت 1386, 11:23 صبح
اگر درحد ماشین حساب windows هست از این فایل استفاده کنید. درغیر اینصورت ....

kia1349
سه شنبه 01 خرداد 1386, 11:11 صبح
اینم برنامه

rahro
سه شنبه 01 خرداد 1386, 13:23 عصر
اینم برنامه
دستت درد نکنه . خیلی باحالی:تشویق: :تشویق: :تشویق:

ashkan_gorg
دوشنبه 26 شهریور 1386, 11:22 صبح
سلام دوستان من میخوام تقویم هجری قمری بنویسم ولی هرکاری میکنم نمیشه اگه کمک کنید ممنون میشم.

rezaTavak
دوشنبه 26 شهریور 1386, 18:06 عصر
یک پست هست که تقویم دارد. تقویم قمری هم هست اما تقویم قمری زیاد دقیق نیست!

البته آن که من نوشتم بر اساس حرکت ماه است و از لحاظ فنی درست است اما ...

ashkan_gorg
سه شنبه 27 شهریور 1386, 13:31 عصر
اگه میشه تقویم خودتون رو برام بفرستید یا اینکه شما یا دوستان دیگه کمکی کنند ممنون میشم

rezaTavak
چهارشنبه 28 شهریور 1386, 09:22 صبح
http://www.barnamenevis.org/forum/showthread.php?t=7624.html

سعید پیله چیها
جمعه 14 دی 1386, 10:36 صبح
با سلام -
متاسفانه برنامه نوشته شده کار نمیکند
منظور از lt& چیست ؟
plch_fox_eng@yahoo.com

rezaTavak
جمعه 14 دی 1386, 11:50 صبح
در HTMLبرای نمایش علامت کوچکتر از &lt استفاده می شود و برای بزرگتر &gt چون این دو برای تگ استفاده شده اند. این به خاطر html است سعی کنید فایل را دانلود کنید.

mehran_337
چهارشنبه 13 شهریور 1387, 11:08 صبح
اگر از توابع جناب توکل بدون استفاده از set date استفاده کنم این مقدار و بر می گردونه
-614/12/14
البته با دستور set date to short و یا امتحان کردن بقیه درست می شه اما می خوام دلیل و رفع عیب اصلیشو بدونم.

rezaTavak
پنج شنبه 14 شهریور 1387, 10:06 صبح
از کدام تابع؟

mehran_337
شنبه 16 شهریور 1387, 09:46 صبح
مگه شما چند تابع در این زمینه نوشتید؟ همانیکه در مجموعه winstruct شما بود

rezaTavak
شنبه 16 شهریور 1387, 17:57 عصر
خیلی توابع دارد.

اسم تابع چیست؟

mehran_337
یک شنبه 17 شهریور 1387, 10:48 صبح
مثلا تابع

GregorianToPersian(dtoc(DATE()))

در فایل persandate

که البته عرض کردم که با set date حل می شود اما بعضا با پارامترهای متفاوت . می خواهم بدانم پارامتر اصلی set date در استفاده از این توابع چیست

مسئله دوم هم همان بحث کلا تقویم است که یک تقویم کامل صفحه ای بوده که متوجه شدم سال کبیسه را محاسبه نکرده است ...
جناب توکل عزیز ! قولی داده بودید در زمینه مناسبتها .... منتظریم قربان

rezaTavak
یک شنبه 17 شهریور 1387, 11:58 صبح
اول راجع به قول باید عرض کنم من دیگر بدلیل مشغله درسی خیلی خیلی کمتر در خدمت عزیزان هستم.

این تابع در یک فایل است با نام persaindate.prg که دارای توابع زیادی برای کار با تاریخهای مختلف است.
پارامتر ارسالی از نوع رشته است. که برای این منظور باید تاریخ روز جاری را شما به رشته تبدیل کنید.
اما باید تاریخ به فرمت :
yyyy/mm/dd
باشد یعنی سال کامل با قرن آن ذکر شود و ماه و روز هم بعد از آن در غیر این صورت محاسبات اشتباه خواهد بود.


یعنی باید :



set date ymd
set century on


قبل از آن باشد تا () date یک رشته به صورت مثلا 2008/09/07 بر گرداند. یعنی تابع date است که بستگی به دو set فوق دارد.

bijibuji
سه شنبه 01 مرداد 1392, 22:53 عصر
یه تابع به زبان php برای تبدیل تاریخ میلادی به شمسی اینجا هست:
تابع تبدیل تاریخ گریگوری به جلالی (http://fenjoon.net/articles.php?aid=3)

separod
سه شنبه 25 شهریور 1399, 23:06 عصر
یه تابع به زبان php برای تبدیل تاریخ میلادی به شمسی اینجا هست:
تابع تبدیل تاریخ گریگوری به جلالی (http://fenjoon.net/articles.php?aid=3)

سلام
این لینک مشکل داره