View Full Version : مشکل در صدا زدن boolean در کلاس
ramin149
دوشنبه 12 مهر 1389, 18:48 عصر
کد من در کلاس به این صورت
public class Validator
{
Address ad = new Address();
Label lbl_error = new Label();
public Validator(Label error)
{
this.lbl_error = error;
}
public void txt_name(TextBox name, Image img_error, Boolean cname)
{
RequiredFieldValidator rfv = new RequiredFieldValidator();
rfv.ControlToValidate = name.ID;
rfv.ErrorMessage = "نام خالی است";
if (rfv.IsValid)
{
cname = true;
img_error.ImageUrl = ad.ImgTrue;
}
else
{
lbl_error.Text += "<br>" + rfv.ErrorMessage;
img_error.ImageUrl = ad.ImgFalse;
cname = false;
}
}
و در صفحه ام به این صورت صدا می زنم
Validator var = new Validator(lbl_error);
var.txt_name(txt_name,img_name,Boolean cname);
if (cname==true)
{
}
چه شکلی باید بگم اگر cname=true بود یه کاری رو انجام بده ؟؟؟
majnun
دوشنبه 12 مهر 1389, 19:17 عصر
خب مقدار برگشتی تابع را درون یه متغیر بولین بریزید بعد از شرط استفاده کنید
bool res=var.txt_name(txt_name,img_name,Boolean cname);
در ضمن بابع باید مقدار برگردونه
return bool
ramin149
دوشنبه 12 مهر 1389, 23:51 عصر
کمک فوری
به زحمت یکی کمک کنه و بگه من تو این متد چه شکلی می تونم یک بولین رو برگردونم
public void txt_name(TextBox name, Image img_error, Boolean cname)
{
RequiredFieldValidator rfv = new RequiredFieldValidator();
rfv.ControlToValidate = name.ID;
rfv.ErrorMessage = "نام خالی است";
if (rfv.IsValid)
{
img_error.ImageUrl = ad.ImgTrue;
return cname = true;
}
}
hamhik
سه شنبه 13 مهر 1389, 00:02 صبح
تابع شما خروجیش از نوع void هست یعنی بدون خروجی باید به جای void نوع bool را بنویسید
public bool txt_name(TextBox name, Image img_error, Boolean cname)
ramin149
سه شنبه 13 مهر 1389, 01:26 صبح
الان مشکلم در کلاس با این کد درست شد
public bool txt_name(TextBox name, Image img_error, Boolean cname)
{
RequiredFieldValidator rfv = new RequiredFieldValidator();
rfv.ControlToValidate = name.ID;
rfv.ErrorMessage = "نام خالی است";
if (rfv.IsValid)
{
img_error.ImageUrl = ad.ImgTrue;
return cname = true;
}
else
{
lbl_error.Text += "<br>" + rfv.ErrorMessage;
img_error.ImageUrl = ad.ImgFalse;
return cname = false;
}
}
ولی برای صدا زدن هنوز مشکل دارم با این کد
bool bname= var.txt_name(txt_name,img_name,Boolean cname) ;
و مشکلم روی cname
majnun
سه شنبه 13 مهر 1389, 01:30 صبح
bool bname= var.txt_name(txt_name,img_name,Boolean cname) ;
شما باید برای ورودی تابع یک مقدار بولین بدهید
Boolean cname ؟؟؟
اینو امتحان کن
bool bname= var.txt_name(txt_name,img_name,true) ;
ramin149
سه شنبه 13 مهر 1389, 01:45 صبح
کد آخری درسته که true می زارم ولی این همیشه صحیح می زاره فکر کنم مشکل از کلاس باشه اگر میشه کمکم کنید .
واقعا لنگم . فکر کنم مشکل از کلاس باشه ؟؟؟
hamhik
سه شنبه 13 مهر 1389, 01:56 صبح
شما باید پارامتر ورودی boolean cname رو در تابع پاک کنید مقدار خروجی تابع
public bool txt_name(TextBox name, Image img_error) برابر با مقداری که توی cname هست دیگه چه نیازیه cname رو تو پارامتر ورودیتون داشته باشید
به جای دستور زیر
return cname = true;
این دستور رو بنویسید
return true;
و به جای دستور
return cname = false;
این دستور رو بنویسید
return false;
alonemm
سه شنبه 13 مهر 1389, 09:14 صبح
دوست من شما اول متغییر از نوع بولین تعریف کن سپس به عنوان یک پارامتر ورودی بفرستش.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.