PDA

View Full Version : سوال: جست و جو



mohammad1314
یک شنبه 21 آبان 1391, 15:01 عصر
سلام . من یه سوال رو دفعه های قبل هم مطرح کردم اما دوستان راهنمایی خاصی نکردن وفقط چند تا برنامه ی اماده برام گذاشتن . راستش من کارم رو تازه با vb.net شروع کردم ، لطفا راهنمایی کنین.

من یک کمبو باکس به نام cmbwords ویه لیست باکس به نام lstmeaning دارم . در کمبوباکس چندتا لغت انگلیسی دارم و در لیست باکس ، معنی های اون ها رو دارم که دقیقا هر لغت در کمبو باکس با معنیش در لیست باکس اندیسشون برابره . در کمبو باکس این دستور رو نوشتم :
LstMeaning.SelectedIndex = CmbWords.SelectedIndex

یعنی هر لغتی که در کمبو باکس انتخاب کردم ، دقیقا معنی اون در لیست باکس انتخاب شه . تا اینجا مشکلی ندارم. حالا من یه لیست باکس دیگه به نام LstSearch دارم .


میخوام در کمبو باکس یک کلمه رو جست و جو کنم ونتیجه را در lstsearch نشون بده . میخوام زمانی که در کمبوباکس شروع به تایپ کردن کردم ، با توجه به کلمات داخل کمبو باکس ، کلماتی رو که حروفشون شبیه به حروف کلمه ی مورد نظر من هست رو در lstsearch نشون بده . یعنی اول اون هایی که حرف اولشون مثل حرف اول کلمه ی من هست هست بعد حروف دومشون وتا اخر واگر این کلمه در cmbword وجود نداشت lstsearch خالی بمونه . دقیقا مثل جست و جو در دیگر دیکشنری ها یا جست و جو در گوگل .
زمانی که کلمات در lstsearch اومدن ، روی هر کلمه ای که کلیک کردم ، معنیش در lstmeaning انتخاب بشه.
ممنون میشم اگه کد ها رو بنویسین و بگین هر کدوم از کد ها در کدوم قسمت نوشته میشه .
بازم ممنون.

SHD.NET
یک شنبه 21 آبان 1391, 17:51 عصر
سلام

من یه نمونه از این برنامه که شما لازم داشتی رو نوشتم

چند تا کلمه تو برنامه برای مثال خودم اضافه کردم .

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

\\\ موفق باشید ///

mohammad1314
یک شنبه 21 آبان 1391, 18:10 عصر
سلام

من یه نمونه از این برنامه که شما لازم داشتی رو نوشتم

چند تا کلمه تو برنامه برای مثال خودم اضافه کردم .

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

\\\ موفق باشید ///




ممنون . خیلی جوابتون درست و دقیقا همون چیزی بود که میخواستم . فقط یه مشکل هست . من کمبوباکس معنی کلمات رو برداشتم و به جاش یه لیست باکس به نام Lstmeaning گذاشتم اما جست و جوی برنامه دجار مشکل شد . لطفا برنامه رو نگاه کنید .





Public



Class Form1


PrivateSub cmbwords_SelectedIndexChanged(ByVal sender AsObject, ByVal e As EventArgs) Handles CmbWords.SelectedIndexChanged

LstMeaning.SelectedIndex = CmbWords.SelectedIndex


EndSub


PrivateSub LstMeaning_SelectedIndexChanged(ByVal sender AsObject, ByVal e As EventArgs) Handles LstMeaning.SelectedIndexChanged

CmbWords.SelectedIndex = LstMeaning.SelectedIndex


EndSub


PrivateSub TextBox1_TextChanged(ByVal sender AsObject, ByVal e As EventArgs) Handles TextBox1.TextChanged

LstSearch.Items.Clear()


Dim b AsInteger = Len(TextBox1.Text)


Dim a = 0


For i = 1 To CmbWords.Items.Count

CmbWords.SelectedIndex = a

a += 1


If Strings.Left(CmbWords.Text, b) = TextBox1.Text Then

LstSearch.Items.Add(CmbWords.Text)


EndIf


Next


EndSub



PrivateSub LstSearch_Click(ByVal sender AsObject, ByVal e As EventArgs) Handles LstSearch.Click


Dim a = 0

CmbWords.SelectedIndex = a


For i = 1 To CmbWords.Items.Count

CmbWords.SelectedIndex = a

a += 1


If CmbWords.Text = LstSearch.Text Then

MessageBox.Show(
"Mean: " + LstMeaning.Text, "Meaning")


EndIf


Next

TextBox1.Focus()


EndSub

End





Class





لطفا راهنماییم کنین.

SHD.NET
یک شنبه 21 آبان 1391, 19:40 عصر
ممنون . خیلی جوابتون درست و دقیقا همون چیزی بود که میخواستم . فقط یه مشکل هست . من کمبوباکس معنی کلمات رو برداشتم و به جاش یه لیست باکس به نام Lstmeaning گذاشتم اما جست و جوی برنامه دجار مشکل شد . لطفا برنامه رو نگاه کنید .



مطمئنید که به جای کمبو باکس لیست باکس گذاشتین ؟؟
چون اگه لیست باکس بزارید و نام اون رو تغییر بدین هیچ مشکلی رخ نمیده

ولی اگه لیست ویو گذاشته باشید مشکل پیش میاد.فک کنم شما لیست ویو گذاشتین

فایل ضمیمه رو نگاه کنین . خودم به جای کمبو لیست باکس گذاشتم.

mohammad1314
یک شنبه 21 آبان 1391, 22:31 عصر
فهمیدم اشکال از کجاست. تکست باکس به بزرگ و کوچیکی حروف حساسه . چی کار کنم که حساس نباشه؟

SHD.NET
یک شنبه 21 آبان 1391, 23:24 عصر
فهمیدم اشکال از کجاست. تکست باکس به بزرگ و کوچیکی حروف حساسه . چی کار کنم که حساس نباشه؟

دوست عزیز لازم نبود برای این کار تاپیک جدید بزنی . همین جا می پیرسیدی جوابتو میدادم . اما باید این کد رو در قسمت جستجوی برنامت ویرایش کنی و بنویسی :

If Strings.LCase(Strings.Left(CmdWords.Text, b)) = TextBox1.Text Then
LstSearch.Items.Add(CmdWords.Text)
End If

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

\\\ موفق باشید ///

mohammad1314
یک شنبه 21 آبان 1391, 23:52 عصر
ممنون این برنامه دیگه کامل شد.بازم ممنون که برام وقت گذاشتین وبابت اون تاپیک جدید معذرت میخوام.

میخوام چندتا سوال دیگه هم اینجا از شما بپرسم . همانطور که گفتم من کارم رو تازه با vb.net شروع کردم . میخوام برای ارتباط اکسس با vb.net منو راهنمایی کنید .
من دانشجوی ترم اول کاردانی، رشته کامپیوتر هستم . برای این ترم به من یک پرو ژه ی دیکشنری دادن که باید از access یا sql استفاده کنم و من هم قبلا این دو برنامه رو به vb.net ارتباط ندادم .
من در access سه فیلد دارم . یه ستون برای لغات انگلیسی به نام word، یه ستون معانی فارسی به نام persian و یه ستون معانی انگلیسی به نام english . من پایگاه داده ام امادست یعنی برای سه ستون تعدادی کلمه وارد کردم . اما روش اتصال access به vb.net رو نمیدونم . اگه میشه راهنماییم کنین؟؟؟؟؟؟؟؟

SHD.NET
دوشنبه 22 آبان 1391, 06:23 صبح
من در access سه فیلد دارم . یه ستون برای لغات انگلیسی به نام word، یه ستون معانی فارسی به نام persian و یه ستون معانی انگلیسی به نام english . من پایگاه داده ام امادست یعنی برای سه ستون تعدادی کلمه وارد کردم . اما روش اتصال access به vb.net رو نمیدونم . اگه میشه راهنماییم کنین؟؟؟؟؟؟؟؟

دوست عزیز منم توی vb.net مثل شما تازه کارم . یه هفته ای میشه که اومدم اینجا . ولی اینارو خودم از vb6 بلد بودم . خودمم کار با بانک اطلاعاتی رو بلد نیستم . اگه شما مطلب اموزنده و خوبی پیدا کردین به منم اطلاع بدین . چون منم دنبالش هستم.

ممنون

\\\ موفق باشید ///