PDA

View Full Version : سوال: می خواهم یک جستجو کننده بسازم .



aradrobo
پنج شنبه 26 بهمن 1391, 19:43 عصر
من یک تکست باکس دارم که توش متن زیر نوشته شده :


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

حالا در یک تست باکس دیگه کلمه "ایران" رو می نویسم . می خواهم که در تکست باکس اول که متن بالا بود یک جستجو انجام دهد و هرجا که کلمه ای مربوط به ایران وجود داشد برایم در لیست باکس نمایش دهد . یعنی باید کلمات زیر در آیتم های لیست باکس قرار بگیرد :
ایران
ایرانی
ایرانیها

لطفاً اگر اطلاعاتی در این زمینه دارید به من کمک کنید . با تشکر

aradrobo
پنج شنبه 26 بهمن 1391, 20:38 عصر
واقعیتش خوب یاد نگرفتم . اگه امکان داره آموزش دهید .

SHD.NET
پنج شنبه 26 بهمن 1391, 20:57 عصر
من یک تکست باکس دارم که توش متن زیر نوشته شده :


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

حالا در یک تست باکس دیگه کلمه "ایران" رو می نویسم . می خواهم که در تکست باکس اول که متن بالا بود یک جستجو انجام دهد و هرجا که کلمه ای مربوط به ایران وجود داشد برایم در لیست باکس نمایش دهد . یعنی باید کلمات زیر در آیتم های لیست باکس قرار بگیرد :
ایران
ایرانی
ایرانیها

لطفاً اگر اطلاعاتی در این زمینه دارید به من کمک کنید . با تشکر

مواد مورد نیاز:
دو عدد تکست باکس که یکیش خالی باشه و یکیش متنی که ما میخوایم کلمه مورد نظرمون رو توش جستجو کنیم،
یک عدد باتن و یک عدد لیست باکس

کد زیر را در رویداد کلیک دکمه بنویسید:
if ((TextBox1.Text == null))
{
return;
}
string[] sp = TextBox2.Text.Split(Convert.ToChar(32));
ListBox1.Items.Clear();
int i;
for (i = 0; (i
<= (sp.Length - 1)); i++)
{
try
{
if ((sp[i].Substring(0, TextBox1.Text.Length) == TextBox1.Text))
{
ListBox1.Items.Add(sp[i]);
}
}
catch
{
}

}


**موفق باشید**

SHD.NET
پنج شنبه 26 بهمن 1391, 21:03 عصر
سورس برنامه ای رو که داشتم ر وش کارمیکردم رو هم توی این پست ضمیمه کردم

ولی به نظرم Split که یه دستور ساده و کاربردیه یادگرفتنش اینقدر سخت نباشه، بهتره یادش بگیرین، این دستور سادس و منابع انگلیسی هم میتونن راه خوبی برای یادگرفتن باشند.

**یاعلی**

docendo
پنج شنبه 26 بهمن 1391, 23:38 عصر
این موتور جستجو در مورد ورد تکست و پی دی اف است (http://www.codeproject.com/Articles/18050/C-search-engine-refactored-to-search-Word-PDF-and)

aradrobo
جمعه 27 بهمن 1391, 08:21 صبح
سورس برنامه ای رو که داشتم ر وش کارمیکردم رو هم توی این پست ضمیمه کردم

ولی به نظرم Split که یه دستور ساده و کاربردیه یادگرفتنش اینقدر سخت نباشه، بهتره یادش بگیرین، این دستور سادس و منابع انگلیسی هم میتونن راه خوبی برای یادگرفتن باشند.

**یاعلی**

متاسفانه من ویژئل استادیو 2012 ندارم و از 2010 استفاده می کنم و نمی توانم فایل شما را دریافت کنم . ولی بازم خیلی متشکرم .

aradrobo
جمعه 27 بهمن 1391, 08:29 صبح
مواد مورد نیاز:
دو عدد تکست باکس که یکیش خالی باشه و یکیش متنی که ما میخوایم کلمه مورد نظرمون رو توش جستجو کنیم،
یک عدد باتن و یک عدد لیست باکس

**موفق باشید**

آیا می توان کلمه قبل و بعد جستجو رو هم به لیست باکس اضافه کرد ؟

یعنی اگر نوشتیم ایران ، در لیست باکس به این صورت نمایش داده شود :
از ایران
ایرانی هستم
ایرانیها خیلی
اینجا ایران

aradrobo
جمعه 27 بهمن 1391, 09:01 صبح
چند تا سوال داشتم ممنون می شوم پاسخ دهید .

1- چرا از Convert.ToChar(32) استفاده کردید ؟ یعنی چرا اگر 32 را به 64 تبدیل می کنم پاسخی داده نمی شود ؟

2- "sp.Length - 1" این شرط چه چیزی را بررسی می کند ؟

3- در مورد عملکرد دستور زیر توضیح دهید .
if ((sp[i].Substring(0, textBox1.Text.Length) == textBox1.Text))
{
listBox1.Items.Add(sp[i]);
}

aradrobo
جمعه 27 بهمن 1391, 12:09 عصر
اگر از Visual studio استفاده میکنید میتونید از F9 F10 و F11 کمک بگیرید.

یعنی چی ؟ لطفاً کامل توضیح دهید .

SHD.NET
جمعه 27 بهمن 1391, 13:18 عصر
سلامی مجدد

1- چرا از Convert.ToChar(32) استفاده کردید ؟ یعنی چرا اگر 32 را به 64 تبدیل می کنم پاسخی داده نمی شود ؟

منظور ما از Convert.ToChar(32) تبدیل 64 بیت به 32 نیست، چون ما باید در سی شارپ در دستور اسپلیت از کاراکتر یونیکد استفاده کنیم، باید کاراکتر اسکی به یونیکد تبدیل کنیم که 32 همون مشخصه حرف Spacec هستش، که ما توسط این حرف کلمه ها رو از هم جدا می کنیم،

2- "sp.Length - 1" این شرط چه چیزی را بررسی می کند ؟
چون sp ارایه ای است که کلمه ها توی اون ریخته شده، ما با یک حلقه از شماره 0 تا کلمه آخر آرایه رو میخونیم و با یک شرط اونو بررسی می کنیم

در خصوص سوال سوم هم من چون برنامه نویسی رو سنتی یاد گرفتم و بدون کتاب و کلاس و ... (منظورم اینه که از نت و سایت های خارجی و ... یاد گرفتم) ، توضیحش اینجوری خیلی برام سخت بود، همون دوتا سوال اول هم شک دارم که درست توضیح دادم یا نه، در هر صورت اگه مشکلی داشت دوستان خودشون اصلاح کنند و به بزرگی خودشون ببخشند

aradrobo
شنبه 28 بهمن 1391, 17:34 عصر
آیا می توان کلمه قبل و بعد جستجو رو هم به لیست باکس اضافه کرد ؟

یعنی اگر نوشتیم ایران ، در لیست باکس به این صورت نمایش داده شود :
از ایران
ایرانی هستم
ایرانیها خیلی
اینجا ایران