مشاهده دست آورد نظرسنجی: آیا این کامپوننت به درد شما خورده؟

رای دهنده
6. شما نمی توانید در این رای گیری رای بدهید
  • آره! خیلی زیاد

    2 33.33%
  • آره، کم و بیش

    0 0%
  • نه، به دردم نخورد!

    0 0%
  • اصلا نیازی به چنین شیءی نیست!!!

    4 66.67%
نمایش نتایج 1 تا 13 از 13

نام تاپیک: نوع PersianDateTime

  1. #1

    Cool نوع PersianDateTime

    با سلام خدمت دوستان عزیز
    همیشه برای ما برنامه نویسان ایرانی بحث تاریخ شمسی و تبدیلات و غیره وجود داشته. هر برنامه نویس معمولا به روش خودش توابعی درست می کرده و اونو هنگام نیاز تو برنامه Copy و Paste می کرده.
    من به نوبه ی خودم بلاخره یه روز من نشستم و برای رهایی از Copy و Paste یک Struct مشابه شیء DateTime طراحی کردم.
    توی نوع PersianDateTime من از اینترفیس های IComparable, IFormattable, IConvertible اشتقاق گرفتم. اما قسمتی از کار مونده...
    امیدوارم با کمک شما در کامل کردن این استراکچر بلاخره یک شیء مناسب برای زخیره ی تاریخ های نوع شمسی ایجاد کرده باشیم.
    من این Structure رو به صورت یک Template در اوردم. اونو تو مسیر Template های ویژوال استودیو قرار بدید و از اون استفاده کنید.
    لطفا باگ های احتمالی رو (از اونجا که نوشته ی یک نفر انسانه!!!) در هینجا بذارید تا در اسرع وقت توسط من یا دوستان حل بشه!
    فایل های ضمیمه فایل های ضمیمه

  2. #2

    نقل قول: نوع PersianDateTime

    برای استفاده از توابع تبدیلی کافیه به شکل زیر عمل کنید...
    تبدیل میلادی به شمسی...
    PersianDateTime date1 = PersianDateTime.ToPersianDateTime(DateTime.Now);
    کد بالا تاریخ میلادی امروز رو به شمسی تبدیل می کنه...
    حتی می شه به این طریق استفاده کرد...!
    PersianDateTime date2 = (PersianDateTime)DateTime.Now;
    و اما برعکس!
    برای تبدیل تاریخ شمسی به میلادی کافیه اینطوری عمل کنید...
    DateTime date3 = date2.ToGregorianDateTime();
    فکر نمی کنم استفاده ازش زیاد سخت باشه!
    منتظر نظراتتونم.

  3. #3
    کاربر دائمی آواتار NIK
    تاریخ عضویت
    خرداد 1389
    سن
    39
    پست
    293

    نقل قول: نوع PersianDateTime

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

  4. #4

    نقل قول: نوع PersianDateTime

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

  5. #5
    کاربر دائمی آواتار NIK
    تاریخ عضویت
    خرداد 1389
    سن
    39
    پست
    293

    نقل قول: نوع PersianDateTime

    نقل قول نوشته شده توسط jalalx مشاهده تاپیک
    این کامپوننت به صورت OpenSource و به صورت کلاس به برنامه اضافه می کنید. نیازی به کامپایل و یا نوشتن و برسی الگوریتم نداره...!
    دو تا فایل dll هست که به رفرنسهات اضافه میکنی.
    تقریباً مثل Datetime میشه باش برخورد کرد.


    PersianDate pd = new PersianDate(DateTime.Now);
    pd.AddDays(25);
    string date = pd.ToLongDateString();
    DateTime dt = new DateTime();
    dt = PersianDate.GetGregorianDate(pt);
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله NIK : سه شنبه 15 تیر 1389 در 14:11 عصر

  6. #6

    نقل قول: نوع PersianDateTime

    دو تا فایل dll هست که به رفرنسهات اضافه میکنی.
    Import کردن فایل dll اونم برای یک کار ساده و جزئی یکم زیاد به نظر نمی رسه؟
    کلاس ارایه شده یا دقیق تر بگم struct ارائه شده رو می تونید بر حسب نیاز خودتون customize کنید! اضافه کردنش هم فقط کافیه Add New Item...

  7. #7
    کاربر دائمی آواتار omidrayaneh.68
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    اصفهان
    پست
    99

    نقل قول: نوع PersianDateTime

    بله شما دوست عزیز درست عرض کردید این کار خیلی ساده است و باید از کد های زیر استفاده کنید چون خود ویژوال استودیو همچین حالتی داره که بتونید به تاریخ شمسی تبدیل کنید

    using
    System.Globalization;




    protected
    void Page_Load(object sender, EventArgs e)
    {
    PersianCalendar newcal = newPersianCalendar();
    lbldate .Text = newcal.GetDayOfMonth(
    DateTime.Now).ToString()
    +
    "/" + newcal.GetMonth(DateTime.Now).ToString() +
    "/" + newcal.GetYear(DateTime.Now).ToString();

    }


  8. #8

    Cool نقل قول: نوع PersianDateTime

    نقل قول نوشته شده توسط omidrayaneh.68 مشاهده تاپیک
    بله شما دوست عزیز درست عرض کردید این کار خیلی ساده است و باید از کد های زیر استفاده کنید چون خود ویژوال استودیو همچین حالتی داره که بتونید به تاریخ شمسی تبدیل کنید

    using
    System.Globalization;


    protected
    void Page_Load(object sender, EventArgs e)
    {
    PersianCalendar newcal = newPersianCalendar();
    lbldate .Text = newcal.GetDayOfMonth(
    DateTime.Now).ToString()
    +
    "/" + newcal.GetMonth(DateTime.Now).ToString() +
    "/" + newcal.GetYear(DateTime.Now).ToString();

    }

    نمی خوام به اجبار کسی رو وادار به استفاده از این شی کنم ولی یه add new item و:

    lbldate.Text = PersianDateTime.Now.ToShortDateString();


    کدوم کوتاه تره؟

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    Tehran
    پست
    365

    نقل قول: نوع PersianDateTime

    با سلام دوست من.
    من این کلاس رو به پروژه اضافه کردم اما از $safeitemname$ اشکال میگیره و کامپایل نمیشه ! میشه من رو راهنمایی کنید ؟

  10. #10
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    Tehran
    پست
    365

    نقل قول: نوع PersianDateTime

    نقل قول نوشته شده توسط مسلم نیکنام مشاهده تاپیک
    دو تا فایل dll هست که به رفرنسهات اضافه میکنی.
    تقریباً مثل Datetime میشه باش برخورد کرد.


    PersianDate pd = new PersianDate(DateTime.Now);
    pd.AddDays(25);
    string date = pd.ToLongDateString();
    DateTime dt = new DateTime();
    dt = PersianDate.GetGregorianDate(pt);
    25 این وسط چیکار میکنه ؟
    متغیر pt کلا" وجود نداره !
    شما که داری فایل میزاری زحمت بکش کامل بزار

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    Tehran
    پست
    365

    نقل قول: نوع PersianDateTime

    نقل قول نوشته شده توسط jalalx مشاهده تاپیک
    نمی خوام به اجبار کسی رو وادار به استفاده از این شی کنم ولی یه add new item و:

    lbldate.Text = PersianDateTime.Now.ToShortDateString();


    کدوم کوتاه تره؟

    با سلام دوست من.
    من این کلاس رو به پروژه اضافه کردم اما از $safeitemname$ اشکال میگیره و کامپایل نمیشه ! میشه من رو راهنمایی کنید ؟
    ** از دات نت 4 استفاده میکنم.

  12. #12

    نقل قول: نوع PersianDateTime

    قاعدتا نباید ایرادی بگیره مگر اینکه شما این Template رو نصب نکرده باشین!
    برای نصب اون کافیه Visual Studio رو ببندین، فایل zip (دقت کنید فایل .cs به تنهایی کافی نیست و باید در فایل zip باشه) رو در مسیر \Visual Studio 2010\Templates\ItemTemplates توی My Document کپی کنید. بعد دوباره Visual Studio رو اجرا کنید و توی Solution Explorer روی پروژه راست کلیک کنید و گزینه ی Add -> Add New Item رو انتخاب کنید. سپس در اون پنجره، PersianDateTime رو پیدا کنید و به پروژه اضافه کنید.

    البته شما می تونید همینطوری هم فقط فایل .cs توی فایل zip رو استفاده کنید (همین کاری که الان شما کردین و به مشکل خوردین و من توصیه نمی کنم! )، در این کار باید به طور دستی namespace و نام کلاس رو مقدار دهی کنید. مثلا $safeitemname$ رو بذارین PersianDateTime

  13. #13
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    Tehran
    پست
    365

    نقل قول: نوع PersianDateTime

    این یک نمونه کامل از همه چیز هست .
    هم تاریخ شمسی & تبدیل عدد به حروف & دیتا پیکر تاریخ شمسی و . . . . . این هم dll هست + یک پروژه کامل

    http://www.4shared.com/file/0-XE2v-t...braryTest.html

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •