پیدا کردن متن در سی شارپ
#1
Note 
سلام من کد پایین رو دارم این کد فقط تگ <MI> در اولین خط را پیدا میکنه ، باید چه دستوری اضافش کنم که درون فایل تکس تمامی تگ های <MI> را همزمان باهم انتخاب کند
[CSHARP]string startTag = "<MI>", endTag = "</MI>", body = richText.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);
richText.SelectionStart = i1;
richText.SelectionLength=str.Count();
listBox1.Items.Add(richText.SelectedText);
richText.SelectionBackColor = Color.Yellow;

}
else
txt_serch.Text = "Please insert text";[/CSHARP]
این هم نمونه فایل تکس
<SQ></SQ><ND> </ND><RD>930102</RD><VD>13931229</VD><PT>103</PT><SN>34904259</SN><RN>6</RN><PC>105726</PC><PP>34700</PP><PS>10410</PS><IS>24290</IS><SS>3490963830</SS><CK>0</CK><PG>1</PG><SG>02</SG>
<MH><MG>0085023</MG><MP>15100</MP><MI>88888</MI><MS>4530</MS><MR>1</MR><MD>1</MD></MH>
<MH><MG></MG><MP>10700</MP><MI>7490</MI><MS>3210</MS><MR>1</MR><MD>1</MD></MH>
<MH><MG>0080001</MG><MP>8900</MP><MI>6230</MI><MS>2670</MS><MR>1</MR><MD>1</MD></MH>
<PH>
<SQ></SQ><ND>930101</ND><RD>930101</RD><VD></VD><PT>103</PT><SN>349022794852406705</SN><RN>5</RN><PC>105726</PC><PP>38400</PP><PS>11520</PS><IS>26880</IS><SS></SS><CK></CK><PG>3</PG><SG>02</SG>
</PH>
<MH><MG>0081000</MG><MP>10700</MP><MI>7490</MI><MS>3210</MS><MR>1</MR><MD>1</MD></MH>
<MH><MG>0087086</MG><MP>18800</MP><MI>13160</MI><MS>5640</MS><MR>1</MR><MD>1</MD></MH>
<MH><MG>0080001</MG><MP></MP><MI>6230</MI><MS>2670</MS><MR>1</MR><MD>1</MD></MH>
<PH>
<SQ></SQ><ND>930101</ND><RD>930101</RD><VD></VD><PT>103</PT><SN>237145631457407103</SN><RN>3</RN><PC>105726</PC><PP>38400</PP><PS>11520</PS><IS>26880</IS><SS>2371456314</SS><CK>3</CK><PG>2</PG><SG>02</SG>
</PH>
<MH><MG>0081000</MG><MP>10700</MP><MI></MI><MS>3210</MS><MR>1</MR><MD>1</MD></MH>
<MH><MG>0087086</MG><MP>18800</MP><MI>13160</MI><MS>5640</MS><MR>1</MR><MD>1</MD></MH>
<MH><MG>0080001</MG><MP>8900</MP><MI>6230</MI><MS>2670</MS><MR>1</MR><MD>1</MD></MH>

آخرین ویرایش: 25-08-2014 ساعت 20:09، توسط Daniel
پاسخ
#2
Note 
سلام،
کدی که اونبار بهت دادم واسه یکی بود!
کلا فقط وقتی میدونی چیزی که دنبالشی یکیه از اون استفاده کن.
این یکی جوابته!
متد:
[CSHARP]
private void FindMyWord(string startTag, string endTag, RichTextBox body)
{
if (!string.IsNullOrEmpty(body.Text))
{
int index = 0;
while (index < body.Text.LastIndexOf(startTag))
{
int i = body.Find(startTag, index, richText.TextLength, RichTextBoxFinds.None);
string a = body.Text.Substring(i + startTag.Length);
a = a.Substring(0, a.IndexOf(endTag) + 0);
body.SelectionStart = i + startTag.Length;
body.SelectionLength = a.Length;
body.SelectionColor = Color.Blue;
index = body.Text.IndexOf(startTag, index) + 1;
listBox1.Items.Add(a);
}
}
else
MessageBox.Show("Please insert text");
}
[/CSHARP]

آموزش استفاده:
[CSHARP]
FindMyWord("<MI>", "</MI>", richText);
[/CSHARP]

موفق باشی

See your dreams every where  and every time , try to remember your dreams because a man lives with his dreams forever
پاسخ
#3
Note 
تشکر بابت این که جوابمو دادید
من میخاستم بدونم از چه راهی استفاده کنم میتنم کد ها رو سریع تر بشناسم ، من الان خودم خیلی نمیتونم برنامه بنویسم به خاطر اینکه کدهارو نمی شناسم ، پیشنهاد شما چی هست از چه روشی استفاده کنم تا کد هارو سریعتر یاد بگیرم با تشکر .

پاسخ
#4
Note 
والا من خودم تازه کارم توی برنامه نویسی و بیشتر کدها رو نمیتونم حفظ کنم(حافظه ضعیفه!)
مثلا واسه کد بالا همچین چیزی رو هیچ جا پیدا نکردم اما یه کد پیدا کردم :
[CSHARP]
if (richTextBox1.Text != string.Empty)
{
int index = 0;
String temp = richTextBox1.Text;
richTextBox1.Text = "";
richTextBox1.Text = temp;
while (index < richTextBox1.Text.LastIndexOf("void"))
{
richTextBox1.Find("void", index, richTextBox1.TextLength, RichTextBoxFinds.None);
richTextBox1.SelectionColor = cl;
index = richTextBox1.Text.IndexOf("void", index) + 1;
}
}
[/CSHARP]
با کدی که قبلا توی اون یکی سوالت داده بودم، مخلوط کردم، شد کدی که میخواستی.
واسه اینکه کد ها رو یاد بگیری بیشتر تمرین کن.
مثلا یک برنامه رو بساز و همینجوری چیزایی که یاد میگیری یا پیدا میکنی و به اون مرتبط هست رو روش پیاده کن تا بهتر یاد بگیری.
اصل برنامه نویسی هم مثله یاد گرفتن زبان میمونه و باید از "الف" شروع کرد تا رسید به "ی".
درسته یادگیری همیشه حوصله آدمو سر میبره اما تا جایی که میتونی تا وقتی که نیاز پیدا نکردی سراغ سورس های آماده نرو، چون 90% همشون گیج کننده هستن، چرا؟
چون ممکنه از کدی استفاده کنن که تو تا حالا از اون استفاده نکردی و واست سخت باشه که خیلی سر خودم اومده.
از "ساده" شروع کن تا برسی به "سخت" که اصول هرکاری همینه.
تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین کن تا جایی که میتونی بقیش میشه مثه کاری که هر روز آدم میکنه( بیدار میشه، دستشویی، صورت شستن و....).
سوال : این فایلِ تکستت واسه چیه؟ چرا اینجوری؟ به چه دردی میخوره؟
موفق باشی

See your dreams every where  and every time , try to remember your dreams because a man lives with his dreams forever
پاسخ
#5
Note 
دوستان برنامه نویس کسی نیست که کد حفظ میکنه، برنامه نویس کسیه که میدونه چطور باید کد بنویسه همونطور که دوستمون the arrow اومد یه چیزی به کدهای قبلی اضافه کرد تا شد اون چیزی که arfanz میخواست. اگر انیشتن هم باشید این همه کد رو نمیتونید حفظ کنید حالا زبانهای برنامه نویسی مختلف هم وجود دارن فقط یکی که نیست.

آخرین ویرایش: 26-08-2014 ساعت 10:28، توسط Stack OverFlow
مردم دنیا 10 دسته هستند: کسانی که باینری میفهمند و کسانی که باینری نمیفهمند !
پاسخ
#6
Note 
The Arrow نوشته است:والا من خودم تازه کارم توی برنامه نویسی و بیشتر کدها رو نمیتونم حفظ کنم(حافظه ضعیفه!)
مثلا واسه کد بالا همچین چیزی رو هیچ جا پیدا نکردم اما یه کد پیدا کردم :
[CSHARP]
if (richTextBox1.Text != string.Empty)
{
int index = 0;
String temp = richTextBox1.Text;
richTextBox1.Text = "";
richTextBox1.Text = temp;
while (index < richTextBox1.Text.LastIndexOf("void"))
{
richTextBox1.Find("void", index, richTextBox1.TextLength, RichTextBoxFinds.None);
richTextBox1.SelectionColor = cl;
index = richTextBox1.Text.IndexOf("void", index) + 1;
}
}
[/CSHARP]
با کدی که قبلا توی اون یکی سوالت داده بودم، مخلوط کردم، شد کدی که میخواستی.
واسه اینکه کد ها رو یاد بگیری بیشتر تمرین کن.
مثلا یک برنامه رو بساز و همینجوری چیزایی که یاد میگیری یا پیدا میکنی و به اون مرتبط هست رو روش پیاده کن تا بهتر یاد بگیری.
اصل برنامه نویسی هم مثله یاد گرفتن زبان میمونه و باید از "الف" شروع کرد تا رسید به "ی".
درسته یادگیری همیشه حوصله آدمو سر میبره اما تا جایی که میتونی تا وقتی که نیاز پیدا نکردی سراغ سورس های آماده نرو، چون 90% همشون گیج کننده هستن، چرا؟
چون ممکنه از کدی استفاده کنن که تو تا حالا از اون استفاده نکردی و واست سخت باشه که خیلی سر خودم اومده.
از "ساده" شروع کن تا برسی به "سخت" که اصول هرکاری همینه.
تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین تمرین کن تا جایی که میتونی بقیش میشه مثه کاری که هر روز آدم میکنه( بیدار میشه، دستشویی، صورت شستن و....).
سوال : این فایلِ تکستت واسه چیه؟ چرا اینجوری؟ به چه دردی میخوره؟
موفق باشی

