PDA

View Full Version : کامپوننت تقویم فارسی PersiaMonthCalendar مشابه MonthCalendar برای روزهای شمسی



saeed1386
چهارشنبه 27 مرداد 1389, 14:30 عصر
ارائه کامپوننت های رایگان برای زبان فارسی
تقویم ماهیانه ( MonthCalendar ) که در ویژوال استودیو استفاده می شود، فقط دارای نوع تاریخ میلادی است. برنامه نویسانی که می خواهند از تاریخ شمسی استفاده کنند، یعنی به جای تاریخ میلادی از تاریخ شمسی در MonthCalendar استفاده کنند، احتیاج به یک کامپوننت جدید دارند که باید یا خودشان آن را بسازند یا از کامپوننت های ساخته شده توسط دیگران استفاده کنند.
در صورتی که هر برنامه نویس بخواهد برای خود یک MonthCalendar با تاریخ شمسی بسازد، وقت زیادی صرف ساخت و تست و ارتقاء آن کامپوننت خواهد شد. پس بهترین راه استفاده از کامپوننت های ساخته شده است.
من سال 89 اقدام به ساخت کامپوننتی برای برنامه ام کردم و پس از مدتی تصمیم گرفتم آن را به اشتراک بگذارم و در همین تاپیک لینک دانلود آنرا قرار دادم. از اون موقع مدت ها گذشته و طی این مدت چندین بار این کامپوننت تغییر کرده است که هر بار از طریق وبلاگم ( http://BehSoft.blogfa.com ) به اطلاع دوستان رساندم.
ابتدا فقط MonthCalendar را ساختم ولی بعد آیتم های دیگری مثل DateTimePicker و DataGridView با ستون های انتخاب تاریخ و ساختار PersianDateTime برای نگهداری تاریخ شمسی و ... به کامپوننت اضافه کردم که همه آنها برای راحتی کار با تاریخ های شمسی است.
واما بعد...
من می خوام روند توسعه و ساخت این کامپوننت ها را اینجا قرار بدم تا هر کس از هر کدام مایل بود استفاده کنه. برای اطلاع بیشتر در مورد کامپوننت ها و نحوه استفاده از آنها به وبلاگم برید و در سمت راست که موضوعات را قرار دادم میتونید ورژن های کامپوننت ها و نحوه استفاده از آنها را پیدا کنید.


http://behsoft.blogfa.com


سعی کنید از آخرین نسخه تولید شده استفاده کنید.


-------------------------------------------------------------------



PersiaCalendar نسخه 1 :
مورد استفاده :
در Visual Studio.NET و برای WindowsFormApplication و .NET3.5 و CPU x86
آیتم ها :
PersiaMonthCalendar :
http://up.iranblog.com/Files/6adb7101b59c4a29b3f4.png
لینک دانلود :
http://behsoft.blogfa.com/post-4.aspx
------------------------------------------------------------------------------------


PersiaCalendar نسخه 2 :
مورد استفاده :
در Visual Studio.NET و برای WindowsFormApplication و .NET3.5 و CPU x86
آیتم ها :
PersiaMonthCalendar :
http://up.iranblog.com/Files2/0147d189679148aeb891.png
DatePicker :
http://ups.night-skin.com/images/3cmcls3zdemvfrsnpmso.png
لینک دانلود :
http://behsoft.blogfa.com/post-10.aspx
------------------------------------------------------------------------------------


PersiaCalendar نسخه 1 :
مورد استفاده :
در Visual Studio.NET و برای WPF Applications و .NET3.5 و CPU x86
آیتم ها :
PersiaMonthCalendar :
http://ups.night-skin.com/images/iixep99a60gfbtw3r2.png
لینک دانلود :
http://behsoft.blogfa.com/post-8.aspx
------------------------------------------------------------------------------------


BehComponents نسخه 1 :
مورد استفاده :
در Visual Studio.NET و برای WindowsFormApplication و .NET3.5 و .NET4 و CPU x86 , x64
آیتم ها :
MonthCalendarX :
http://ups.night-skin.com/images/htjqb42jhx1h0dqdjxqr.png http://ups.night-skin.com/images/ej76xhxyseevckublqgw.png
DateTimePickerX :
http://ups.night-skin.com/images/cxdselzb7uqudsfeol8t.png http://ups.night-skin.com/images/mzs9xbr81bag044hx2.png
DataGridViewX :
http://ups.night-skin.com/images/mav6ovmqkyph9tpywfd3.png http://ups.night-skin.com/images/1ksuoydchx1z1nykprh.png
ساختار PersianDateTime :
http://ups.night-skin.com/images/757muo9u01aawkgqmmt.png
لینک دانلود :
http://behsoft.blogfa.com/post-11.aspx
------------------------------------------------------------------------------------


BehComponents نسخه 2 :
مورد استفاده :
در Visual Studio.NET و برای WindowsFormApplication و .NET2 و .NET4 و CPU x86 , x64
آیتم ها :
MonthCalendarX :
http://ups.night-skin.com/images/dkv7oito5mgykqbj39.png http://ups.night-skin.com/images/yp1k31q4oexo3qisfiue.png
DateTimePickerX :
http://ups.night-skin.com/images/gj4gdwpub5nid3tqr23v.pnghttp://ups.night-skin.com/images/lf286o1kolijqmkant.png
DataGridViewX :
http://ups.night-skin.com/images/g15y2ll9m7xbq5oydep0.png http://ups.night-skin.com/images/202ojp4st7tmhaul2hg.png
PersianDateTime :
http://ups.night-skin.com/images/757muo9u01aawkgqmmt.png
ButtonX :
http://ups.night-skin.com/images/6622e804tohqy82qeyec.png
MessageBoxFarsi :
http://ups.night-skin.com/images/h28o5o26cuy89kxg35i.png
لینک دانلود :
http://behsoft.blogfa.com/post-22.aspx
------------------------------------------------------------------------------------

salehbagheri
چهارشنبه 27 مرداد 1389, 16:50 عصر
میتونم بپرسم چرا از دیتابیس استفاده کردید؟ اونهم برای یک تقویم کوچک؟

نظر من اینه که برای ذخیره یادآورهای روزانه از یک فایل XML استفاده کنید. چون خیلی سبکتر میشه.

saeed1386
پنج شنبه 28 مرداد 1389, 11:12 صبح
میتونم بپرسم چرا از دیتابیس استفاده کردید؟ اونهم برای یک تقویم کوچک؟

نظر من اینه که برای ذخیره یادآورهای روزانه از یک فایل XML استفاده کنید. چون خیلی سبکتر میشه.


بله با شما کاملا موافقم.

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

saeed1386
دوشنبه 01 شهریور 1389, 13:41 عصر
سلام .
نسخه 2 کامپوننت PersiaMonthCalendar آماده شد.

این نسخه از امکانات و کارایی بیشتری برخورداره و گزینه های جدیدی به آن اضافه شده.

عکسی از این کامپوننت بدون هیچگونه تغییر در ظاهر آن
http://up.iranblog.com/Files2/c0493ff0a8d94946b315.png
تعدادی عکس از آن با تنظیمات مختلف ظاهری
http://up.iranblog.com/Files2/0147d189679148aeb891.png http://up.iranblog.com/Files2/6a2493496a9640b9a28a.png http://up.iranblog.com/Files2/7d35a05a9cc24ede824a.png
توضیحاتی درباره قابلیتهای جدید آن و دانلود کامپوننت در آدرس زیر :
http://behsoft.blogfa.com/post-6.aspx

نمونه پروژه جهت آشنایی با قابلیتها:
http://behsoft.blogfa.com/post-7.aspx

---------------------------------------------------
کامپوننت PersiaMonthCalendar نسخه 1 و 2
http://behsoft.blogfa.com/cat-2.aspx

saeed1386
سه شنبه 09 شهریور 1389, 10:12 صبح
کامپوننت جدیدی تهیه کردم برای انتخاب تاریخ.
کامپوننت DatePicker مشابه DateTimePicker ویژوال است.

http://ups.night-skin.com/uploads/89-5-1/1316196115.png

آدرس دانلود:
http://behsoft.blogfa.com/post-9.aspx

ostovarit
سه شنبه 09 شهریور 1389, 11:23 صبح
کامپوننت جدیدی تهیه کردم برای انتخاب تاریخ.
کامپوننت DatePicker مشابه DateTimePicker ویژوال است.

http://ups.night-skin.com/uploads/89-5-1/1316196115.png

آدرس دانلود:
http://behsoft.blogfa.com/post-9.aspx

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

شما که تسلط داری رو تاریخ و کامپوننت نویسی یک فکری هم واسه گرید ویو بکن ...
بخوایم این نمایشگر رو تو یکی از ستون های گرید نشون بدیم باید چه کنیم؟
و تاریخ هم از نوع Datetime داخل دیتابیس باشه موقع لود شمسی لود شه موقع ذخیره میلادی ذخیره بشه ...
چون اکثر برنامه نویس ها در این مورد تاریخ رو از نوع nvarchar میگیرند که استاندارد نیست و یا از روش های من درآوردی استفاده میکنن ...
من یک بار این کارو کردم به خوبی هم کار میکنه ولی با نوع داده nvarchar تو دیتابیس ! ...

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

saeed1386
چهارشنبه 17 شهریور 1389, 16:53 عصر
اگه شما هم با این مشکل برخورده اید،

http://ups.night-skin.com/uploads/89-6/1328732167.png


این مشکل برطرف شده :
http://behsoft.blogfa.com/post-10.aspx

saeed1386
دوشنبه 05 مهر 1389, 22:54 عصر
سلام تعدادی ابزار در یک کامپوننت جهت کار با تاریخ های شمسی و میلادی

نمونه عکس از MonthCalendarX
http://ups.night-skin.com/uploads/89-6/1329410315.png http://ups.night-skin.com/uploads/89-6/1384471484.png

با .NET 3.5 و برای Windows Applications


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

http://behsoft.blogfa.com/post-11.aspx

ostovarit
دوشنبه 05 مهر 1389, 23:57 عصر
سلام تعدادی ابزار در یک کامپوننت جهت کار با تاریخ های شمسی و میلادی

نمونه عکس از MonthCalendarX
http://ups.night-skin.com/uploads/89-6/1329410315.png http://ups.night-skin.com/uploads/89-6/1384471484.png

با .NET 3.5 و برای Windows Applications


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

http://behsoft.blogfa.com/post-11.aspx

عالی بود دقیقا همون چیزی بود که گفتم و میخواستم هنوز فرصت نکردم تست کنم فقط واسه ذخیره تاریخ در گرید تونستی با حفظ فرمت Date time در دیتابیس این کار رو بکنی؟ یا باید استرینگ باشه ....؟

saeed1386
سه شنبه 06 مهر 1389, 08:37 صبح
عالی بود دقیقا همون چیزی بود که گفتم و میخواستم هنوز فرصت نکردم تست کنم فقط واسه ذخیره تاریخ در گرید تونستی با حفظ فرمت Date time در دیتابیس این کار رو بکنی؟ یا باید استرینگ باشه ....؟

به وبلاگم سر بزن اونم هست هم با فرمت DateTime و هم String
نحوه استفاده ازشون را بعدا توضیح میدم.

saeed1386
چهارشنبه 14 مهر 1389, 08:25 صبح
توضیحات تکمیلی درباره DataGridViewX
http://ups.night-skin.com/uploads/89-6/1347144904.png

توضیحاتی جهت نحوه استفاده از این ابزار به همراه نمونه پروژه

http://behsoft.blogfa.com/post-15.aspx

ua741_1
پنج شنبه 06 آبان 1389, 08:19 صبح
سلام
برای من این ارور رو میده
Could not load file or assembly 'PersiaCalendar2, Version=2.1.0.0, Culture=neutral, PublicKeyToken=d944a627e5134509' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Farhad113964
پنج شنبه 16 تیر 1390, 23:16 عصر
ظاهرا فقط برای X86 جواب میده. وگرنه خطا میدهد.

nbe( amateur C sharp
چهارشنبه 29 تیر 1390, 16:31 عصر
با سلام... من یک Component تقریم میخوام برای page تجت وب ، کسی میتونه راهنمائیم کنه (فکر میکنم این Component هائی که در این پست است برای windows application است، از عنوان اون که اینجور میشد فهمید) ، کسی میتونه برای web به من این Component رو بده ، ممنونم ..... .

nbe( amateur C sharp
پنج شنبه 30 تیر 1390, 09:49 صبح
میشه یکی یه راهنمائی بکنه؟ لطفا

zahra_no
پنج شنبه 27 مرداد 1390, 09:59 صبح
سلام
برای من این ارور رو میده
Could not load file or assembly 'PersiaCalendar2, Version=2.1.0.0, Culture=neutral, PublicKeyToken=d944a627e5134509' or one of its dependencies. An attempt was made to load a program with an incorrect format.

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

alvandyhamed
پنج شنبه 03 شهریور 1390, 16:42 عصر
سلام برادر من این کاکپوننت رو نتونستم توی ویژوال 2010 استفاده کنم
ببینید میاد توی تولز باکسم ولی درگ میکنم روی فرم نمیاد
مشکل از منه؟؟؟؟؟؟؟

saeed1386
سه شنبه 08 شهریور 1390, 16:24 عصر
سلام

نسخه 1.2 BehComponents را برای NET4 کامپایل کردم. (ویژوال استودیو 2010)
برای ویندوز 32 بیتی و 64 بیتی.

محتویات فایل دارای نسخه 1.2 این کامپوننت است که برای NET3.5 و NET4 و برای دو نوع ویندوز 32و64 بیتی کامپایل شده است.

آدرس :
http://behsoft.blogfa.com/post-18.aspx

دوستانی که در ویژوال استودیو مشکل داشتند این را امتحان کنند انشالله مشکل برطرف بشه.
موفق باشید.

panahgah
سه شنبه 08 شهریور 1390, 21:06 عصر
كامپوننت شما رو دانلود كردم خيلي خوب بود دسستتون درد نكنه اما MessageBoxFarsi توش نبود ؟

saeed1386
چهارشنبه 09 شهریور 1390, 11:00 صبح
سلام
نسخه 2.0 BehComponents آماده شد و در وبلاگم قرار گرفت. میتونید دانلود کنید.

http://behsoft.blogfa.com/cat-14.aspx

r0ot$harp
چهارشنبه 09 شهریور 1390, 12:55 عصر
سلام دوست عزیز .

کامپوننت های جالبی هست . اما همه رو تست نکردم . تو MessageBox یه مشکلی هست اونم اینکه تو روال KeyDown برای Esc کدی ننوشتین . این یکی از حیاتی ترین قسمت هاست .

برای جالب تر شدن هم می تونید روی خود Button ها آیکون بزارین .

دومین مشکل آزار دهنده اما نه برای همه مشکل WordWrap هست . متن زیر رو قرار دهید :
Seeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeA

باتشکر احسان

saeed1386
چهارشنبه 09 شهریور 1390, 23:21 عصر
سلام دوست عزیز .

کامپوننت های جالبی هست . اما همه رو تست نکردم . تو MessageBox یه مشکلی هست اونم اینکه تو روال KeyDown برای Esc کدی ننوشتین . این یکی از حیاتی ترین قسمت هاست .

برای جالب تر شدن هم می تونید روی خود Button ها آیکون بزارین .

دومین مشکل آزار دهنده اما نه برای همه مشکل WordWrap هست . متن زیر رو قرار دهید :
Seeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeA

باتشکر احسان


سلام
ممنون از راهنماییتون.
دکمه ESC فقط جاهایی کار میکنه که دکمه Cancel باشه. مثل OkCancel البته شاید لازم باشه در حالت فقط OK نیز اضافه بشه.

در مورد WordWrap من عرض پنجره را محدود به اندازه خاصی نکردم. حداکثر صفحه نمایش میتونه بشه. ولی اگه کاربران بخواهند میتونم عرض را محدود (مثلا 600 پیکسل) کنم.

Merila_Rad
جمعه 11 شهریور 1390, 20:20 عصر
ممنون از زحمت شما
خیلی جامع و کامل بود
فقط من در حین استفاده با یه مشکل مواجه شدم ممنون میشم اگه کمکم کنید
سیستم عامل من ویندوز 7 ،64 بیتیه اما با اینکه نسخه 64 بیتی کامپوننت شما را استفاده میکنم با خطا مواجه میشم و باید AnyCPU را به x86 تبدیل کنم
ممنون از لطف شما

hildar
شنبه 19 شهریور 1390, 09:18 صبح
مرسي saeed1386 به خاطر كامپوننتهاي مفيدتون
اما منم مشكلي رو كه كاربر ostovarit گفتن دارم،يعني وقتي كه اطلاعاتي رو تو ديتا بيس ثبت ميكنم ( همون موقع تو ديتا گريد ويو ديده ميشن) يكي از ستونهاي ديتاگريد تاريخ جاري سيستم رو به عنوان تاريخ به روز رساني يا تاريخ ثبت اطلاعات درج كنه(تاريخ شمسي).لطفا منو راهنمايي كنيد.

vshprg
پنج شنبه 31 شهریور 1390, 13:15 عصر
سلام
با تشکر از شما
من رفتم که نسخه 2 رو بگیرم ولی مثل اینکه حاضر نیست . میشه بگید که کی حاضر میشه؟

saeed1386
چهارشنبه 06 مهر 1390, 20:58 عصر
سلام
نسخه 2 آماده است میتونید دانلود کنید.
لینک کامپوننت : http://behsoft.blogfa.com/post-19.aspx

لینک مثال برای آن : http://behsoft.blogfa.com/post-20.aspx

SAEEDDOE
چهارشنبه 06 مهر 1390, 21:51 عصر
سلام دوست عزیز من این کامپوننت رو قبلا تو برنامه ام تستش کردم. که خیلی محشر بود ولی به نظرم یک چیزی کم داره که من بیشتر دنبال آن هستم. و اون هم اینه که در DatePicker جای دکمه Clear یا به عبارتی دیگر خالی کمه و زمانی که شما نمی خواهید هیچ تاریخی بعنوان پیش فرض انتخاب بشه می تونید آن را توسط این دکمه خالی نگه دارید. ممنون میشم اگر این قابلیت رو هم تو کامپوننتتون قرار بدین شاید هم روشی برای این کار در نظر گرفته باشید که من متوجهش نشدم ممنون میشم اگه توضیح بدین.
خیلی ممنون.

mehdi.mj
پنج شنبه 07 مهر 1390, 23:28 عصر
سلام
ممنون از ابزار کامل شما .

r0ot$harp
سه شنبه 12 مهر 1390, 11:46 صبح
سلام دوست عزیز .

این دفعه یه ایراد از DatetimePicker .

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

برای تست 10 تا TextBox بزار روی صفحه بعد یه DatetimePicker هم قرار بده . بعد با تب بینشون حرکت کن .

تیک زدن و کندی صفحه رو کاملا می بینید .

باتشکر احسان

s3rv3r
سه شنبه 12 مهر 1390, 20:35 عصر
داداش اگر ميشه تاريخ short رو به اين صورت بده به ما عالي ميشه چون ميتونيم تو سرچ ديتابيس راحت تر باشيم

الان short به اين شكل است 1390/7/1 اگر امكانش هست به اين شكل DateTimePicker نمايش بده 1390/07/01

ممنون از ابزار خوبت

منتظريم. يا علي

saeed1386
شنبه 24 دی 1390, 11:24 صبح
نسخه 2.1.1 برای BehComponents

سلام


تعیین تاریخ امروز و انتخاب شده به صورت خودکار از تاریخ سیستم

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

لینک : http://behsoft.blogfa.com/post-22.aspx

saeed1386
سه شنبه 27 دی 1390, 17:38 عصر
سلام

نسخه 2.2 BehComponents آماده شد.

گزينه ي جديدي به DateTimePickerX اضافه شده.
http://www.pic.iran-forum.ir/images/l346h19sdvj6qk9eprs.png http://www.pic.iran-forum.ir/images/hn0dipz4kvp9lp9fzgx.png

دانلود كامپوننت و نمونه پرو‍ژه از لينك زير :

http://behsoft.blogfa.com/post-23.aspx

barnamenevisforme
چهارشنبه 30 فروردین 1391, 19:04 عصر
سلام
موقع bind کردن خاصیت persiandateinstringformat اگه نخواهیم مقداری به فیلد مربوطه اختصاص ندیم یعنی null باشه باید چکار کنیم؟
مشکل اینجاست که اگه مقداری انتخاب نکنیم به طور خودکار تاریخ روز جاری رو توی فیلد قرار میده.
ممنون

saeed1386
یک شنبه 18 تیر 1391, 12:27 عصر
سلام

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


(http://barnamenevis.org/showthread.php?349320-سورس-کد-کامپوننت-BehComponents-(تقویم-و-تاریخ-شمسی)&p=1540670)http://barnamenevis.org/showthread.php?349320-سورس-کد-کامپوننت-BehComponents-(تقویم-و-تاریخ-شمسی)&p=1540670
(http://barnamenevis.org/showthread.php?349320-سورس-کد-کامپوننت-BehComponents-(تقویم-و-تاریخ-شمسی)&p=1540670)

mreza80
سه شنبه 31 اردیبهشت 1392, 12:47 عصر
سلام دوستان عزیز در صورت امکان به سوال زیر جواب بدهید
من در بین دو تاریخ مثلا 92/02/28 لغایت 93/01/31 میخواهم تمامی روزهای شنبه و یا دوشنبه را پیدا کرده و بولد نمایم لطفا راهنمائی نمائید شدیدا درگیر این مسئله هستم

hamid_hr
سه شنبه 31 اردیبهشت 1392, 14:16 عصر
سلام
اولین شنبه رو پیدا کن
بهش 7 تا اضافه کن میشه شنبه بعدی
همینطور برو تا به تاریخ 93/01/31 برسی

mreza80
سه شنبه 31 اردیبهشت 1392, 14:33 عصر
سلام
اولین شنبه رو پیدا کن
بهش 7 تا اضافه کن میشه شنبه بعدی
همینطور برو تا به تاریخ 93/01/31 برسی
دوست عزیز ضمن تشکر از جوابتون
من تازه با سی شارپ کار میکنم
درصورت امکان تیکه کد رو بنویسید