PDA

View Full Version : تبدیل تاریخ میلادی به شمسی و برعکس ( همه چیز محیا می باشد )



دنی کوئیل
شنبه 17 دی 1384, 12:50 عصر
آقا من از این ور ان ور یه کامپونت گیر آوردم برای تبدیل تاریخ شمسی به میلادی و برعکس
و یک مقاله آموزش اما نتونستم ازش استفاده کنم

به نظر من برنامه نویس های حرفه ای حتما می توانند از این کامپونت استفاده کنند

چون من تو حد و اندازه ای آنها نیستم

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

یک دنیا ممنون

Touska
شنبه 17 دی 1384, 15:17 عصر
دستت درد نکنه آقای شمس

دنی کوئیل
شنبه 17 دی 1384, 16:08 عصر
آقا مصطفی خواهشن بگید چه جوری ازش استفاده کردید

babak869
شنبه 17 دی 1384, 21:28 عصر
آقای شمس؟؟؟؟؟؟؟ یعنی ایشون...!!!!!!! از کجا فهمیدی توسکای عزیز؟

net_ved
شنبه 17 دی 1384, 21:48 عصر
مشکل تاریخ شمسی خیلی وقته که کاملا با بهترین شکل... یعنی با یه unit که تو همین سایت هست...اگه پیداش نکردین به من بگین که اینجا uploadesh konam

Mahdi_S_T
یک شنبه 18 دی 1384, 08:18 صبح
بهترین راه حل تاریخ شمسی ==> فارسی کامپوننت

دنی کوئیل
یک شنبه 18 دی 1384, 09:30 صبح
آقا من از این ور ان ور یه کامپونت گیر آوردم برای تبدیل تاریخ شمسی به میلادی و برعکس
و یک مقاله آموزش اما نتونستم ازش استفاده کنم

به نظر من برنامه نویس های حرفه ای حتما می توانند از این کامپونت استفاده کنند

چون من تو حد و اندازه ای آنها نیستم

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

یک دنیا ممنون

آقا یکی بگه چه جوری من از توابع یونیی که آپلود کردم استفاده کنم ؟

oghab
یک شنبه 18 دی 1384, 10:59 صبح
سلام
اول برنامه ات را توی دلفی باز کن و بعد از منوی Project گزینه Add to Project را انتخاب کن و یونیت UFarsiDate را از جایی که ذخیره کردی انتخاب کن و open بزن.
این یونیت به پروژه ات اضافه میشه.
یه دفعه save As بزن تا این یونیت با پروژه ات save بشه.
بعد توی هر یونیتی که می خواهی از توابع این یونیت استفاده کنی باید در قسمت implementation در قسمت uses این یونیت را اضافه کنی


uses UfarsiDate;

حالا تو اون یونیت می تونی از تئابع آن استفاده کنی. مثلا:


label1.Caption :=TFarDate.farDateToStr(TFarDate.MiladyToShamsi(da te) );

دقت کن قبل استفاده از هر تابعی که توی help ش توضیح داده باید TFarDate را بنویسی!
و برای تبدیل تاریخ بدست آمده از تابع MiladyToShamsi به string از fardatetostr استفاده کنی نه datetostr و گرنه تاریخ بدست آمده اشتباه میشه!
موفق باشی.

دنی کوئیل
یک شنبه 18 دی 1384, 20:26 عصر
سلام
اول برنامه ات را توی دلفی باز کن و بعد از منوی Project گزینه Add to Project را انتخاب کن و یونیت UFarsiDate را از جایی که ذخیره کردی انتخاب کن و open بزن.
این یونیت به پروژه ات اضافه میشه.
یه دفعه save As بزن تا این یونیت با پروژه ات save بشه.
بعد توی هر یونیتی که می خواهی از توابع این یونیت استفاده کنی باید در قسمت implementation در قسمت uses این یونیت را اضافه کنی


uses UfarsiDate;

حالا تو اون یونیت می تونی از تئابع آن استفاده کنی. مثلا:


label1.Caption :=TFarDate.farDateToStr(TFarDate.MiladyToShamsi(da te) );

دقت کن قبل استفاده از هر تابعی که توی help ش توضیح داده باید TFarDate را بنویسی!
و برای تبدیل تاریخ بدست آمده از تابع MiladyToShamsi به string از fardatetostr استفاده کنی نه datetostr و گرنه تاریخ بدست آمده اشتباه میشه!
موفق باشی.

آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین آفرین
:تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق: :تشویق:

Bahmany
یک شنبه 18 دی 1384, 20:51 عصر
با تشکر از انتقال اطلاعات خود به دیگران