سلام این یک جستجو کوچیک است که به زبان دلفی نوشته شده بود و من خودم الان میخاستم به زبان سی شارپ بنویسمش اون فایل تکس هم با خودش بود

پاسخ
#7
Note 
سلام یک مشکل کوچیک پیش اومده خیلی اینور و اونورش کردم اما را نیفتاد لطفا راهنمایی کنید
[تصویر:  Untitled_2387.jpg]

پاسخ
#8
Note 
عزیز این خودش متده، نمیتونی توی یک متد دیگه بنویسیش! باید پایین یا بالای Eventـه کلیک بنویسیش!
اینجوری:

[CSHARP]
private void button3_Click(object sender, EventArgs e)
{
FindMyWord("<MI>", "</MI>", richText); // اموزش استفاده
}


private void FindMyWord(string startTag, string endTag, RichTextBox body)
{
if (!string.IsNullOrEmpty(body.Text))
{
int index = 0;
while (index < body.Text.LastIndexOf(startTag))
{
int i = body.Find(startTag, index, richText.TextLength, RichTextBoxFinds.None);
string a = body.Text.Substring(i + startTag.Length);
a = a.Substring(0, a.IndexOf(endTag) + 0);
body.SelectionStart = i + startTag.Length;
body.SelectionLength = a.Length;
body.SelectionColor = Color.Blue;
index = body.Text.IndexOf(startTag, index) + 1;
listBox1.Items.Add(a);
}
}
else
MessageBox.Show("Please insert text");
}
[/CSHARP]

See your dreams every where  and every time , try to remember your dreams because a man lives with his dreams forever
پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note کتاب آموزش Parse کردن یک خبر خوان وردپرسی برای ویندوزفون The Arrow 0 979 23-04-2015 ساعت 09:24
آخرین ارسال: The Arrow
Note سوال ساخت تقویم فارسی در ویندوز 8.1 The Arrow 2 993 16-01-2015 ساعت 00:32
آخرین ارسال: The Arrow
Note دیتابیس SQLite در سی شارپ The Arrow 3 2,433 07-11-2014 ساعت 22:40
آخرین ارسال: VBProgrammer
Note FileAssociation در سی شارپ The Arrow 1 567 05-11-2014 ساعت 12:32
آخرین ارسال: SOFTAFZAR
Note آموزش کامل سی شارپ (ویدئو) xMAN 2 682 02-10-2014 ساعت 12:50
آخرین ارسال: xMAN
Note explorer سی شارپ cMan 1 485 30-08-2014 ساعت 12:07
آخرین ارسال: SOFTAFZAR
Note برنامه نویسی موازی با سی شارپ xMAN 0 450 05-08-2014 ساعت 12:01
آخرین ارسال: xMAN
Note جستجو در یک متن در سی شارپ arfanz 12 2,242 16-07-2014 ساعت 09:32
آخرین ارسال: Stack OverFlow
Note مخفف کنترلهای سی شارپ mshayan 2 849 15-07-2014 ساعت 13:32
آخرین ارسال: mshayan
Note فرم 1 بعد از چند ثانیه بسته شود و فرم 2 باز شود. سی شارپ davoodshahveisi 4 1,008 23-06-2014 ساعت 14:09
آخرین ارسال: Stack OverFlow

کاربرانِ درحال بازدید از این موضوع:   1 مهمان