PDA

مشاهده نسخه کامل : جستجو در ArrayList ؟



softsoft
15-07-10, 19:47
ما یه ArrayList داریم که اطلاعاتی توش هست . با کد زیر میشه توش سرچ کرد . مثلا
Public Code, sName As New ArrayList
این کد رو توی فرم لود کپی کنید

Code.Add("فروردین")
Code.Add("فروردین")
Code.Add("اردیبهشت")
Code.Add("اردیبهشت")
Code.Add("خرداد")
sName .Add("1")
sName .Add("2")
sName .Add("3")
sName .Add("4")
sName .Add("5")

یک تکت باکس و لیست باکس و دکمه به فرم اضافه کنید .و کد زیر رو توی دکمه بنویسید:
نام تکست باکس : SchText

If SchText.Text = "" Then Exit Sub
SchText.Text = LCase(SchText.Text)
For Each i As String In Code
i = LCase(i)
If i.Contains(SchText.Text) Then SearchF.ListBox1.Items.Add(i)
Next

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

ravegoat
15-07-10, 21:48
با سلام!

دوست عزيز از اين كد تو دكمه استفاده كنيد:



If SchText.Text = "" Then Exit Sub
Dim strinx As Integer
SchText.Text = LCase(SchText.Text)
For Each i As String In Code
i = LCase(i)
If i.Contains(SchText.Text) Then
strinx = Code.IndexOf(SchText.Text, strinx) + 1
ListBox1.Items.Add(CStr(strinx) + " - " + i)
End If
Next

من به جاي عبارت SearchF.ListBox1.Items عبارت ListBox1.Items.Add رو استفاده كردم چون نگفته بوديد اين SearchF چيه.

موفق باشيد
آرمين

softsoft
16-07-10, 15:10
نمیدونم این کدی رو که گذاشتید رو خودتون امتحان کردید یا نه . این که همش کنار جواب عدد 0 رو مینویسه .

ravegoat
16-07-10, 21:17
نمیدونم این کدی رو که گذاشتید رو خودتون امتحان کردید یا نه . این که همش کنار جواب عدد 0 رو مینویسه .

بله امتحان كرده بودم. بدون هيچ مشكلي كار مي كنه. خود پروژه رو براتون ضميمه كردم. خودم پروژه رو تست كردم و مشكلي نداشت. حتي دو تا متد سرچ كردن هم براش گذاشتم.

پروژه رو رو دانلود كنيد. اگر احيانا" مشكلي داشت، اطلاع بديد تا بررسي كنم.

آرمين

softsoft
18-07-10, 10:18
این کدی رو که گذاشتید هم مثل همون کد قبلی .خودتون امتحان کنید . کلمه "ار" رو درون لیست باکس بنویسید و روی دکمه اول کلیک کنید.
چی میبینید :
اردیبهشت - 0
اردیبهشت - 0
این جواب یعنی چی ؟ مثل اینکه شما خوب سوال من رو نخوندید یا متوجه نشدید. اگه جواب بخواد درست در بیاد باید مثل زیر بشه .
اردیبهشت - 3
اردیبهشت - 4
روی دکمه ی دوم هم که کلیک میکنیم که اصلا Error میده .
با این حال ممنونم خودم تونستم جوابشو پیدا کنم. میزارم تا بقیه استفاده کنن.
If SchText.Text = "" Then Exit Sub
SchText.Text = LCase(SchText.Text)
For i = 0 To Code.Count - 1
If Code.Item(i).contains(SchText.Text) Then
ListBox1.Items.Add(Code.Item(i) & " - " & sName(i.ToString))
Label1.Text = sName(i.ToString)
End If
Next


==================================
ممنون میشم اگه سوال پست قبلی ام رو یعنی مشکل در فایل XML رو پاسخ بدید

ravegoat
18-07-10, 15:19
این کدی رو که گذاشتید هم مثل همون کد قبلی .خودتون امتحان کنید . کلمه "ار" رو درون لیست باکس بنویسید و روی دکمه اول کلیک کنید.
چی میبینید :
اردیبهشت - 0
اردیبهشت - 0
این جواب یعنی چی ؟ مثل اینکه شما خوب سوال من رو نخوندید یا متوجه نشدید. اگه جواب بخواد درست در بیاد باید مثل زیر بشه .
اردیبهشت - 3
اردیبهشت - 4
روی دکمه ی دوم هم که کلیک میکنیم که اصلا Error میده .
با این حال ممنونم خودم تونستم جوابشو پیدا کنم. میزارم تا بقیه استفاده کنن.
If SchText.Text = "" Then Exit Sub
SchText.Text = LCase(SchText.Text)
For i = 0 To Code.Count - 1
If Code.Item(i).contains(SchText.Text) Then
ListBox1.Items.Add(Code.Item(i) & " - " & sName(i.ToString))
Label1.Text = sName(i.ToString)
End If
Next


دوست عزيز بنده خيال كردم كه شما از متد جست و جوي MatchCase مي خواستيد استفاده كنيد. خب اين مشكل خيلي راحت قابل حل است:great:. از كد زير استفاده كنيد:



If SchText.Text = "" Then Exit Sub
Dim strinx As Integer
SchText.Text = LCase(SchText.Text)
For Each i As String In Code
i = LCase(i)
If i.Contains(SchText.Text) Then
strinx = Code.IndexOf(i, strinx) + 1
ListBox1.Items.Add(sName(strinx - 1) + " - " + i)

End If

Next

softsoft
19-07-10, 09:22
من که فکر نمیکنم شما سوال رو متوجه نشده باشید .چون پروژه ای رو که گذاشته بودید کلا مشکل داشت و دمکه ی دومشم که خطا داشت .من که جواب رو گذاشتم لازم نبود شما دیگه جواب بذارید.:gasp:
ممنون میشم اگه سوال : مشکا در فایل XML رو جواب بدید