PDA

View Full Version : سوال: گداشتن شرط درستی تاریخ برای MaskedTextBox



amir200h
شنبه 08 تیر 1392, 21:04 عصر
سلام به همه دوستان.
من میخوام اگه در MaskedTextBox مقادیر اشتباه وارد شده بود پیغام خطا بده
فرمتش تاریخه بصورت زیر
0000/00/00
درست
1392/04/28
غلط
_1392/04/2

saied_hacker
شنبه 08 تیر 1392, 23:15 عصر
انی جوری میشه
رشته تاریج رو با کاراکتر / جدا میکنیم و ...

string[] temp = maskedTextBox1.Text.Split('/');
temp[0] = temp[0].Replace(" ", string.Empty); // year
temp[1] = temp[1].Replace(" ", string.Empty); //month
temp[2] = temp[2].Replace(" ", string.Empty); //day

if (temp[0].Length == 4 && temp[1].Length == 2 && temp[2].Length == 2)
{
//true
}
else if (temp[0].Length == 4 && temp[1].Length == 2 && temp[2].Length != 2)
{
//invalid day
}
else if (temp[0].Length == 4 && temp[1].Length != 2 && temp[2].Length != 2)
{
//invalid month and day
}
else if (temp[0].Length != 4)
{
//invalid year
}

amir200h
شنبه 08 تیر 1392, 23:18 عصر
مرسی دوست عزیز. خودم یه راه ساده تر نوشتم :لبخند:

mohsen22
شنبه 08 تیر 1392, 23:32 عصر
راه ساده تره چه جوری بود؟!

amir200h
شنبه 08 تیر 1392, 23:37 عصر
یه تابع نوشتم که مقدار درست یا نادرست برمیگردونه. اگه درست بود که تاریخ کامل وارد شده اگه نادرست بود که غلطه


public bool DateTrust(string date)
{
string[] split=date.Split('/');
if((split[0].Length + split[1].Length + split[2].Length)==8)
return true;
else return false;
}
اینم کد استفاده ش


private void btnsearchasdatetabaed_Click(object sender, EventArgs e)
{
if (DateTrust(maskdatebaed.Text) == true)
{
maskdatebaed.ForeColor = Color.Black;
SearchByDate("SELECT codenoskhe,idbimar,datefull,mablaghekol,franshizek ol,mablaghepardakhti FROM listecodenoskhe Where datesabt > '" + maskdatebaed.Text + "'");
playsoundclick("\\sound\\click.wav");
}
else
{
ErrorMask();
maskdatebaed.ForeColor = Color.Red;
}
}