DatePicker و تقویم – یونیت تاریخ هجری شمسی – دلفی و لازاروس

به نام دانای برحق

مقدمه

یکی از چیز هایی که هر برنامه نویس ایرانی بالاخره با اون بخورد خواهد و کرده قطعاً تقویم هجری شمسی و یا تبدیل تاریخ میلادی به شمسی می باشد و یونیت ها و کد هایی تو این زمینه وجود دارند که گاهی مطمئن و گاه غیر مطمئن هستند. و البته رفیق صمیمی و استاد عزیزم مبین جان پارسی دیت ParsiDate رو حرفی واسه گفتن نذاشتن ولی خوب خالی از لطف نیست منم یکی از کارهای open source خودم رو اینجا قرار بدم دوستان لذت ببرند.

 

یونیت PDate

این یوینت جزو دقیق ترین یونیت های هستش که میتونین پیدا کنید تقریبا از سال 2009-2010 دارم باهاش کار می کنم و ارتقاش میدم و هرگز خطایی درش نبوده تو تبدیل ها خب حالا از امکانات این یونیت براتون بگم:

PDate

The best Delphi & lazarus unit for convert windows standard DateTime to PersianDate & TimeStamp


version 1.4:
added lazarus component

version 1.3.1:
some bug fixed

version 1.3:

added lazarus compatibility
added function GetTheFirstDayOfThisMonth // پیدا کردن روز اول ماه هجری
added function GetTheFirstLastOfThisMonth // پیدا کردن روز آخر ماه هجری
added function GetPersianDayWeek // پیدا کردن روز هفته
fixed bug in PersiantoGer function
version 1.2:

added function DateTimeToUnix // اتبدیل زمان استندارد ویندوز به timestamp یونیکس
added function UnixToDateTime // تبدیل استاندارد ویندوز به یونکس
version 1.1:

added function UIntToDateTime // تبدیل int به زمان
added function GerToWord // تبدیل میلادی به int
added function PersianToInt // تبدیل شمسی به int

version 1:

added function GerToPersian // تبدیل میلادی به شمسی
added function PersiantoGer // تبدیل شمسی به میلادی

این یونیت از دلفی و لازاروس پشتیبانی لازم رو انجام میده.

اما کامپوننت تقویم در دلفی لازاروس

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

تصویری از محیط کامپوننت

screen

آپدیت این و دانلود این یونیت

برای دانلود و آپدیت یونت و کامپوننت موجود به سایت github مراجعه کنید اگر هم دوست دارین از اخبارش با خبر بشین با flow کردن در جریان قرار میگیرن از به روزرسانی های

آدرس Git و github پروژه:

https://github.com/A1Gard/PDate

 

https://github.com/A1Gard/PDate.git

 

تاریخ 19 مرداد 95 کاپوننت لازاروس هم اضافه شد.

💬

شاید امروز جواب خیلی از سؤال‌ها را بتوان از AI گرفت، اما تولید مطالب تخصصی، تجربه‌محور و عمیق هنوز به انگیزه نیاز دارد. این نظرات و بازخوردهای شماست که به ما نشان می‌دهد ادامه دادن این مسیر ارزشمند است.

دیدگاه شما چیست؟

نظرات (10)

شاهین عشایری
27 آذر 1394

با سلام، خیلی سپاسگذارم. ای کاش کامپوننتی هم برای انتخاب تاریخ شمسی در لازاروس در اختیار داشته باشیم. اینطور که مشخصه نمونه ای برای اینکار نیست و از قرار معلوم باید خودم دست به کار بشم! 🙂

Mahdiam
28 آذر 1394

من 90 درصد راه رو پیش رفتم متاسفانه وقت نشده تکمیل کنم اگر خدا مدد بده بنویسم تو این ماه‌آینده.

‌A1Gard
19 مرداد 1395

کاپوننت لازاروس هم اضافه شد.

امیر شهریاری
31 شهریور 1395

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

‌A1Gard
31 شهریور 1395

سلام
میتونی توضیح دقیق تر بدی تا اصلاحش کنم!؟؟

امیر شهریاری
3 مهر 1395

سلام، ممنون بابت پیگیری و پاسخ سریعتون 🙂 – بزار کامل توضیح بدم. بعد از نصب تو تب additional یه کامپوننت به نام TeditExPersianDate اضافه میشه . بعد از اضافه کردن اون به فرم هیچ تغییر خاصی توی properties اون نمیدم و برنامه رو اجرا میکنم. فرم برنامه میاد و اون edit هم نشون داده میشه ولی خبری از تقویم نیست و نمیشه روش کاری انجام داد (بهتر بود یه دکمه کنار Edit قرار می گرفت که با کلیک روی اون تقویم نشون داده میشد درست مثل تقویم میلادی پیشفرض لازاروس) . من یه دکمه رو فرم گذاشتم و یا تو event دابل کلیک کامپوننت این دستور را وارد کردم.
EditExPersianDate1.DatePicker(Now);
حالا بعد از اجرای برنامه و انجام کلیک روی اون کلید فرم تقویم ظاهر میشد و امکان مرور ماه ها و سالها بود ولی فرم تقویم بسته نمیشد و برنامه قفل می شد و دیگه نمیشد بسته بشه مجبور میشدم از حافظه بندازمش بیرون .
ممنون میشم بازم زحمت بکشین و اونو اصلاح کنید.
امیر شهریاری

‌A1Gard
4 مهر 1395

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

امیر شهریاری
6 مهر 1395

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

امیر شهریاری
16 آذر 1395

سلام مهندس
خبری نشد از اصلاح کامپوننت لازاروس؟
ما همچنان مشتاق و منتظریم.
ممنون

‌A1Gard
23 آذر 1395

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


ارسال نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

عضویت در شبکه‌های اجتماعی

جدیدترین مقالات و نکات برنامه‌نویسی را سریع تر از دیگران مطلع شوید.