نمایش نتایج 1 تا 7 از 7

نام تاپیک: کنترل maskedtextbox برای تاریخ ورودی

  1. #1
    کاربر دائمی آواتار hana2064
    تاریخ عضویت
    تیر 1387
    محل زندگی
    یه جای خوش اب و هوا
    پست
    129

    کنترل maskedtextbox برای تاریخ ورودی

    سلام منم میخوام masked چک کنم که تاریخ ورودیش اشتباه نباشه . یه پست تو تالار پیدا کردم که برای فرمت Shortdate یعنی الگوی (00/00/0000) کد زیر رو استفاده میکنه
    کد:
    if ( (int.Parse(maskedTextBox1.Text.Substring(3, 2)) > 6 && int.Parse(maskedTextBox1.Text.Substring(0, 2)) > 30) || int.Parse(maskedTextBox1.Text.Substring(0, 2)) > 31 || int.Parse(maskedTextBox1.Text.Substring(0, 2)) < 1 || int.Parse(maskedTextBox1.Text.Substring(3, 2)) > 12 || int.Parse(maskedTextBox1.Text.Substring(3, 2)) < 1 || int.Parse(maskedTextBox1.Text.Substring(6, 4)) > 2000 || int.Parse(maskedTextBox1.Text.Substring(6, 4)) < 1300) MessageBox.Show("خطا در ورود تاریخ ...!");else MessageBox.Show("تاریخ مورد قبول است.");
    ام وقتی من الگو رو به 00/00/0000 تغییر میدم این کد کار نمیکنه
    دقیقا نمیدونم که Text.Substring(3, 2) کدوم قسمت از این الگو رو چک میکنه؟ لطفا راهنمایی کنید

  2. #2
    کاربر دائمی آواتار dr_csharp
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Tehran
    پست
    599

    نقل قول: کنترل maskedtextbox برای تاریخ ورودی

    سلام
    شما خیلی راحت می تونید با استفاده از متدهای remove و replace و .. موجود برای String ها ابتدا کاراکتر Seprator را جدا کنید و بعد از اون Validation مورد نظرتون رو اعمال کنید ..

  3. #3
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: کنترل maskedtextbox برای تاریخ ورودی

    ام وقتی من الگو رو به 00/00/0000 تغییر میدم این کد کار نمیکنه
    دقیقا نمیدونم که Text.Substring(3, 2) کدوم قسمت از این الگو رو چک میکنه؟ لطفا راهنمایی کنید
    این قسمت مقدار ماه رو میگیره که البته درستش
    int.Pares(text.Substring(4,2))

    هستش

  4. #4
    کاربر دائمی آواتار hana2064
    تاریخ عضویت
    تیر 1387
    محل زندگی
    یه جای خوش اب و هوا
    پست
    129

    نقل قول: کنترل maskedtextbox برای تاریخ ورودی

    ممنونم ولی
    من نگرفتم که برای این الگو 00/00/0000 بازه سال و ماه و روز کدومه ؟ این بازه ها چجوری حساب میشن؟

  5. #5
    کاربر دائمی آواتار 13601360
    تاریخ عضویت
    آذر 1386
    محل زندگی
    کنار دریای خزر
    پست
    422

    نقل قول: کنترل maskedtextbox برای تاریخ ورودی


    از این کد استفاده کنید.

     string[] str = maskedTextBox1.Text.Split('/');
    int i = Int32.Parse(str[0] + str[1] + str[2]);
    آخرین ویرایش به وسیله 13601360 : چهارشنبه 30 اردیبهشت 1388 در 18:22 عصر

  6. #6
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: کنترل maskedtextbox برای تاریخ ورودی

    من نگرفتم که برای این الگو 00/00/0000 بازه سال و ماه و روز کدومه ؟ این بازه ها چجوری حساب میشن؟
    از کدی که بالا نوشتید کاملا مشخصه
    روز اگر 6 ماه اول بودیم 31 و اگر 6 ماه دوم بودیم 30
    ماه 12
    سال 365

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


    string str = "1388/32/01";
    PersianCalendar p = new PersianCalendar();
    int m, y, d;
    m = int.Parse(str.Substring(5, 2));
    y = int.Parse(str.Substring(0, 4));
    d = int.Parse(str.Substring(8, 2));
    try
    {
    p.ToDateTime(y, m, d, 0, 0, 0, 0);
    }
    catch(Exception ex)
    {
    MessageBox.Show(ex.Message);
    }

  7. #7

    نقل قول: کنترل maskedtextbox برای تاریخ ورودی

    دوست عزيز اينو كجاي برنامه بنويسم

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

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