PDA

View Full Version : سوال: بررسی اینکه ایا کاربر مقداری در MaskedTextBox وارد کرده؟(قالب تکس باک --/--/--13)



ma.rad
شنبه 17 اردیبهشت 1390, 19:56 عصر
سلام
بررسی اینکه آیا کاربر مقداری در MaskedTextBox وارد کرده؟(قالب تکس باک --/--/--13)
چون تکس باکس مقدار داره نمی شه از راه خالی بودن بررسیش کرد
سوال دوم: چطور میشه تاریخ داخل تکس باکس رو بررسی کرد؟
مثلا تاریخ بین تاریخ امروز باشه تا سال 1300

ma.rad
شنبه 17 اردیبهشت 1390, 22:17 عصر
مرسی از این همه استقبال

نیما حتمی
یک شنبه 18 اردیبهشت 1390, 08:20 صبح
با سلام
دوست عزیز شما میتونین با استفاده از substring تعداد کارکترهای وارد شده در سال-ماه-روز رو چک کنید که آیا درست وارد شده یا نه

ma.rad
یک شنبه 18 اردیبهشت 1390, 10:03 صبح
سلام-من میخوام علاوه بر اینکه خالی بودن رو چک میکنه تاریخ شمسی رو هم چک کنه؟
برای تاریخ میلادی از کد زیر استفاده میشه شمسی رو نمیدونم
DateTime dt;
if (DateTime.TryParse(maskedTextBox1.Text, out dt))
MessageBox.Show("valid date");
else
MessageBox.Show("invalid date");

aisana
یک شنبه 18 اردیبهشت 1390, 12:37 عصر
سلام دوست من

برای اینکه ببینی کابر مقداری اصلا وارد کرده یا نه


txt_Tarikh.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals
check_tarikh = txt_TarikhVorud.Text.Trim()

txt_Tarikh اسم mask textbox
check_tarikh اسم 1 متغییر هست

بررسی اینکه تاریخ رو درست وارد کرده یا نه رو نمی دونم اگه پیدا کردی به منم بگو ممنون می شم

ostovarit
یک شنبه 18 اردیبهشت 1390, 14:43 عصر
کنترل DateBox همین کارو میکنه ...

ma.rad
یک شنبه 18 اردیبهشت 1390, 22:58 عصر
کنترل DateBox همین کارو میکنه ...

چطوری باید از این کنترل استفاده کنم؟

ostovarit
دوشنبه 19 اردیبهشت 1390, 08:50 صبح
چطوری باید از این کنترل استفاده کنم؟
مثل بقیه کتابخانه ها ... راه سادش اینه که dll رو Drag کن با موس و بنداز تو قسمت ToolBox ویژال ... یک ایکن اضافه میکنه که همون Datebox هست

ma.rad
دوشنبه 19 اردیبهشت 1390, 13:32 عصر
این کارو کردم مشکل اینجاست که این textbox دارای تاریخه ،من میخوام کاربر وارد کنه ومن چک کنم ببینم درسته یا نه

ostovarit
دوشنبه 19 اردیبهشت 1390, 13:38 عصر
این کارو کردم مشکل اینجاست که این textbox دارای تاریخه ،من میخوام کاربر وارد کنه ومن چک کنم ببینم درسته یا نه
خوب تاریخ روز رو زده ... کاربر میتونه ویرایش کنه و خوبیش اینه که مقدار اشتباه نمیتونه بهش بده و فرمت --/--/---- رو هم حفظ میکنه ... چک کردن نمیخواد.
اگر حتما میخوای چک کنی و از تکست باکس استفاده کنی میتونی از RegX فرمت تاریخت رو چک کنی ... مقدار شمسی بودنش رو هم کد بنویس که سال ماه روز تو چه بازه ای باشه مثلا اگر ماه فلان بود روز تا 31 بره و الی اخر ...

ma.rad
دوشنبه 19 اردیبهشت 1390, 14:21 عصر
میشه کدشو بزاری -ممنون میشم

ma.rad
چهارشنبه 21 اردیبهشت 1390, 12:18 عصر
دوستان میتونن روش بهتری بگن-من اینو نوشتم ولی جالب نیست

ShamsiDateClass.Dateres dn = ShamsiDateClass.ShamsiDate();


if (e.KeyData == Keys.Enter)
{

if (1357 > Convert.ToInt32(txtBrith.Text.Substring(0, 4)) || Convert.ToInt32(txtBrith.Text.Substring(0, 4)) > Convert.ToInt32(dn.DateNow.Substring(0, 4)) || 1 > Convert.ToInt32(txtBrith.Text.Substring(5, 2)) || Convert.ToInt32(txtBrith.Text.Substring(5, 2)) > 12 || Convert.ToInt32(txtBrith.Text.Substring(8, 2)) > 31 || 1>Convert.ToInt32(txtBrith.Text.Substring(5, 2)))
{
MessageBox.Show("تاریخ وارد شده صحیح نمی باشد", "پیام خطا");
txtBrith.Text = "";
txtBrith.Focus();
}
else
cbDin.Focus();
}

ma.rad
چهارشنبه 21 اردیبهشت 1390, 14:46 عصر
بله درست کار میکنه
ولی چون تعداد فیلد تاریخی من زیاده روش جالبی نیست