فناوری اطلاعات

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

فناوری اطلاعات

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

آخرین نظرات
  • ۲۶ تیر ۰۰، ۱۶:۰۱ - آلپ صنعت
    عالیه

کامپوننت DatePicker فارسی

سید محسن علوی | دوشنبه, ۲ ارديبهشت ۱۳۹۲، ۱۱:۰۴ ب.ظ

کامپوننت DatePicker فارسی با قابلیت نمایش مناسبتهای تقویم شمسی و قمری (همراه با سورس)

سلام.
برنامه فوق کاری از آقای امیر آجرلو

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

اگه کمبودی داره دیگه زحمتش با خودتون. کمبودهاشو رفع کنید و نتیجه رو مجددا بزارید اینجا که بقیه هم استفاده کنن. (البته تا جایی که امکان داشت سعی کردم مشکلی نداشته باشه، حالا ممکنه بعضی موارد از دستم در رفته باشه)


قبلش لازمه که یه توضیح در مورد این DatePicker بدم

1. همونطوری که گفتم، این کامپونت قابلیت اینو داره که مناسبتهای تقویم قمری و شمسی رو نشون بده و تعطیلات رو هم از روزهای غیر تعطیل متمایز کنه. مثلا با بردن موس روی تاریخ 1392/01/05 مناسبتهای این روز تو قسمت پایین این کامپوننت نمایش داده میشه

Name:  04.jpg
Views: 66
Size:  23.1 کیلوبایت

در مورد تاریخ شمسی هیچ مشکلی وجود نداشت. شما هر تاریخ میلادی رو بدون دردسر و از طریق کلاس PersianCalendar میتونید تبدیل به تاریخ شمسی کنید.
اما در مورد تقویم قمری و کلاس HijriCalendar به این راحتی ها نیست. یعنی چی؟
یعنی اینکه ممکنه شما تاریخ میلادی رو تبدیل کنید به تاریخ قمری ولی وقتی نتیجه رو با تقویم مقایسه میکنید نتیجه 1 تا نهایتا 2 روز با اون چیزی که از طریق کلاس HijriCalendar به دست اومده ممکنه متفاوت باشه!! چرا اینجوریه؟
عرب هستن دیگه. حساب کتاب نداره که کاراشون. میگن آقا ما چیزی رو قبول نداریم الا اینکه اون چیز رو با چشم ببینیم. مثلا میگن 

 

 
مطابق حکم شرعی اگر هلال ماه در شامگاه بیست‌ونهم ماه رؤیت شود، آن ماه به پایان رسیده و فردا اول ماه بعد است؛ ولی اگر هلال ماه در شامگاه روز بیست‌ونهم رویت نشد، ماه ۳۰ روزه می‌شود

و اینجوری میشه که خیلی ها میان تاپیک میزنن که آقا چرا تو این نوع تبدیل کلاس HijriCalendar یا vs باگ داره.
باگی نیست. اعراب محترم 2 نوع تقویم دارن. تقویم هلالی و تقویم قراردادی. (تو همه کاراشون ار تقویم هلالی استفاده میکنن) تقویم قراردادی قمری مثل تقویم میلادی یا شمسی یه قاعده ثابت داره و از طریق همون کلاس HijriCalendar به دست میاد. ولی برای رفع خطای 1 یا 2 روزه تقویم هلالی، تو کلاس HijriCalendar یه پراپرتی 
قرار دادن به اسم HijriAdjustment که تو رنج -2 تا 2 مقدار میگیره. 
بعضی ها گفتن ما این مقدار رو هم set میکنیم ولی بازم تو ماه یا ماههای بعد مناسبتهای تقویم قمری با تقویم شمسی جور در نمیاد. موضوع اینجاس که هر ماه قمری HijriAdjustment مخصوص به خودش رو داره. شما نمیتونید از یک مقدار HijriAdjustment برای کل سال قمری استفاده کنید. مثلا ممکنه برای محرم این مقدار -1 باشه و برای صفر -2
در مورد تقویم قمری هلالی و قراردادی هم این لینک رو مطالعه کنید بد نیست

