# Native Code > برنامه نویسی در Delphi > کامپوننت های سایر شرکت ها، و توسعه کامپوننت >  تقویم شمسی برای دلفی

## ehstrn2010

با سلام  کامپوننت 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

مرصی به shdate هم یه نگاهی بنداز بهترینه

----------


## benyaminrahimi

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

----------


## ehstrn2010

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

----------


## BORHAN TEC

سلام



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


خوب چرا این کار رو نمی کنید؟!!!

----------


## ehstrn2010

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

----------


## ehstrn2010

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

----------


## ehstrn2010

برای کار کردن با توابع تاریخ یه سری توضیحات اضافه کردم.

----------


## Emdad2001

> با سلام  کامپوننت 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  تست شده است. . 
> تاریخ موجود بر روی نام فایل ها نشان دهنده تاریخ ویرایش آن هاست.
> 
> ...


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


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


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

----------


## ehstrn2010

این که شما نوشتین چیه؟

می تونی یکی از حالات زیر رو انتخاب کنید : 
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

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

----------


## ehstrn2010

check box اضافه شد . به علت تغیرات زیاد در بعضی قسمت ها با نام جدید به مجموعه اضافه شد.

----------


## hossoleymani

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

----------


## ehstrn2010

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


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

----------


## ehstrn2010

new properties-...

----------


## ehstrn2010

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

----------


## mortezahbh

این کامپوننت برای دلفی XE5 جواب میده؟

----------


## ehstrn2010

بله -         .

----------


## Emdad2001

متاسفانه 64 بیت رو پشتیبانی نمی کنه !!!

----------


## ehstrn2010

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

----------


## Aftab.R

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

----------


## mogsam80

با سلام و تشکر از لطف شما که بفکر همه هستید. جسارتا برای راست چین کردن تاریخ ما راهی وجود داره و برای فارسی نوشتن اعداد چون نه راست میشن نه فارسی

----------


## ehstrn2010

می توانید فونت مربوطه رو به فونت های فارسی مثل بی نازنین تغییر بدید تا فارسی بشوند( مثلا خصوصیت font_edit رو). اما تغییر خصوصیت bidimode تاثیری در نمایش تاریخ ندارد.

----------


## Emdad2001

سلام، من تصمیم گرفتم از تقویم i18n استفاده کنم همه چی خوبه فقط من نمیدونم چجوری ازش خروجی string بگیرم کسی میدونه چجوری ؟ یه جایی خوندم گفته بودن که این کامپوننت فروشی هستش میگم چون من رایگانش رو دانلود کردم خروجی String نداره ؟!!!!

----------


## laserayaneh

سلام

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

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

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


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


ممنون

----------


## hp1361

> سلام، من تصمیم گرفتم از تقویم i18n استفاده کنم همه چی خوبه فقط من نمیدونم چجوری ازش خروجی string بگیرم کسی میدونه چجوری ؟ یه جایی خوندم گفته بودن که این کامپوننت فروشی هستش میگم چون من رایگانش رو دانلود کردم خروجی String نداره ؟!!!!


سلام

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

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


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


به دوستان هم پیشنهاد میدم بجای اختراع دوباره چرخ از چرخ های موجود استفاده کنند! کامپوننت های مثل i18n ویا ShDate Solution که دومی پولیه اما ارزش خرید داره.

موفق باشیم

----------


## laserayaneh

سلام

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


سپاسگزارم

----------


## hp1361

سلام

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

موفق باشیم

----------


## laserayaneh

سلام

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

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

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

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

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


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

----------


## hp1361

سلام

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

----------


## laserayaneh

سلام

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

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


ممنون

----------


## behnam-k

سلام دوستان

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

----------


## behnam-k

سلام دوستان    لطفا راهنمایی بفرمایید

ممنون

----------


## amirkazem

سلام بایدفایل dcuکه درپوشه solarcalander هستش رادرwin32 برنامه خودت هم کپی کنی.

----------


## ATULICUS

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





> به دوستان هم پیشنهاد میدم بجای اختراع دوباره چرخ از چرخ های موجود استفاده کنند! کامپوننت های مثل i18n ویا ShDate Solution که دومی پولیه اما ارزش خرید داره.



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

----------

