PDA

نسخه کامل مشاهده نسخه کامل : گرفتن یک "بلی" از تکس باکس ! C#



vorojax
13-04-2010, 08:55
سلام دوستان مخصوصا علی آقا :40:
یک برنامه نوشتم که یک تکس را از ورودی می گیره...اگه خط اولش "بلی" بود تیک چک باکس "بلی" رو بزنه...اگه "خیر" بود تیک چک باکس "خیر" رو بزنه....ولیکن تشخیص نمی ده!
حتی زدمش که خط اول رو بیاره تو تکس باکس بعد اگر تکس باکس بلی بود تیک بلی رو بزنه بازم جواب نداد ! اما اگر به غیر از تکس که از خارج وارد میشه خودم داخل تکس باکس بلی بنویسم اون متوجه میشه....
این بلی که از بیرون از طریق تکس میاد
با اینی که تو سی شارپ مستقیم تو تکس باکس می نویسم چه فرقی داره؟
چطور مشکل را حل کنم؟
یا علی

عــــلی
13-04-2010, 20:28
سلام دوست عزیز.
حقیقتش من اصلاً متوجه نشدم که شما چی گفتید!!! ببخشید.

ولی اگر میخواید که خط اول کادر متن رو بگیرید از کد زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در صورت درست بودن شرط Check چک باکس رو تغییر بدید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سوالی بود در خدمتیم.
موفق باشید.

vorojax
13-04-2010, 21:58
دوست تشکر...
بنده چنین چیزی نوشتم...ولی انگا نوع کدی که از یک فایل تکس باکس که یونی کد سیو شده وقتی توسط برنامه سی شارپ گرفته میشه قابل شناسایی نیست...
مثلا نوشتم که

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا مثلا لاین 21 نوشتم بلی....
حتی تکس باکس رو قرار می دوم با s که "بلی" داخلشه....داخلش بلی میاد...ولی وقتی می زنم s=="بلی" جواب نمی ده..حتی تکس باکسی که از بلی فایل بیرونی گرفته شده رو وارد تکس می کنم بعد شرط می زارم بازم تشخیص نمی ده....شاید باید تبدیلش کنم ...

کد کامل :


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace Mehr
{
public partial class Tolidi : Form
{
public Tolidi()
{
InitializeComponent();
}

private void label26_Click(object sender, EventArgs e)
{

}

private void textBox20_TextChanged(object sender, EventArgs e)
{

}

private void tableLayoutPanel5_Paint(object sender, PaintEventArgs e)
{

}

private void Tolidi_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'databaseDataSet.MoSHtaraK' table. You can move, or remove it, as needed.
this.moSHtaraKTableAdapter.Fill(this.databaseDataS et.MoSHtaraK);
// TODO: This line of code loads data into the 'databaseDataSet.Tolidi' table. You can move, or remove it, as needed.
this.tolidiTableAdapter.Fill(this.databaseDataSet. Tolidi);

moSHtaraKBindingSource.Position = moSHtaraKBindingSource.Find("id_net", Class1.Id_net);
tolidiBindingSource.Position = tolidiBindingSource.Find("id_net", Class1.Id_net);

}

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
moSHtaraKBindingSource.SuspendBinding();
moSHtaraKTableAdapter.Update(databaseDataSet.MoSHt araK);
tolidiBindingSource.SuspendBinding();
tolidiTableAdapter.Update(databaseDataSet.Tolidi);
MessageBox.Show("با موفقیت ذخیره شد");
this.Close();
}

private void importToolStripMenuItem_Click(object sender, EventArgs e)
{

int i = 0;
string ads;
openFileDialog1.ShowDialog();
ads = openFileDialog1.FileName;
if (ads != "openFileDialog1")
{
string data = System.IO.File.ReadAllText(ads);
foreach (string s in data.Split('\n'))
{
i += 1;
if (i == 1)
textBox1.Text = s;
if (i == 2)
textBox2.Text = s;
if (i == 3)
textBox3.Text = s;
if (i == 4)
textBox4.Text = s;
if (i == 5)
textBox5.Text = s;
if (i == 6)
textBox6.Text = s;
if (i == 7)
textBox7.Text = s;
if (i == 8)
textBox8.Text = s;
if (i == 9)
textBox9.Text = s;
if (i == 10)
textBox10.Text = s;
if (i == 11)
textBox11.Text = s;
if (i == 12)
textBox12.Text = s;
if (i == 13)
textBox13.Text = s;
if (i == 14)
textBox14.Text = s;
if (i == 15)
textBox15.Text = s;
if (i == 16)
textBox16.Text = s;
if (i == 17)
textBox17.Text = s;
if (i == 18)
textBox18.Text = s;
if (i == 19)
textBox19.Text = s;
if (i == 20)
textBox20.Text = s;
if (i == 21)
{

if (s == "بلی")
{
checkBox1.Checked = true;
}
if (s == "خیر")
checkBox2.Checked = false;
}
if (i == 22)
textBox21.Text = s;
if (i == 23)
{
//checkBox3;
//checkBox4;
//checkBox5;
}
if (i == 24)
{
//checkBox6;
//checkBox7;
}
if(i == 25)
{
//checkBox7;
//checkBox8;
}
if (i == 26)
textBox22.Text = s;

}
}
}

private void groupBox1_Enter(object sender, EventArgs e)
{

}


}
}





یا علی

karim_medusa
14-04-2010, 12:28
به جای

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بنویس


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

vorojax
14-04-2010, 14:15
سلام و تشکر از شما دوست عزیز

توفیقی نداشت.....راه دگری نیست؟

_ermia
14-04-2010, 17:14
سلام
شما میخواید اگه تو تکس باکس کلمه بلی تایپ شده بود، چک بلی تیک بخوره و برای خیر هم همچنین، درسته دیگه؟
خب همین چیزی که شما میخواید رو تست کردم، مشکلی نیست و جواب میده.
توی اون قطعه کدی که شما تو پست 3 گذاشتی، s چیه؟ اسم تکس باکس؟ خب شما از تکس باکس بخواید متن رو بخونید باید بنویسید s.text ، وگرنه s خالی که معنی نمیده:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

چیزی هم که جناب hamishebahar گفتن تو پست 2، کاملا صحیحه، تست کردید؟؟

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


کد دوم بهترم هست، چون اگه بعد از بلی یا خیر که تو تکس باکس نوشته میشه، اینتر زده بشه کد دوم درست کار میکنه اکا برای کد اول نباید دیگه اینتر زده بشه (یعنی اندازه تکس باکس مثلا 3 در نظر گرفته بشه)
من که تست کردم و مشکلی هم نداره. (البته اگه سوال شما همین چیزی باشه که من برداشت کردم)

عــــلی
14-04-2010, 17:39
سلام همه کدهایی که دوستان دادن درست کار میکنه.
احتمالا سیستم شما با کاراکتر ی فارسی مشکل داره و مثل این میمونه که شما ی رو از داخل SQL بخونین که Unicode اون با ی فارسی فرق میکنه و برای همین عمگر مقایسه ای False میشه.
من یک سمپل نوشتم میتونی امتحانش کنی:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید و سربلند.