2. مشکل تو تاریخ قمری فقط گزینه 1 نیست. مشکل بعدی اینه که فرضا شما برای سال 1392 شمسی میاید و HijriAdjustment مورد نیاز رو واسه ماههای قمری تو این سال ست میکنید. با تموم شدن سال 1392 دیگه این HijriAdjustment ها برای سال 93 و سالهای بعدی (یا قبلی، چون تو DatePicker مطمئنا قابلیت انتخاب سال هم وجود داره) اعتبار نداره و مجددا باید مقادیر HijriAdjustment رو از روی تقویم برای سال جدید پیدا کنید و ست کنید. این همون کاریه که اکثر نرم افزارهایی که با تقویم قمری کار میکنن انجام میدن. یعنی آخر سال میان یه فایل اصلاح کننده HijriAdjustment برای سال جدید میدن به یوزرها. این فایل میتونه یه txt یا xml باشه و کاری که یوزر باید انجام بده جایگزین کردن این فایل با فایل قبلی هستش. من هم تو ین کامپوننت از یه فایل xml به اسم 
HijriCalendarPatch.xml استفاده کردم که مناسبتهای تقویم قمری رو برای سال شمسی مورد نظر ست میکنه. مشخصه که اگه سال دیگه ای جز سالی که HijriAdjustment برای اون ست شده، توسط DataPicker مشاهده بشه، مناسبتهای سال قمری یکی دو روز اینور اونور میشه نسبت به تقویم اصلی.
کافیه واسه سال شمسی جدید این فایل رو با notepad باز کنید و مقادیر رو برای هر ماه اصلاح کنید. دقت کنید که فرمت باید به شکل زیر باشه و فقط مقادیر اصلاح بشن. در غیر این صورت مناسبتهای تقویم قمری اصلا درنظر گرفته نمیشن.

 

کد HTML:
<?xml version="1.0" encoding="utf-8" ?>
<months>
  <month key="1" value="-1" />       <!--محرم-->
  <month key="2" value="0" />        <!--صفر-->
  <month key="3" value="-1" />        <!--ربیع الاول-->
  <month key="4" value="0" />        <!--ربیع الثانی-->
  <month key="5" value="-1" />       <!--جمادی الاول-->
  <month key="6" value="-1" />       <!--جمادی الثانی-->
  <month key="7" value="-2" />       <!--رجب-->
  <month key="8" value="-1" />       <!--شعبان-->
  <month key="9" value="-2" />       <!--رمضان-->
  <month key="10" value="-2" />      <!--شوال-->
  <month key="11" value="-2" />      <!--ذیقعده-->
  <month key="12" value="-2" />      <!--ذالحجه-->
</months>

3. اما نحوه ست کردن value ها تو فایل HijriCalendarPatch.xml برای ماههای قمری و برای ست شدن مناسبتها با سال شمسی مورد نظر
مواد مورد نیاز: یک عدد تقویم سال شمسی مورد نظر (مثلا تقویم سال 1392 که تو فایل ضمیمه قرار دادم)
و 5 الی 10 دقیقه وقت و حوصله. و اما نحوه کار
تو ماه فروردین سال 1392 (اولین ماه تقویم شمسی) از روی تقویمی که دارید، یکی از مناسبتهای مربوط به تاریخ قمری رو پیدا کنید (البته ممکنه مثلا از نیمه فروردین ماه، ماه قمری تغییر کنه که به این نکته هم توجه داشته باشید) بعد ببینید معادل تاریخ شمسی اون مناسبت چه تاریخی هستش (مثلا 13 جمادی الاول که شهادت حضرت فاطمه (س) به روایتی هستش، میشه معادل 5 فروردین 1392 (اگه بدون HijriAdjustment این تاریخ رو به دست بیارید میشه 4 فروردین). خوب چون مناسبت متعلق یه ماه جمادی الاول هستش (ماه 5 از تقویم قمری) پس یعنی میخوایم مقدار value رو برای خط زیر تو فایل HijriCalendarPatch.xml به دست بیاریم (فرض میکنیم دیفالت همه value ها تو فایل HijriCalendarPatch.xml برابر 0 هستش)

 

کد HTML:
<month key="5" value="-1" />       <!--جمادی الاول-->

یه کامپوننت DatePicker رو فرم قرار میدیم و برنامه رو اجرا میکنیم. DatePicker رو باز میکنیم و موس رو میبریم رو 5 فروردین 1392. نگاه میکنیم اگه پایین کامپوننت مناسبت مورد نظر ظاهر شد که یعنی مناسبتهای ماه جمادی الاول برای سال شمسی 1392 با همون HijriAdjustment دیفالت (یعنی 0) ست میشه و نیازی به تغییر value برای این ماه نیست. ولی اگه مناسبت مورد نظر ظاهر نشد، موس رو تو رنج 1392/01/03 الی 1392/01/07 حرکت میدیم تا اون مناسبت رو پیدا کنیم (2 روز کمتر یا بیشتر) مثلا اگه مناسبت افتاده بود رو تاریخ 1392/01/04 این یعنی اینکه تاریخ قمری برای ماه جمادی الاول تو سال 1392 باید 1 روز بره جلوترتا بیافته رو 5 فروردین. برای جلو بردنش هم از مقدار -1 استفاده میکنیم (1- یک رو جلو میره -2 دو رو جلو میره. 0 بدون تغییر و 1 و 2 هم به ترتیب 1و2 روز به عقب میره).
برای باقی ماههای قمری هم به همن صورت عمل میکنیم. 
فایل HijriCalendarPatch.xml که همراه پروژه هستش و محتواش رو هم بالا قرار دادم، برای سال 92 تنظیم شده.
این فایل باید کنار exe برنامه باشه

4. برنامه همه مناسبتهای تقویم شمسی و قمری رو از فایل DayEvents.xml که تو Resources این کامپوننت قرار گرفته میخونه. قالب این فایل به این صورت هستش

 

کد HTML:
<?xml version="1.0" encoding="utf-8" ?>
<calendars>
  <calendar name="Persian">
    <day month="1" day="1" isHoliday="1" event="روز اول عید نوروز" />
    <day month="1" day="2" isHoliday="1" event="روز دوم عید نوروز - آغاز عملیات فتح المبین" />
    <day month="1" day="2" isHoliday="1" event="هجوم ماموران ستم شاهی به مدرسه فیضیه قم" />
  </calendar>
  <calendar name="Hijri">
    <day month="1" day="1" isHoliday="0" event="آغاز سال جدید هجری قمری" />
    <day month="1" day="9" isHoliday="1" event="تاسوعای حسینی" />
    <day month="1" day="10" isHoliday="1" event="عاشورای حسینی" />
    <day month="1" day="12" isHoliday="0" event="شهادت حضرت امام زین العابدین علیه السلام" />
    <day month="1" day="25" isHoliday="0" event="شهادت حضرت امام زین العابدین علیه السلام به روایتی" />
    <day month="2" day="7" isHoliday="0" event="ولادت حضرت امام موسی کاظم علیه السلام" />
  </calendar>
</calendars>

البته این واسه نمونه هستش و فایل اصلی اکثر مناسبتها توش قرار داره. اگه خواستید مناسبتهای دیگه رو بهش اضافه کنید، دقت کنید که مناسبتهای تقویم شمسی تو بخش اول و مناسبتهای تقویم قمری تو بخش دوم درج بشه. تو بخش اول منظور از month ماه شمسی و تو بخش دوم ماه قمری هستش.

5. کلاس FarsiDateHelper هم شامل یه سری توابع کمکی هست که میتونید از اونها هم تو پروژه خودتون استفاده کنید

پروژه ضمیمه شده هم شامل سورس کامپوننت و هم یه برنامه برای تست کامپوننت هستش. با vs 2012 نوشته شده. تو ورژنهای پایین تر هر پروژه رو به صورت جداگانه و از طریق فایل csproj. اجرا کنید

 

دانلود

دانلود فایل dll

نظرات  (۴۵)

سلام با تشکر از زحمات شما. چه طور میشه به کامپوننت قبل از نمایش و از طریق کد نویسی تاریخ انتصاب داد. مثلا بگی وقتی لود شدی با فلان تاریخ لود اولیه صورت بگیره
با سلام
ممنونم ار ساید خوبتون
یه سوال داشتم
میشه من دو picker بزارم و دو تا تاریخ انتخاب کنم و بعد تعداد روز انتخاب شده بدون احتساب ایام تعطیل رو بهم بده ؟
ممنونم
من چجوری با کامپوننت شما می تونم تاریخ بهش بدم مناسبت هاشو بگیرم به جز دیت پیکر؟؟ و هر جا خواستم نمایش بدم
مثلا می خوام مناسبت های تاریخ روز جاری رو توی یه لیبل نشون بدم
سلام
من تعطیلی ها رو با این تابع چک می کنم
سطبق گفته خودتون تو توضیحات تعطیلات قمری عقب جلو هستند
من چجوری با این تابع می تونم تعطیلات قمری رو درست کنم؟؟؟
FarsiDateHelper.IsHolidayFarsiDate
با کد زیر هم یک روز به جلو کشیدم ولی تغییری نکرد
HijriCalendar hijri = new HijriCalendar();
            hijri.HijriAdjustment = -1;
لطفا راه حلی بهم پیشنهاد بدین
پاسخ:
در داخل توضیحات نوشته شده جهت تغییر چه کاری باید انجام شود و سورس کد برنامه هم جهت دانلود موجود می باشد.
سلام. خسته نباشید.
من یه سوالی برام پیش اومده ممنون میشم کمکم کنید. من قبلا از persianDateTimePicker استفاده میکردم که خیلی راحت با کد زیر میتونستم تاریخ رو 10 روز بکشم عقب. ولی تو این کامپوننت چطوریه؟
مثلا در datetimepicker اینجوری می نوشتم.
persiandatetimepicker1.value=datetime.now.addday(-10)

سلام

اولا دست شما درد نکنه خیلی ممنون.

ثانیا می خواستم بپرسم که آیا میشود تاریخ را محدود کرد یعنی minmumvalue, maximumvalue دارد؟

پاسخ:
سلام
متوجه منظورتون درست نشدم؟
سلام
ممنون از سایت مفیدتون
میخواستم بپرسم میشه کاری کرد مناسبت ها را به صورت خودکار هر وقت موعدش رسید اعلام کنه میشه ؟؟؟
پاسخ:
سلام.مرسی
شما میتونید تاریخ هایی که مورد نظر رو هست وارد برنامه کنید اول که برنامه به اون تاریخ ها رسید اتوماتیک آلارم نمایش بده.
با وارد کردن تاریخ ها میتونید تنظیم کنید وقتی به تاریخ مورد نظر رسید آلارم لازمه نمایش داده بشه.یا پیام مورد نظر شما رو نمایش بده به کاربر.
به عنوان مثال :
29 فروردین رو بزنید روز ارتش و تبریک لازمه رو بگه برای تاریخ های شمسی.
13 رجب روز پدر رو هم برای تاریخ های قمری.
1 ژانویه هم سال جدید میلادی.
این موارد مورد نظر باید از قبل تعریف شده باشه که برنامه بتونه تشخیص بده.
  • احمد یوسفی
  • با سلام و تشکر بابت کامپونت
    جسارتا توی تست پروژه تون تاریخ های قمری رو  دو روز جلوتر نشون میده به عنوان مثل میلاد امام علی که 30/6/95 بود رو 1/7/95 نشون میده 
    ممنون میشم توضیح بدید چطور این مورد رو رفع کنم

    پاسخ:
    سلام
    داخل توضیحات نوشته شده دوست عزیز که این مشکل قمری رو چطوری میشه برطرف کرد.
    سلام دوست عزیز  خسته نباشید ، من farsiCalendar1.Value میخوام داخل این یک مقدار میلادی رو تبدیل به شمسی کنم بریزم تو farsiCalendar1.Value این باید چیکار کنم اگه میشه راهنمایی کنید هرکاری کردم نشد !
    پاسخ:
    سلام
    شما اگر میخواید تاریخ میلادی رو به شمسی تبدیل کنید میتونید از دستور زیر استفاده کنید:
    using System.Globalization;
    //************
    string PersianDate(DateTime DateTime1)
    {
    PersianCalendar PCalender= new PersianCalendar();
    return string.Format(@"{0}/{1}/{2}",
        PCalender.GetYear(DateTime1), 
        PCalender.GetMonth(DateTime1), 
       PCalender.GetDayOfMonth(DateTime1));
    }

    سلام میخواستم بدونم با هر .net سازگار

    پاسخ:
    سلام
    بله سازگاری کامل با دات نت ها دارد.
  • سامان پیروز
  • ممنون از Component  خوبی که معرفی کردن. ,الی کار می کنه
    از پیگیری تون تشکر می کنم . امیدوارم همیشه موفق باشید
    ممنون از پاسختون اما میشه بفرمایید چطور با این کتابخانه رشته (تاریخ میلادی) رو به شمسی تبدیل کنم ؟


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

    درون برنامه یک کلاس هم داره که تاریخ های شمسی رو براتون مرتب میکنه و به صورت 1395/08/04 میزنه و به صورت 1395/8/4 و یا 95/8/4 بروی بانکتون ذخیره نمیکنه و یک دست میتونید ذخیره کنید که برای جستجو هم راحت باشید بر این اساس مرتب شده باشه واستون.





  • علی جلایری
  • با عرض سلام

    ضمن تشکر از کامپوننت خوبتون ، می خواستم بدونم که با چه کدی باید روز های تعطیل را تشخیص داد. تا بتونم مقایسه انجام بدم؟
    پاسخ:
    سلام
    این یک تقویم نمایشی می باشد که به شما روزهای تعطیل را نمایش می دهد.
    شما هم مانند باقی برنامه های فارسی میتوانید در برنامه خود روزهای تعطیل را به صورت دستی وارد کنید به عنوان مثال :یک اداره روزهای 5شنبه و جمعه را تعطیل می باشد.شما میتوانید این روزها را به عنوان روزهای تعطیل در برنامه در نظر بگیرید.و برای تعطیلات دیگر که به صورت قمری می باشد هم باید به صورت دستی وارد کنید.
    تعطیلات شمسی که ثابت می باشد ولی تعطیلات قمری متغیر هستن.اگر هم میخواهید در این کامپوننت استفاده کنید میتوانید توضیحات داده شده در رابطه با کدها رو مطالعه کنید چون در آن هستش که چطوری تغییرات رو اعمال کنه.
    راه دیگه تشخیص روزهای تعطیل قمری تعریف ان روزها در سیستم و تبدیل تاریخ میلادی یا شمسی به آن تاریخ می باشد.که اگر تاریخ مد نظر بود آن روز را تعطیل اعلام کند و در غیر اینصورت تعطیل نباشد.
    سلام.

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

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


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

    ۱. من گذاشتم تو فرم ولی موقع استفاده ازش بعد از این که فرم اجرا میشه، موقعی که روش می‌زنم، یه چیزی باز میشه مشه یه combox خالی و باید یه بار با موس یه جایی بزنی تا از بین بره. چیکار کنم.
    ۲. فونتشو نمیشه عوض کرد؟
    پاسخ:
    سلام
    من یک نمونه درست کردم مشکلاتی رو که شما میگید رو نداره اصلا.
    فونت هم تغییر میکنه از قسمت فونت میتونید تغییر بدید تو برنامتون.
    برنامه زیرو تست کنید.

    دانلود برنامه
    لطفن واسخ vb.net هم بنویسن
    میخام وقتی تاریخ رو از لیست انتخاب کردم در تکست ذخیره بشه
    پاسخ:
    سلام
    منظورتون رو درست متوجه نشدم ولی فک کنم این جواب شما باشه 

      Private Sub FarsiCalendar1_DateChanged(sender As Object, e As AmirCalendar.FarsiDatePickerEventArgs) Handles FarsiCalendar1.DateChanged
            TextBox1.Text = FarsiCalendar1.Value.ToString()

        End Sub
    سلام. خیلی عالیه فقط من دوتا مشکل دارم.
    ۱. من گذاشتم تو فرم ولی موقع استفاده ازش بعد از این که فرم اجرا میشه، موقعی که روش می‌زنم، یه چیزی باز میشه مشه یه combox خالی و باید یه بار با موس یه جایی بزنی تا از بین بره. چیکار کنم.
    ۲. فونتشو نمیشه عوض کرد؟
    با سلام،ممنونم از ز حمات بی دریغتون،من استفاده کردم مشکلی ندارم فقط دو موضوع هستش که اولیش من میخوام وقتی یک باتن رو زدم تقویم بصورت استاتوس باز بشه و تاریخ رو انتخاب کنم و بعد استاتوس بسته بشه.
    و بعد موضوع دوم اینکه ظاهرا حچم این DLL خیلی زیاده و وقتی میخوام فرمم لود بشه خیلی زمان میبره،آیا چاره ای برای این کار هستش؟
    پاسخ:
    سلام
    خودش این قابلیت رو داره که به صورت یک کامپوننت ازش استفاده کنید و باز بشه و روز و ماه رو بهتون نشون بده و انتخاب رو بزنید مشابه date خود C#
    حجم این فایل اینقدی بالا نیست که لود فرم رو کند کنه یا تاثیری بزاره.من که استفاده کنم ازش چنین مشکلی رو نداشتم هیچوقت.شما دستوراتی را که هنگام لود ویندوز میزنید رو باید اصلاح کنید که تاثیر کمتری داشته باشه.
    سلام
    متاسفانه در vs2013 کار نکرد
    پاسخ:
    سلام
    من بروی VS 2015 هم دارم باهاش کار میکنم مشکلی نداره.
    با سلام . من با مشکل زیر برخورد کردم لطفا می شه کمکم کنید؟
    An unhandled exception of type 'System.IO.FileNotFoundException' occurred in WindowsFormsApplication8.exe

    Additional information: Could not load file or assembly 'AmirCalendar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
    پاسخ:
    سلام
    فایل Dll رو آیا شما در قسمت Refrence هم قرار دادید یا خیر؟
    باید تو این قسمت هم باشه.
    و اینکه در قسمت toolbox هم باید اد کنید و انجا ازش استفاده کنید.
  • سید عباس قمی
  • با سلام
    کامپوننت گرافیکی تقویم شمسی قمری میلادی به همراه امکانات متنوع به مناسبت عید غدیر خم رایگان عرضه شد

    https://sites.google.com/site/aaa302/

    استفاده کنید و به دیگر دوستان خود نیز اطلاع بدهید
    شاد باشید
  • سهیل سحابی مقدم
  • با سلام
    با تشکر از کنترل خوبتون
    من از کنترل شما در یک tableLayoutPanel استفاده کردم اکنون که می خواهم به خصیصه Value آن دسترسی پیدا کنم با خطای زیر مواجه میشم:
     Object reference not set to an instance of an object.
    نمونه کد:

                for (int i = 0; i < tableLayoutPanel1.Controls.Count; i++)
                {
                    MessageBox.Show((tableLayoutPanel1.Controls[i] as FarsiCalendar).Name);
                }

    پاسخ:
    سلام
    دوست عزیز برنامه نویسی راه های مختلفی داره البته من واسه رفع این مشکل شما یک کلک زدم شاید به دردتون بخوره کدش به صورت زیر هستش :
      for (int i = 0; i < tableLayoutPanel1.Controls.Count; i++)
                {
                    string st = string.Empty;
                    if ((tableLayoutPanel1.Controls[i]) == FarsiCalendar1)
                    {
                        st = FarsiCalendar1.Value.FarsiSelectedDate.ToString();
                    }
                        else
                        st=tableLayoutPanel1.Controls[i].Name.ToString();

                    MessageBox.Show(st);
                }
  • سحر سلامی
  • سلام خیلی زیبا بود ممنون از این که کدهاشو در اختیار همه قرار دادین اگه مکنه منو راهنمایی کنین چطور برای ویژال بیسیک استفاده کنم ممنونم
    سلام پروژتون خیلی قشنگه ممنون از این که کدهاشو در اختیار همه قرار دادین راستش من برای ویژال بیسیک 2013 میخواستم نمیدونم اینو چجوری برای vb استفاده کنم اگه ممکنه منو راهنمایی کنین متشکرم
    دانلود نمیشه!!

    پاسخ:
    دانلود میشه و مشکلی نداره لینکش
    سلام.برای وارد کردن تاریخ انتخاب شده در دیتا بیس از چه دستوری استفاده کنیم...
    ممنون میشم راهنمایی کنید!
    پاسخ:
    سلام
    من از کد زیر استفاده میکنم البته بستگی داره بخوای به چه صورتی در بانک ذخیره کنی 
    farsiCalendar1.Value.FarsiSelectedDate.ToString();
    خسته نباشید واقعا عالیه
    با سلام وخسته نباشید
    ببخشید که مزاحمتون شدم من چه طور میتونم از فایل های dll استفاده کنم
    استفادشون برای تحت وب با تحت ویندوز فرق داره من برای asp.net می خوام
    ممنون
    پاسخ:
    سلام
    برای استفاده در اپلیکیشن باید در قسمت Toolbox فایل dll رو Add کنی و اونجا اضافه میشه میتونی تو برنامه به راحتی استفاده کنی.
    برای استفاده در وب هم باید Add Refrence  بزنی و فایل Dll رو به برنامه اضافه کنی تا بتونی تو وب ازش استفاده کنی.البته خودم وب رو امتحان نکردم هنوز
    فدات شم
    اصلاح کن
    کامپوننت datepicker فارسی
    پاسخ:
    مرسی
  • مهرداد قربانیان
  • سلام
    من ی حدود یه هفته دارم دنبال این میگردم و پیدا نکردم تا اینکه اینجا را پیدا کردم.
    آقا دمت گرم بخدا.نمیدونم چطوری ازت تشکر کنم.ی دنیا ممنون.هر چی بگم کم گفتم بخدا
    سلام 
    چطور باید در یک textbox ازاین فایل dll استفاده کرد و تاریخ روز را نشان داد.

    با تشکر
    پاسخ:
    سلام 
    میتونید از فایل زیر استفاده کنید.
    با عرض سلام و خسته نباشید
    خیلی ممنون از کار قشنگون واقعا کارمونو راه انداخت
    با سلام اگه از .net 4  به جای .net 4 client profileاستفاده کنید خطایی رو که در برنامه ، رفرنس رو نمیشناسه پیش نمیاد.
    سلام
    کار قشنگی کردید
    اما اگر فرمت ان شبیه نمونه میکروسافت باشه کار کردن با آن راحتره
    با سلام و تشکر
    خیلی عالی بود
    لطفا در مورد استفاده از این dll در ورژن vb2010 توضیح بیشتری بفرمایید
    من دز هنگام استفاده از ان پیام خطا مواجه میشم
    با تشکر از لطف شما
    پاسخ:
    با سلام
    شما باید فایل dll رو داخل برنامه ای که میخواهید استفاده کنید درون قسمت Reference اضافه کنید در این قسمت باشه و به قسمت Toolbox هم این فایل رو اضافه کنید با راست کلیک و زدن گزینه Choose Item میتونید اضافه کنید و مانند دیگه ابزار ها درون برنامه از آن استفاده نمایید.
    البته برای استفاده در ویژوال بیسیک نمیدونم به اینصورت هستش یا نه ولی فکر نکنم فرقی با C# داشته باشه.
    جوابم رو پیدا کردم،ممنون
    سلام
    از کمکتون بسیار ممنونم
    کاملا مفید بود
    عذر میخوام، میتونید یه کمک دیگه هم به من کنید؟
    من میخوام از تاریخ روز، مثلا اولین پنج شنبه بعد امروز رو پیداکنم و تاریخ رو نشون بدم
    باید چیکار کنم؟
    آقای امیر میشه بگید چطوری default selected value
    رو برای هر روز تغییر بدیم و تاریخ هر روز در default بگیرد؟!
    یکم عجله دارم،ممنون میشم جواب بدید
    پاسخ:
    سلام
    آقای امیر آجرلو تو سایت برنامه نویس فعالیت دارن.
    من واسه رفع این مشکل از تاریخ روز استفاده کردم و از Farsilibrary.dll استفاده کردم به صورت زیر :
      FarsiDate.Value.FarsiSelectedDate =FarsiLibrary.Utils.PersianDate.Now.ToString().Substring(0, 10);
    شما هم از این روش میتونید استفاده کنید چون باید تاریخ رو بهش بدید که متوجه بشه تاریخ رو از یک جایی باید بخونه.که به روز باشه همیشه تاریخش.
    ممنون، 
    از برنامه نویس دانلود کردم، اگه سوالی داشتم مزاحمتون میشم 
    خیلی ممنون
    ممنون از جوابتون، اما فقط یه exe دانلود میشه که اونم install خطا می ده!

    error encountered while performing the operation
    look at the information window for more details
    پاسخ:
    این درست بود فایلش.
    ممنون که بهم گفتی مشکل داره فایلش.
    اصلاحش کردم
    هرچی میگردم تقویمی که بشه تعطیلات رو هم توش گذاشت پیدا نمیکنم، خواهش میکنم اگر برای ویندوزی هم هست کمکم کنید
    پاسخ:
    دوست عزیز این برنامه سورس کامل هستش و واسه استفاده باید برید داخل پوشه Debug 
    AmirCalendar\bin\Debug
    از اینجا فایل dll رو بردارید و تو برنامه استفاده کنید اگر میخواهید به صورت یک تقویم استفاده بشه باید تو جعبه ابزار Toolbox  این فایل رو Add کنی و بعد میتونی تو برنامه ات استفاده کنی
    سلام، معذرت میخوام، من دانلود کردم اما اجرا نمیشه، برای فرم ویندوزی هستش دیگه؟
    ممنون میشم کمکم کنید
    پاسخ:
    سلام
    دوست عزیز این برنامه هیچ مشکلی نداره.
    برای استفاده یک فایل  dll داره که اون رو باید تو قسمت Reference استفاده کنی و یا هم به عنوان یک کامپوننت اضافه کنی به برنامه و استفاده کنی از این برنامه.
    بسیار عالی...ممنون

    بسیار کاربردی و عالی

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی