ورود

View Full Version : تقویم شمسی برای دلفی



ehstrn2010
دوشنبه 20 شهریور 1391, 20:05 عصر
با سلام

کامپوننت my solar date (تقویم شمسی) با قابلیت اتصال به پایگاه داده (با سورس کامل) در لینک زیر موجود می باشد:

http://www.mediafire.com/?26ofpzmhpymvr

تصویری از محیط کامپوننت تقویم هجری شمسی:
http://www.mediafire.com/view/cbo9gci0el8zyhk/pic3.png




خصوصیات و قابلیت های تقویم:

· ثبت مقدار تاریخ به صورت مقدار عددی (این عدد همان مقدار TDATETIME دلفی برای تاریخ معادل میلادی می باشد، که نوع فیلد مربوطه می بایست double باشد)

· امکان اختیاری ثبت تاریخ به صورت متنی در 4 فیلد متنی دیگر تا در صورت نیاز در گزارشات از آن ها استفاده شود.

· امکان تعیین رنگ و نوع گرادیانت سطر روزهای هفته ی تقویم و رنگ خانه ی انتخاب شده.+header , Footer ,.....


· همچنین edit box تقویم داری maskinput بوده به این معنی که امکان وارد کردن تاریخ اشتباه وجود ندارد و همچنین با دکمه های arrow key یا با کلیک محل انتخاب (روز، ماه ، سال) عوض می شود.

· تاریخ شمسی بر اساس تقویم رسمی ایران تهیه گردیده (در این تقویم سال های کبیسه داری نظم خاصی نیستند) . (تا سال 1480)

· بعلاوه تصاویر متنوعی برای دکمه تقویم قابل انتخاب بوده + اندازه فونت به دلخواه متغیر بوده + فونت متن B zar و نمایش کلیه اعداد فارسی می باشد.

· با کلیک بر روی label امروز:...... به تاریخ امروز خواهید رفت.

· +رویداد Ondatechage + مخفی کردن دکمه (تبدیل به ورودی تکست)
+محاسبه و نمایش اوقات شرعی .

· کلیه ی فونت های استفاده شده در تقویم به صورت مجزا قابل تغییر می باشند همچنین سایز اکثر بخش ها نیز قابل تعیین می باشد ( با تعیین دو خصوصیت calendercells_height , calendercells_width) .
داشتن CheckBox برای خالی کردن فیلد و غیر فعال کردن کامپوننت.


کاموپوننت فوق در محیط Delphi XE ، Delphi 2010 ، Delphi XE3، Delphi XE4 ،Delphi XE2 تست شده است. .
تاریخ موجود بر روی نام فایل ها نشان دهنده تاریخ ویرایش آن هاست.

105094
Ehstrn2010@gmail.com

benyaminrahimi
سه شنبه 21 شهریور 1391, 13:05 عصر
مرصی به shdate هم یه نگاهی بنداز بهترینه

benyaminrahimi
سه شنبه 28 شهریور 1391, 12:51 عصر
کار شما واقعا ارزش منده ... ولی UI جالبی نداره دوسته من مثلن اون دکمه ای که فلش داره و کنار edit شماست shdate کاملا از date picker دلفی ارث بری شده هم تاریخ میلادی رو داری و هم شمسی داخل گرید هم کال میشه در هرصورت موفق باشید
http://www.farsicomponents.com

ehstrn2010
سه شنبه 28 شهریور 1391, 21:22 عصر
ممنون!!! لاکن! اون دکمه که فلش داره ، فلشش عکس و قابل تغییر / قابل مخفی شدن و کال شدن هم هست+ رویداد Onclick هم داره. اگه کسی استقبال می کرد help واسش می ساختم یا توضیحات . کلیه توابع مورد نیاز برای کار با تاریخ هم داخلش موجود+ به خاطر اینکه unit ها مجزا هستش واسه آموزش هم ارزش داره برای مثال کلاس editdate فقط یه edite که ورودیش باید فرمت تاریخ باشه. فقط این مجانیه!!! + گرادیانت رنگ برای صفحه و header , footer به دو روش قابل انتخاب است، عکسای بالا قدیمی هستند همچنین خصوصیات فونت editdate هم قابل تعیین . با کیبورد هم کاملا سازگاره ، به این معنی اگر ماوس هم نبود، نبود!
ممنون از نظر شما.

BORHAN TEC
چهارشنبه 29 شهریور 1391, 17:57 عصر
سلام

اگه کسی استقبال می کرد help واسش می ساختم یا توضیحات .
خوب چرا این کار رو نمی کنید؟!!!

ehstrn2010
پنج شنبه 30 شهریور 1391, 12:21 عصر
فعلا قصد تکمیل کردن کامپوننت رو دارم ممکنه اسم بعضی از خصوصیاتش عوض بشه ....(در هر صورت از نظر ساختار ذخیره هیچ تغییری نخواهد کرد به این معنی که تمامی نسخه های آتی در برنامه های گذشته قابل استفاده بوده اما ممکن است با تغییر ورژن نمای کامپوننت به حالت پیش فرض برود)

ehstrn2010
شنبه 15 مهر 1391, 23:32 عصر
سلام تو آخرین نسخه تقویم شمسی اسم کلاس کامپوننت رو تغییر دادم اگر تو برنامه ای قبلا استفاده کرده اید باید تو فایل dfm , unit مربوطه اسمم های قبلی رو تغغیر بدهید
فعلا قصد تغییری ندارم اگر به باگی برخوردید لطفا همینجا اطلاع دهید در اسرع وقت رفع می کنم.ممنون.
ا

ehstrn2010
چهارشنبه 03 آبان 1391, 10:29 صبح
برای کار کردن با توابع تاریخ یه سری توضیحات اضافه کردم.

Emdad2001
جمعه 01 دی 1391, 15:12 عصر
با سلام

کامپوننت my solar date (تقویم شمسی) با قابلیت اتصال به پایگاه داده (با سورس کامل) در لینک زیر موجود می باشد:

http://www.mediafire.com/?26ofpzmhpymvr

تصویری از محیط کامپوننت تقویم هجری شمسی:
http://www.mediafire.com/view/?6ilsw67izq0n3sp


http://www.mediafire.com/view/?25i4jqwqw1kmqa6

خصوصیات و قابلیت های تقویم:

· ثبت مقدار تاریخ به صورت مقدار عددی (این عدد همان مقدار TDATETIME دلفی برای تاریخ معادل میلادی می باشد، که نوع فیلد مربوطه می بایست double باشد)

· امکان اختیاری ثبت تاریخ به صورت متنی در 4 فیلد متنی دیگر تا در صورت نیاز در گزارشات از آن ها استفاده شود.

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

· همچنین edit box تقویم داری maskinput بوده به این معنی که امکان وارد کردن تاریخ اشتباه وجود ندارد و همچنین با دکمه های arrow key یا با کلیک محل انتخاب (روز، ماه ، سال) عوض می شود.

· تاریخ شمسی بر اساس تقویم رسمی ایران تهیه گردیده (در این تقویم سال های کبیسه داری نظم خاصی نیستند) . (تا سال 1480)

· بعلاوه تصاویر متنوعی برای دکمه تقویم قابل انتخاب بوده + اندازه فونت به دلخواه متغیر بوده + فونت متن B zar و نمایش کلیه اعداد فارسی می باشد.

· با کلیک بر روی label امروز:...... به تاریخ امروز خواهید رفت.

· +رویداد Ondatechage + مخفی کردن دکمه (تبدیل به ورودی تکست)
+محاسبه و نمایش اوقات شرعی .

· کلیه ی فونت های استفاده شده در تقویم به صورت مجزا قابل تغییر می باشند همچنین سایز اکثر بخش ها نیز قابل تعیین می باشد ( با تععین دو خصوصیت calendercells_height , calendercells_width) .


کاموپوننت فوق در محیط Delphi XE و Delphi 2010 تست شده است. .
تاریخ موجود بر روی نام فایل ها نشان دهنده تاریخ ویرایش آن هاست.



Ehstrn2010@gmail.com

سلام دوست عزیز من از این فایل استفاده کردم اما نمیدونم چرا خروجی تکست نمیده ؟!! مثال:


ShowMessage(Date1.Text);
یا
ShowMessage(DateToStr(Date1));


این کد خطا میده ؟ !! چرا ؟

ehstrn2010
جمعه 01 دی 1391, 22:16 عصر
این که شما نوشتین چیه؟

می تونی یکی از حالات زیر رو انتخاب کنید :
label1.Caption := MYsolardatepicker1.edit_date.text

label1.Caption := MYsolardatepicker1.date_miladi

label3.Caption := MYsolardatepicker1.date_shamsi

label4.Caption :=inttostr(MYsolardatepicker1.day )+'/'
+ inttostr(MYsolardatepicker1.month )+'/'+inttostr(MYsolardatepicker1.year ) ;

..............................

ehstrn2010
یک شنبه 01 اردیبهشت 1392, 22:58 عصر
more stable..من خودم از این در تعداد زیادی برنامه جدی استفاده کردم و مشکلی پیش نیامده. اگر به ایرادی بر خوردید لطفاً به بنده هم اطلاع دهید . در آینده قصد اضافه کردن چک باکس برای Null کردن فیلد مربوطه را دارم.

ehstrn2010
پنج شنبه 12 اردیبهشت 1392, 08:53 صبح
check box اضافه شد . به علت تغیرات زیاد در بعضی قسمت ها با نام جدید به مجموعه اضافه شد.

hossoleymani
جمعه 13 اردیبهشت 1392, 12:27 عصر
با سلام و عرض تشکر برای این کامپوننت خول من این کامپوننت رو روی xe3 نصب کردم و تست کردم وقتی که tmysolardatepicker را روی فرم قرار می دهیم و می خواهیم با تایپ کردن تاریخی را انتخاب کنیم و طبق عادت کار با سایر نرم افزارها در انتخاب ماه مثلا ماه 4 را انتخاب کنیم و عدد 04 را وارد کنیم به محض ورود عدد 0 با خطای access violation مواجه می شویم

ehstrn2010
جمعه 13 اردیبهشت 1392, 18:05 عصر
با سلام و عرض تشکر برای این کامپوننت خول من این کامپوننت رو روی xe3 نصب کردم و تست کردم وقتی که tmysolardatepicker را روی فرم قرار می دهیم و می خواهیم با تایپ کردن تاریخی را انتخاب کنیم و طبق عادت کار با سایر نرم افزارها در انتخاب ماه مثلا ماه 4 را انتخاب کنیم و عدد 04 را وارد کنیم به محض ورود عدد 0 با خطای access violation مواجه می شویم

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

ehstrn2010
جمعه 10 خرداد 1392, 14:12 عصر
new properties-...

ehstrn2010
چهارشنبه 12 تیر 1392, 21:54 عصر
دو خصوصیت UpdateNullOrZeroToNOW و quickUpdate به TDBMYsolardatepickerV2_ اضافه شد. اولی که معلومه چیه . دومی با تغیر تاریخ بلافاصله فیلدو آپدیت می کنه. استفاده برای مثال زمانی که کامپوننت خودش مخفیه شما می تونید با کد روی دکمه اون کلیک کنید تا صفحه انتخاب تاریخ باز شود (مثلا تو Ehlib کد زیر رو تو OnEditBtnClick گرید بنویسید: TDBMYsolardatepickerV2_1.btncalender.click .....)

mortezahbh
شنبه 05 بهمن 1392, 16:17 عصر
این کامپوننت برای دلفی XE5 جواب میده؟

ehstrn2010
دوشنبه 07 بهمن 1392, 22:34 عصر
بله - .

Emdad2001
چهارشنبه 23 بهمن 1392, 16:45 عصر
متاسفانه 64 بیت رو پشتیبانی نمی کنه !!!

ehstrn2010
پنج شنبه 24 بهمن 1392, 13:50 عصر
فرقی نداره! از قابلیت خاصی استفاده نشده که تو 64 بیت کار نکنه شما باید آدرس سورس رو به Lib64 هم اضافه کنی یعنی برو به
tools /option /delphi option /librery /-----select platform ro bezar win 64
به library path آدرس سورس رو اضافه کن.

Aftab.R
سه شنبه 29 بهمن 1392, 08:35 صبح
اگر واقعا همه این قابلیت ها رو داشته باشه عالیه.
من دانلودش می کنم.
چیزی که برای من خیلی مهمه اینه که بدون استفاده از ماوس بشه به عنوان یک سلول در گرید از این استفاده کرد. به علاوه این که خصوصیت آخری که فرمودید، میشه با کد دراپ داون کرد اونو، برای من ارزشمنده.
دانلود می کنم ببینم چی میشه. تشکر
=================
تو دمویی که گذاشتید، یکی از کامبوها اوقات شرعی رو هم نشون می دن. ولی من خصوصیتش رو پیدا نکردم تو کامپوننت تون!
=================
تو Help دیدمش. جالب بود واسم. متشکرم
=================
کامپوننت ساعت رو نتونستم نصب کنم:
Program or unit '.Myclock' recursively uses itself
=================
با Install Component نصبش کردم. مرسی. منتها یا خیلی سنگینه، یا نمی دونم یه ایراد دیگه داره، خوب رندر نمیشه. گرافیک صفحه رو بهم می ریزه. با یونیت خاصی تداخل نداره؟

mogsam80
شنبه 24 اسفند 1392, 02:47 صبح
با سلام و تشکر از لطف شما که بفکر همه هستید. جسارتا برای راست چین کردن تاریخ ما راهی وجود داره و برای فارسی نوشتن اعداد چون نه راست میشن نه فارسی

ehstrn2010
شنبه 24 اسفند 1392, 21:06 عصر
می توانید فونت مربوطه رو به فونت های فارسی مثل بی نازنین تغییر بدید تا فارسی بشوند( مثلا خصوصیت font_edit رو). اما تغییر خصوصیت bidimode تاثیری در نمایش تاریخ ندارد.

Emdad2001
جمعه 26 اردیبهشت 1393, 18:50 عصر
سلام، من تصمیم گرفتم از تقویم i18n استفاده کنم همه چی خوبه فقط من نمیدونم چجوری ازش خروجی string بگیرم کسی میدونه چجوری ؟ یه جایی خوندم گفته بودن که این کامپوننت فروشی هستش میگم چون من رایگانش رو دانلود کردم خروجی String نداره ؟!!!!

laserayaneh
سه شنبه 27 مرداد 1394, 17:59 عصر
سلام

دوستان من از نسخه Solar Calendar Package v2.26.11 در دلفی هفت استفاده میکنم.

اما وقتی برنامه در حال اجرا است و تاریخ کامپیوتر را جلو یا عقب میبرم (مثل اینکه ساعت 12 شب را گذشت و روز عوض شد) تاریخ کامپوننت عوض نمیشه !

چکار باید بکنم ؟؟


از دوستانی که راهنمایی میکنند سپاسگزارم.


ممنون

hp1361
چهارشنبه 28 مرداد 1394, 11:17 صبح
سلام، من تصمیم گرفتم از تقویم i18n استفاده کنم همه چی خوبه فقط من نمیدونم چجوری ازش خروجی string بگیرم کسی میدونه چجوری ؟ یه جایی خوندم گفته بودن که این کامپوننت فروشی هستش میگم چون من رایگانش رو دانلود کردم خروجی String نداره ؟!!!!

سلام

این کامپوننت کلا رایگانه!

به روش زیر میتونید خروجی رشته بگیرید


IntlDatePicker1.Calendar.Format('yyyy/mm/dd', IntlDatePicker1.Date)


به دوستان هم پیشنهاد میدم بجای اختراع دوباره چرخ از چرخ های موجود استفاده کنند! کامپوننت های مثل i18n (http://www.delphiarea.com/products/delphi-packages/i18n/)ویا ShDate Solution (http://www.farsicomponents.com/) که دومی پولیه اما ارزش خرید داره.

موفق باشیم

laserayaneh
پنج شنبه 29 مرداد 1394, 10:15 صبح
سلام

دوستان محترم چاره اینکه موقع تغییر روز تاریخ فارسی عوض نمیشه و باید برنامه را ببندیم و دوباره اجرا کنیم چی است ؟


سپاسگزارم

hp1361
پنج شنبه 29 مرداد 1394, 10:45 صبح
سلام

میتونید در تابع OnShow فرم مذکور دستور انتصاب تاریخ امروز به کامپوننت مذکور رو بنویسید

موفق باشیم

laserayaneh
پنج شنبه 29 مرداد 1394, 12:56 عصر
سلام

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

یعنی مثلا یک نفر تماس میگیرد و نام کاربری و رمز خود را وارد میکند و برنامه چند سوال از ایشان میپرسد و ایشان جواب میدهد و جواب نمیدهد.
بعد در آخر تماس گیرنده هم میتواند پیغامی هم برای مدیریت برنامه ضبط کند.
حالا مثلا اگر امروز مثلا 29 مرداد تماس بگیرد مثلا 3 سوال از ایشان میشود و باید جواب دهد یا جواب ندهد.

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

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

البته من از تابع تایمر استفاده کرده ام که فعلا نتیجه ای نداشته است !


ممنون از راهنمایی های شما دوستان

hp1361
پنج شنبه 29 مرداد 1394, 22:41 عصر
سلام

زمانیکه که قراره سوالات پرسیده بشه بالاخره شما سوالات مربوط به یک روز رو از بانک واکشی میکنید! خوب قبلش به متغیر تاریخ مقدار روز جاری رو اختصاص بدید!

laserayaneh
شنبه 31 مرداد 1394, 19:55 عصر
سلام

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

موقعی که تاریخ سیستم را جلو میبرم یا ساعت خودش جلو میرود و روز عوض میشود باید تاریخ نمایش داده شده هم تغییر کند، درسته ؟


ممنون

behnam-k
شنبه 18 اردیبهشت 1395, 00:38 صبح
سلام دوستان

من Solar_Calendar_Package_v3.4.12 رو روی xe3 نصب میکنم ولی وقتی توی فرم قرارش میدم این ارور رو میده . و در قسمت uses از SolarCalendarPackage ایراد میگیره .ممنون میشم راهنمایی کنید .

behnam-k
یک شنبه 19 اردیبهشت 1395, 00:17 صبح
سلام دوستان لطفا راهنمایی بفرمایید

ممنون

amirkazem
پنج شنبه 10 تیر 1395, 00:16 صبح
سلام بایدفایل dcuکه درپوشه solarcalander هستش رادرwin32 برنامه خودت هم کپی کنی.

ATULICUS
چهارشنبه 26 آبان 1395, 10:40 صبح
اولا اینکه این تاپیک مربوط به معرفی کامپوننت خوب یه دوست عزیز بود ، سوالات کامپوننت های دیگه رو ببرید تو تاپیک خودشون .



به دوستان هم پیشنهاد میدم بجای اختراع دوباره چرخ از چرخ های موجود استفاده کنند! کامپوننت های مثل i18n (http://www.delphiarea.com/products/delphi-packages/i18n/)ویا ShDate Solution (http://www.farsicomponents.com/) که دومی پولیه اما ارزش خرید داره.


دوما ، یکی اومده و وقت گذاشته و یه کامپوننت قشنگ و مفید با کارایی بالا درست کرده . حالا ایرادی داره به جای 2 تا چرخ ما 3 تا چرخ داشته باشیم و دستمون تو انتخاب باز باشه ؟