PDA

View Full Version : سورس برنامه تبدیل تاریخ به همراه راهنمایی کامل



linux
سه شنبه 29 مهر 1382, 11:51 صبح
سلام
اول از همه از دوست عزیز vbstar دلجویی می کنم گویا از جواب من نارحت شدن، من هیچ منظور خاصی نداشتم و فقط و فقط منظورم این بود که دقت بیشتر کنن .
دوستان با سورسی که من فرستادم گویا مشکل داشتند. نحوه محاسبات و نحوه استفاده از سورس را توضیح میدم.
اول از همه سورس مال من نیست و من تو اینترنت پیدا کردم .
برای برنامه نویسش نامه فرستادم و آخرین نسخه سورس و نحوه رجیستر کردن و ... ازش پرسیدم .
این جوابش بود.


Hello,Attached you will find the file(s) that you have requested. Using the functions is your own program is permitted. In fact, this is the only reason the CalMath website exists for.You have NOT asked to be registered as CalMath User. As a result, you will NOT receive any notifications of new releases.My appologies for the delay.Best regards,Kees Couprie

شما هم میتونید از تو اینترنت سایتشو پیدا کنید. و اطلاعات بیشتر را ببینید.
این سورس تاریخ های میلادی(جولیان و سویل) و شمسی و قمری و عبری(یهودی) و هندی را به هم تبدیل میکند.
نحوه کارش هم به این صورت هست که یک روز را مبدا میگیرد. تمام تقویم ها را به این روز بر میگرداند که به آن jdn میگوید سپس این jdn را به تقویم جدید تبدل میکند
پس برای هر تقویم 2 تابع اصلی دارد تبدیل به jdn و تبدیل از jdn


'As one of the few calendars designed in the era of accurate
'positional astronomy, the Persian calendar uses a very complex leap
'year structure which makes it the most accurate solar calendar in use
'today.

این هم تعریف برنامه نویس از تقویم شمسی که اونو بهترین تقویم شمسی میدونه.
برای اینکه بتونید از این سورس ها استفاده کند
همه این 16 فایل بیسیک یا هم ماژول ها را باید به پروژه اضافه کنید. یا میتونید فقط توابعی که مربوط به
تقویم های شمسی و میلادی هست را جدا کنید و تو یه فایل ماژول جدید استفاده کنید
که پیشنهاد نمیکنم

بعد که این فایل ها را به پروژه اضافه کردید یه سری تغییرات بدید مثلا نام روزها و ماهها را فارسی کنید
یه تابعی هست که سال کبیسه حساب میکنه و توی ماژول به حالت private تعریف شده شما یه تابع دیگر
به این طرز درست کنید داخل ماژول m_persian.bas


Function IsLeap(iYear As Long) As Boolean
IsLeap = leap_persian(iYear)
End Function

خوب بعد میتونید از تمام توابع استفاده کنید.
اون روشی که من استفاده کردم توی فایل persiandate.cls
هست و میتونی ببینی.
و اگر سوال بیشتری داستی خوشحال میشم کمکت کنم
برای این زیاد مشکل نداشته باشی یه پروژه ایجاد کردم و توابع را توش قرار دادم اون upload میکنم
و برای اطلاعات بیشتر راجب سورس برنامه تبدیل تاریخ میتونی این سایت را ببینی


http://calmath.couprie.org/

الهام تفریشی
سه شنبه 29 مهر 1382, 12:01 عصر
مرسی linux جان
خیلی عالی بود
فقط شما مطمئنی که سال کبیسه رو حساب میکنه ؟

linux
سه شنبه 29 مهر 1382, 15:32 عصر
تمام قوانین برای محاسبات تقویم های شمسی و قمری و میلای در نظر گرفته می‌شود و محاسبات انجام می‌گیرد.
برای پی بردن به اینکه یک سال کبیسه هست یا نا از تابع ispearsainleapyear() استفاده کنید

الهام تفریشی
سه شنبه 29 مهر 1382, 15:44 عصر
بازم ممنون از لطفتون

sh
سه شنبه 29 مهر 1382, 16:32 عصر
سلام دوستان عزیز

مدتی هست همه دست به گریبان تبدیل تاریخها بودیم

من این سورس کامل و کارا که احتیاج به هیچ رجیستری نداره و همون توابعی هست که در dll این دوستمان به کار رفته و بهترین و بیشترین دقت را در تبدیل با در نظر گرفتن سالهای کبیسه دارد رو اینجا می گذارم

با تشکر

و امید به اینکه همیشه همه به هم کمک کنیم ( نه تا نیمه راه ! )

شهریار

ara_prg
چهارشنبه 04 شهریور 1383, 09:09 صبح
آقا شهریار ممنون :D

nojan98
یک شنبه 05 مهر 1383, 12:44 عصر
آقا دستتون درد نکنه

new_boys333
سه شنبه 02 فروردین 1384, 04:18 صبح
ای وا جالب و مفید بود :sunglass:

Amir Ali
جمعه 02 اردیبهشت 1384, 11:28 صبح
ممنون :flower: