PDA

View Full Version : سوال: مشکل با مقایسه دو textbox؟؟؟



sajadcg
یک شنبه 02 بهمن 1390, 17:06 عصر
سلام.
من می خوام با دستور زیر مقدار 2 textbox را با هم مقایسه کنم و مثلا اگر مساوی بودند یه کاری را انجام بده ، ولی این دستور این جواب را نیم ده؟؟؟!!!!!!
من موقع اجرا به هر دو یک مقدار میدم ولی میگه مساوی نیست !!!!! علت از کجاست؟؟؟

لطفا راهنمائی کنید.
مرسی.:قلب:

دستور if:


if (txt_pas.Text == txt_repaet_pas.Text)
{
db.login(txt_pas.Text);
}

ji ming u
یک شنبه 02 بهمن 1390, 17:20 عصر
( ()if (txt_pas.Text.toUpper.trim() == txt_repaet_pas.Text.Text.toUpper.trim
این طوری بنویس شاید درست بشه

Sirwan Afifi
یک شنبه 02 بهمن 1390, 17:34 عصر
مشکلی نداره :
if (textBox1.Text.Trim() == textBox2.Text.Trim())
MessageBox.Show("Equal!");

sajadcg
یک شنبه 02 بهمن 1390, 23:14 عصر
مشکلی نداره :
if (textBox1.Text.Trim() == textBox2.Text.Trim())
MessageBox.Show("Equal!");

دوست عزیز این جوری هم درست نشد.:گریه:

Hajivandian
یک شنبه 02 بهمن 1390, 23:19 عصر
سلام، این کدا که بچه ها گذاشتن همش درسته، احتمالا مشکل از کدیه که واسه لاگین نوشتی !

returnx
دوشنبه 03 بهمن 1390, 00:02 صبح
یک بار متد CompareTo رو تست کن شاید جواب بده ، در صورتی که دو رشته با هم مساوی باشند تابع مقدار صفر رو بر می گردونه...

faravaghi
دوشنبه 03 بهمن 1390, 00:17 صبح
سلام،
دستور درسته.
if (txtPass.Text != txtRePass.Text)
{
MessageBox.Show(".رمز عبور وارد شده با هم مطابقت ندارد");
return;
}

sajadcg
دوشنبه 03 بهمن 1390, 08:46 صبح
سلام،
دستور درسته.
if (txtPass.Text != txtRePass.Text)
{
MessageBox.Show(".رمز عبور وارد شده با هم مطابقت ندارد");
return;
}

این دستور هم تست کردم جواب نداد.:افسرده:


یک بار متد CompareTo رو تست کن شاید جواب بده ، در صورتی که دو رشته با هم مساوی باشند تابع مقدار صفر رو بر می گردونه...

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

shadi khanum
دوشنبه 03 بهمن 1390, 09:40 صبح
دستورتون درسته ولی احتمال داره چیزی که توی textboxهاتون نوشته شده ی یا ک توش باشه و یکیشون عربی و دیگری فارسی باشه..البته شاید.. چون در غیر این شورت برنامه باید کار کنه... اگه هنوز مشکلتون حل نشده کدتون رو بذارید نگاه بشه

sajadcg
دوشنبه 03 بهمن 1390, 17:00 عصر
دستورتون درسته ولی احتمال داره چیزی که توی textboxهاتون نوشته شده ی یا ک توش باشه و یکیشون عربی و دیگری فارسی باشه..البته شاید.. چون در غیر این شورت برنامه باید کار کنه... اگه هنوز مشکلتون حل نشده کدتون رو بذارید نگاه بشه

دوست گرامی مقدار جفتشون انگلیسیه.
کد من توی اولین پست هست.

Hybrid
دوشنبه 03 بهمن 1390, 17:07 عصر
بابا دوست عزیز این برنامت رو سورسش رو بزار ببینم چه کار کردی؟؟

موفق باشید./

h-rafiee
دوشنبه 03 بهمن 1390, 18:08 عصر
دستورات بالا رو چک کن احتمالا یک دستوری بالاتر از اینه که این اجازه رو بهت نمیده.
دستورات Event مربوطه رو بزار حتما به جوابی که میخوای می رسی.
همه ی این دستوراتی که تا الان گفته شده درسته و حتی کد خودت هم درسته اما حتما مشکل یکجایه دگ است.

m2_farzan
دوشنبه 03 بهمن 1390, 18:09 عصر
برای این که مطمئن بشید میتونید از Break Point استفاده کنید.

programerinfonet
دوشنبه 03 بهمن 1390, 18:10 عصر
دوست عزیز در ادامه ی فرمایشات دوستان عرض کنم که
1- پروژه ات رو یک بار Rebuild کن
2- ایت کد رو تو یک پروژه ی جدید تست کن ببین جواب میده یا نه که قطعأ میده

returnx
دوشنبه 03 بهمن 1390, 23:30 عصر
میشه بگید از compareto چطور استفاده کنم؟؟
به این صورت:


if (text_pas.Text.CompareTo(text_repaete.Text) == 0)
{
//Condition
}

sajadcg
سه شنبه 04 بهمن 1390, 09:30 صبح
این کل دستور منه:

var db = new linq_DataClassesDataContext();

if (txt_last_pas.Text == pas)
{
if (txt_pas.Text== txt_repaet_pas.Text)
{
Msg.Show(" رمز تکرار شده نامعتبر است", "اخطار", MsgIcon.Error, MsgButton.Ok);

}
else
{
db.login(txt_pas.Text);
}
}
else
{
Msg.Show(" رمز عبور نامعتبر است", "اخطار", MsgIcon.Error, MsgButton.Ok);
}

shadi khanum
سه شنبه 04 بهمن 1390, 10:27 صبح
من از bussiness کارتون خبر ندارم ولی به نظرتون این تیکه کدتون منطقا مشکلی نداره؟
if (txt_pas.Text== txt_repaet_pas.Text) {
Msg.Show(" رمز تکرار شده نامعتبر است", "اخطار", MsgIcon.Error, MsgButton.Ok);
}
چون گفتی اگه هر دو تا پسورد رو مثل هم زد پیغام خطا بده؟!
در هر حال واسه اینکه ببینی دقیقا چی تو کدتون اتفاق می افته روی خط 1 یه breackpoint بذار(f9) و حالا برنامه رو اجرا کن، بعد خط یه خط برنامه رو با f10 جلو ببر و ببین تو Watch ببین دقیقا چی تو textboxهاتون هست

sajadcg
سه شنبه 04 بهمن 1390, 11:04 صبح
من از bussiness کارتون خبر ندارم ولی به نظرتون این تیکه کدتون منطقا مشکلی نداره؟
if (txt_pas.Text== txt_repaet_pas.Text) {
Msg.Show(" رمز تکرار شده نامعتبر است", "اخطار", MsgIcon.Error, MsgButton.Ok);
}
چون گفتی اگه هر دو تا پسورد رو مثل هم زد پیغام خطا بده؟!
در هر حال واسه اینکه ببینی دقیقا چی تو کدتون اتفاق می افته روی خط 1 یه breackpoint بذار(f9) و حالا برنامه رو اجرا کن، بعد خط یه خط برنامه رو با f10 جلو ببر و ببین تو Watch ببین دقیقا چی تو textboxهاتون هست

:قهقهه::قهقهه:
ببخشید .از بس کد ها را جابه جا کردم اینطوری شده.:قهقهه:جای دستور msg و db.login باهم باید عوض بشه.

sajadcg
پنج شنبه 06 بهمن 1390, 08:56 صبح
من با روشی که گفتید برنامه را اجرا کردم در textbox اول مقدار null هست و در textbox دوم عددی که وارد کردم!!!!
چرا textbox اولی با اینکه من مقداری درش وارد کردم خالیه؟؟؟؟؟

چطور این مشکل را برطرف کنم؟؟؟؟؟

h-rafiee
پنج شنبه 06 بهمن 1390, 12:45 عصر
Name ها تکست باکسات رو بررسی کن.

amir3321
پنج شنبه 06 بهمن 1390, 14:33 عصر
ببین موقع ایجاد textbox دوبار روی هم ایجاد نکردی

shadi khanum
پنج شنبه 06 بهمن 1390, 17:30 عصر
شاید textbox اولتون به جایی بایند شده و به خاطر همین با اینکه توش دیتا وارد میکنی ولی چون اون دیتاسورسی که بهش بایند کردی خالیه Null میشه . اون تابعی که خط اول نوشتی رو بررسی کن ببین اون بلایی سر textbox نمیاره. ضمنا یه سوال دیگه بعد از اینکه مقادیر رو وارد میکنی و دکمه رو میزنی و کاری که میخوای انجام نمیشه value اون textbox اولتون در ظاهر هم خالی میشه یا نه؟ چون اگه نشه به قول دوستمون احتمالا اصلا این textbox که میبنید ان که تو کد نوشتین نیست!