PDA

View Full Version : سوال: مشکل در پاک کردن حافظه Textbox



firefox2009
سه شنبه 26 آبان 1388, 13:46 عصر
با سلام

من یه برنامه نوشتم زمانی که رشته را در Textbox وارد می کنیم و بر روی button کلید می کنیم یک messagebox پیغام مورد نظر را چاپ می کند . حال مشکل اینجاست زمانی که من رشته قبلی را از داخل Textbox پاک میکنم و رشته جدید را وارد می کنم با کلید روی button برنامه با همان رشته اولی کار می کند کاری به رشته جدید ندارد . لطفا من را راهنمائی کنید.


با تشکر Firefox

Arash_janusV3
سه شنبه 26 آبان 1388, 13:54 عصر
سلام
فکر می کنم متن اولی را تو table ذخیره می کنی و دفعه دوم که می رنی متن table رو نمایش می دی و متن را که پاک می کنی فقط متن text box رو پاک می کنی نه table رو
با این حساب داره درست کار می کنه
شما باید برای بار دوم که وارد می کنه table رو یا insert کنی یا update

Reza.ariyan
سه شنبه 26 آبان 1388, 14:29 عصر
همیشه یه تیکه از کدتو بذار که همه بتونن کمکت کنن
سوالتون خیلی ناقصه

firefox2009
سه شنبه 26 آبان 1388, 14:30 عصر
کدوم table ؟ من یه textbox دارم یه button .

firefox2009
سه شنبه 26 آبان 1388, 14:32 عصر
private void btnparser_Click(object sender, EventArgs e)
{
lookahead = textBox1.Text;
length = lookahead.Length;
first();
if (f)
{
MessageBox.Show(" This String Accept By This Grammer ...");
}
else
{
MessageBox.Show("Just Accept " + num.ToString() + " Charecter .......... " + la);
}
}
string lookahead, la = "";
int length;
bool f = true;
int num = 0;
public void first()
{
A();
if (f)
B();
else
return;
}
public void A()
{
C();
if (f)
D();
else
return;
}
public void B()
{
if (num < length)
{
if (lookahead[num] == '+')
{
la = la + lookahead[num];
num++;
A();
B();
}
else
return;
}
else if (num == length)
return;
else
{
f = false;
}

}
public void C()
{
if (num < length)
{
if (lookahead[num] == '(')
{
la = la + lookahead[num];
num++;
first();
if (lookahead[num] == ')')
{
la = la + lookahead[num];
num++;
}
else
{

f = false;
}
}
else if (lookahead[num] == 'a')
{
la = la + lookahead[num];
num++;
}
else
{
//reject();
f = false;
}

}
else if (num == length)
return;
else
{
//reject();
f = false;
}

}
public void D()
{
if (num < length)
{
if (lookahead[num] == '*')
{
la = la + lookahead[num];
num++;
C();
D();
}
else
return;
}
else if (num == length)
return;
else
f = false;
}

l7i7l7
سه شنبه 26 آبان 1388, 14:35 عصر
با سلام

من یه برنامه نوشتم زمانی که رشته را در Textbox وارد می کنیم و بر روی button کلید می کنیم یک messagebox پیغام مورد نظر را چاپ می کند . حال مشکل اینجاست زمانی که من رشته قبلی را از داخل Textbox پاک میکنم و رشته جدید را وارد می کنم با کلید روی button برنامه با همان رشته اولی کار می کند کاری به رشته جدید ندارد . لطفا من را راهنمائی کنید.


با تشکر Firefox

لطفا بيشتر توضيح بدين

اگه كد يا تصويري از برنامت رو قرار بدي دوستان بهتر ميتونن راهنماييتون كنن

firefox2009
سه شنبه 26 آبان 1388, 14:41 عصر
لطفا بيشتر توضيح بدين

اگه كد يا تصويري از برنامت رو قرار بدي دوستان بهتر ميتونن راهنماييتون كنن


من کد گذاشتم .

l7i7l7
سه شنبه 26 آبان 1388, 14:49 عصر
اين تيكه از كد رو جايگزين كن



private void btnparser_Click(object sender, EventArgs e)
{

length ="";

lookahead = textBox1.Text;
length = lookahead.Length;
first();
if (f)
{
MessageBox.Show(" This String Accept By This Grammer ...");
}
else
{
MessageBox.Show("Just Accept " + num.ToString() + " Charecter .......... " + la);
}
}



بزار قبل از عمليات يه بار محتواي متغير پاك بشه
احتمالا همين باشه

slashslash2009
سه شنبه 26 آبان 1388, 14:55 عصر
این کدی که نوشتی کسی چیزی ازش سر درنمیاره خیلی طولانی هست حتما تو برنامت مشکلی هست بگرد پیداش کن احتمالا محتوای تکست باکستو به یک متغیر میدی و با متغیر کار میکنی و واسه دفعات دیگه هم باید متن تکست باکستو دوباره تو همون متغیر بریزی مشکل از کدته یه جوری تستش کن می فهمی چشه

saed2006
سه شنبه 26 آبان 1388, 14:55 عصر
متغیر رو عمومی تعریف کردی
برای حل شدن مشکلت توی رویداد textchange اون متغییر رو دوباره با مقدار جدید مقدار دهی کن
موفق باشی

Reza.ariyan
سه شنبه 26 آبان 1388, 15:02 عصر
private void btnparser_Click(object sender, EventArgs e)
{
lookahead = "";
la = "";
length=0;
f = true;
num = 0;

lookahead = textBox1.Text;
length = lookahead.Length;
first();
if (f)
{
MessageBox.Show(" This String Accept By This Grammer ...");
}
else
{
MessageBox.Show("Just Accept " + num.ToString() + " Charecter .......... " + la);
}
}


تو رویداد btnparser_Click پنج خط اول رو اضافه کن

Reza.ariyan
سه شنبه 26 آبان 1388, 15:06 عصر
فکر کنم که با این کد میخواهید که کاربر حروف رو از کوچک به بزرگ در Textbox وارد کنه !!!!