جستجو در یک متن در سی شارپ

#C

توسط arfanz در 6 سال پیش
0 79.5k 12 6 سال پیش
arfanz daniel c0der thearrow stackoverflow
0

سلام
من یک فایل تکس را وارد برنامه میکنم و و با زدن دکمه یک اسم رو جستجو می کنم حالا من می خاهم فقط اسمو درن تکس باکس وارد کنم و با زدن دکمه شروع به جستجو اسم درون متن کنه اگر جلو اون اسم عدد 1 یا 2 وجود داشت به من یک پیغام بده در غیر این صورت برود ادامه جستجو لطفا کمکم کنید با تشکر

آخرین ویرایش: 08-07-2014 ساعت 14:30، توسط Daniel
0

سلام، به سافت افزار خوش اومدید
این پروژه رو ببینید: [url]http://www.softafzar.net/thread439.html/[/url]
بهتر نیست خودتون رو کادر عدد یک و 2 رو وارد کنید بجای اینکه کدشو بنویسی؟ چون اینطوری جست و جو تون محدود میشه؟

0

> سلام، به سافت افزار خوش اومدید این پروژه رو ببینید: [url]http://www.softafzar.net/thread439.html/[/url] بهتر نیست خودتون رو کادر عدد یک و 2 رو وارد کنید بجای اینکه کدشو بنویسی؟ چون اینطوری جست و جو تون محدود میشه؟
سلام نه نمیشه نوشت چونه برنامه جوری است که فقط باید اسمو جستوجو کنه الان یک نمونه رو میزارم پایین اگه بیشتر بتونید کمکم کنید ممنون میشم
0

من می خواهم درون تکس باکس اگه این تگ <MR> وارد شد درون فایل تکس رو جستجو کنه اگر جلو آن فقط عد 1 یا 2 بود به من نشون بده اگه عدد غیر از این بود برود ادامه جستجو"تگ های دیگه هم برای جستجو استفاده میکنم فقط میخاستم این تگ اون شرط بالا هم داشه باشد"اگه کمکم کنید ممنون میشم

<Y>
<HR> <DN>ÈíãÇÑÓÊÇä ÔåÏÇí ÎáíÌ ÝÇÑÓ (ÝÇ Øãå ÒåÑÇ ) ÈæÔåÑ</DN> <DC>1000000021</DC> <RC>915</RC> <FD>930101</FD> <TD>930131</TD> </HR> <X> <PH> <SQ>1</SQ><ND> </ND><RD>930102</RD><VD>13931229</VD><PT>103</PT><SN>349096383050402505</SN><RN>6</RN><PC>105726</PC><PP>34700</PP><PS>10410</PS><IS>24290</IS><SS>3490963830</SS><CK>1</CK><PG>1</PG><SG>02</SG> </PH> <BY> <MH><MG>0085023</MG><MP>15100</MP><MI>10570</MI><MS>4530</MS><MR>4</MR><MD>1</MD></MH> <MH><MG></MG><MP>10700</MP><MI>7490</MI><MS>3210</MS><MR>2</MR><MD>1</MD></MH> <MH><MG>0080001</MG><MP>8900</MP><MI>6230</MI><MS>2670</MS><MR>3</MR><MD>1</MD></MH>
0

[CSHARP] string[] array = { "1", "2" };
foreach (string item in array)
{
int pos = textBox1.Text.IndexOf(txtsearch.Text + item);
if (pos != -1)
{
textBox1.SelectionStart = pos;
textBox1.SelectionLength = txtsearch.Text.Length + 1;
}
}[/CSHARP]

خاصیت HideSelected تکست باکس رو هم False کن.

0

سلام ممنون که کمکم کردید دستون درد نکنه امیدوارم همیشه تو زندگیتون موفق باشید

0

سلام من از کد شما استفاده کردم اما نتونستم ازش جواب بگیرم لطفا راهنمایی کنید
"من کد رو درون رویداد کلیک لیبل نوشتم که این شرط مخصوص تگ <CK>باشد "
[CSHARP] private void button1_Click(object sender, EventArgs e)
{
Stream mystream;

        OpenFileDialog openfile = new OpenFileDialog();

        if (openfile.ShowDialog() == DialogResult.OK)
        {

            if ((mystream = openfile.OpenFile()) != null)
            {

                string strfilename = openfile.FileName;

                String filetext = File.ReadAllText(strfilename);

                richText.Text = filetext;
            }

        }
    }
    
   private void lbl_1_Click(object sender, EventArgs e)
    {
        txt_serch.Text = "<CK>";
        string[] array = { "1", "2" };
        foreach (string item in array)
       {
           int pos = txt_serch.Text.IndexOf(richText.Text + item);
             if (pos != -1)
            {
                txt_serch.SelectionStart = pos;
                txt_serch.SelectionLength = richText.Text.Length + 1;
            }     
      }
    }      [/CSHARP]
0

سلام من از کد شما استفاده کردم اما نتونستم ازش جواب بگیرم لطفا راهنمایی کنید
"من کد رو درون رویداد کلیک لیبل نوشتم که این شرط مخصوص تگ <CK>باشد "
[CSHARP]view source
print?
private void button1_Click(object sender, EventArgs e)
{
Stream mystream;

           OpenFileDialog openfile = new OpenFileDialog();
 
           if (openfile.ShowDialog() == DialogResult.OK)
           {
 
               if ((mystream = openfile.OpenFile()) != null)
               {
 
                   string strfilename = openfile.FileName;

                   String filetext = File.ReadAllText(strfilename);
 
                   richText.Text = filetext;
               }
 
           }
       }
        
      private void lbl_1_Click(object sender, EventArgs e)
       {
           txt_serch.Text = "<CK>";
           string[] array = { "1", "2" };
           foreach (string item in array)
          {
              int pos = txt_serch.Text.IndexOf(richText.Text + item);
                if (pos != -1)
               {
                   txt_serch.SelectionStart = pos;
                   txt_serch.SelectionLength = richText.Text.Length + 1;
               }    
         }
       }[/CSHARP]
0

Hide Selected را غیر فعال کردی؟
برای تست textbox بذار امتحان کن؟

0

> Hide Selected را غیر فعال کردی؟ برای تست textbox بذار امتحان کن؟
سلام آره این دو کارو انجام دادم ولی جواب نداد ، میشه تو این سایت فایل هم زمیمه کرد تا فایلمو جهت بررسی بفرستم
0

سلام
من نفهمیدم برنامه ـت واسه چیه!
اما بفرما، امتحانش هم کردم. توی richTextBox جستجو میکنه و هم Select میکنه و هم رنگِ پس زمینه رو عوض میکنه و هم رنگِ خوده متن رو:

[CSHARP]
string startTag = "<CK>", endTag = "</CK>", body = richTextBox1.Text;
if (!string.IsNullOrEmpty(body))
{
int i1 = body.IndexOf(startTag) + 4;
string str = body.Substring(i1);
int i2 = str.IndexOf(endTag) + 0;
str = str.Substring(0, i2);
richTextBox1.SelectionStart = i1;
richTextBox1.SelectionLength = 1;
richTextBox1.SelectionColor = Color.Red;
richTextBox1.SelectionBackColor = Color.Yellow;
if (!string.IsNullOrEmpty(str))
{
if (str == "1" || str == "2")
txtSearch.Text = str;
else
txtSearch.Text = "Not Found";
}
else
txtSearch.Text = "Not Found";
}
else
txtSearch.Text = "Please insert text";
[/CSHARP]

تکست باکسِ SelectionBackColor این رو نداره اما با تکست باکس هم میشه بدونِ این ساخت
موفق باشی

0

مرسی دوست خوبم برنامه جواب داد امیدوارم همیشه موفق باشی

0

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

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.