Dolphin
یک شنبه 18 دی 1384, 21:34 عصر
تشکر دوست من اقای net_ved اگه ممکنه اون unit را قرار بدید ممنون

دنی کوئیل
یک شنبه 18 دی 1384, 23:01 عصر
شما به اولین تایپیک برو

من فایلی را آپلود کردم برو دانلود کن بعد برو تو مسیر زیر
FarsiDate\Win32

دنی کوئیل
دوشنبه 19 دی 1384, 19:38 عصر
آقا یک مشکل

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

میشه با جمع کردن با یک درست کرد

اما به نظر شما سال های بعد درد سر نشه ؟

oghab
سه شنبه 20 دی 1384, 15:59 عصر
سلام
چند تا تابع برای تبدیل میلادی به شمسی داره. کدوم را استفاده کردی.
من MiladyToShamsi را امتحان کردم مشکلی نداشت.
دقیقا کدی که نوشتی را بنویس.
نکنه از datetostr استفاده کردی؟
تاریخ میلادی که بهش میدی درسته؟
میخای هم از salarSoft که این یونیت را نوشته سوال کن!

parhizkar2000
دوشنبه 03 بهمن 1384, 17:24 عصر
با سلام
من که از این یونیت استفاده کردم یه خطا میده و اونهم بدین صورت که چند تا متغیر که ازشون استفاه میشه تعریف نشده اند.

class function TFarDate.farTryEncodeTime(Hour, Min, Sec, MSec: Word; out Time: TDateTime): Boolean;
begin
Result := False;
if (Hour < HoursPerDay) and (Min < MinsPerHour) and (Sec < SecsPerMin) and (MSec < MSecsPerSec) then
begin
Time := (Hour * (MinsPerHour * SecsPerMin * MSecsPerSec) +
Min * (SecsPerMin * MSecsPerSec) +
Sec * MSecsPerSec +
MSec) / MSecsPerDay;
Result := True;
end;
end;

مثل MinsPerHour , SecsPerMin که توی این تابع اند .چطوری میتونم .این مشکل رو حل کنم .
باتشکر

parhizkar2000
پنج شنبه 06 بهمن 1384, 23:50 عصر
کسی در این مورد نظری نداره

Hamid_PaK
جمعه 07 مهر 1385, 04:09 صبح
در هر حال از نظر من بهترین گزینه برای تبدیل تاریخ شمسی یونیتی هست به نام SolarUtl.pas که آقای کامبیز خجسته نوشته اند و هیچ مشکلی هم نداره .

موفق باشید ، یا حق ...

adelmobasheri
دوشنبه 06 آذر 1385, 22:27 عصر
من هم امتحان کردم یک روز عقب نشون میده

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

dkhatibi
سه شنبه 07 آذر 1385, 03:12 صبح
در هر حال از نظر من بهترین گزینه برای تبدیل تاریخ شمسی یونیتی هست به نام SolarUtl.pas که آقای کامبیز خجسته نوشته اند و هیچ مشکلی هم نداره .

موفق باشید ، یا حق ...
تا اونجا که یادمه برای تاریخهای فعلی مشکلی نداشت. اما وقتی اونو با یک کامپوننت تاریخ خورشیدی ( غیر رایگان) مقایسه کردم دیده شد که برای سالهای 1400 به بعد با کمی مشکل رو به رو می شه(یک روز اختلاف)

SalarSoft
یک شنبه 26 آذر 1385, 15:12 عصر
خوشحال میشدم که این مشکلات رو برام Pm بزنید تا مطلع بشم.


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

حرفه ای
دوشنبه 27 آذر 1385, 08:56 صبح
دمت گرم کد با حالیه
2 تا سوال
1) مطمونید کاملا دقیق عمل می کنه
2) یکی به ما روی تاریخ شمسی به میلادی کمک کنه

Touska
دوشنبه 27 آذر 1385, 09:10 صبح
دمت گرم کد با حالیه
2 تا سوال
1) مطمونید کاملا دقیق عمل می کنه
2) یکی به ما روی تاریخ شمسی به میلادی کمک کنه

هم تابع آقای Salar Soft کامل و بدون مشکل هست و هم Persian.Dll من

موفق باشید :)

SalarSoft
دوشنبه 27 آذر 1385, 22:18 عصر
تا اونجا که یادمه برای تاریخهای فعلی مشکلی نداشت. اما وقتی اونو با یک کامپوننت تاریخ خورشیدی ( غیر رایگان) مقایسه کردم دیده شد که برای سالهای 1400 به بعد با کمی مشکل رو به رو می شه(یک روز اختلاف)
با چندتا دیگه بررسی و مقایسه کردم هیچ مشکلی نداشت!!
احتمالا سایر ابزارها مشکل داشتند