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

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

مقدمه

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

 

یونیت PDate

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

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

 

تاریخ ۱۹ مرداد ۹۵ کاپوننت لازاروس هم اضافه شد.

💬

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

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

نظرات (10)

شاهین عشایری
۲۷ آذر ۱۳۹۴

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

Mahdiam
۲۸ آذر ۱۳۹۴

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

‌A1Gard
۱۹ مرداد ۱۳۹۵

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

امیر شهریاری
۳۱ شهریور ۱۳۹۵

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

‌A1Gard
۳۱ شهریور ۱۳۹۵

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

امیر شهریاری
۳ مهر ۱۳۹۵

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

‌A1Gard
۴ مهر ۱۳۹۵

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

امیر شهریاری
۶ مهر ۱۳۹۵

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

امیر شهریاری
۱۶ آذر ۱۳۹۵

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

‌A1Gard
۲۳ آذر ۱۳۹۵

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


ارسال نظر

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

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

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