View Full Version : جستجو در ListBox
alizanganeh
سه شنبه 17 مرداد 1391, 17:11 عصر
سلام دوستان
میخوام بدونم حلقه ی for رو چطوری باید بنویسم که با اون بتونم توی یک listbox جستجو کنم
مثلا ببینیم که آِیا توی این لیست باکس گزینه ی "ALI" هستش یا نه و اگر بود listindex رو بگیرم
ممنون
arenaw
سه شنبه 17 مرداد 1391, 17:40 عصر
سلام
Dim i As Integer, Srch As Integer
Srch = -1
For i = 0 To List1.ListCount - 1
If List1.List(i) = "ALI" Then Srch = i: Exit For
Next
MsgBox Srch
متغیر Srch میشه ایندکس اولین کلمه ی علی توی لیست (اگه -1 بود یعنی پیدا نکرده چیزی)
محسن واژدی
سه شنبه 17 مرداد 1391, 18:43 عصر
سلام علیکم
در مورد ListBoxهای بزرگ میتوانیم از apiی زیر استفاده کنیم
کد زیر را در ماژول کد یا فرم کپی کنید: Private Const LB_FINDSTRING = &H18F
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long
Public Function ListBoxFind(lListBox As ListBox, sTargetStr$, Optional lStartIndex& = -1) As Long
ListBoxFind = SendMessage(lListBox.hWnd, LB_FINDSTRING, lStartIndex&, ByVal sTargetStr$)
End Function
برای مثال: Private Sub Command2_Click()
MsgBox ListBoxFind(List1, "Ali")
End Sub
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.