دوستان یک لیست دارم که توش چندتا کلمه هست.
یک تکست هم دارم که توش یک جمله هست حالا می خوام وقتی روی کامند کلیک بشه کلماتی که توی لیست هستند یکی یکی چک بشه و اگر یک کلمه ای که در لیست بود و در تکست هم بود برنامه اررور بده که این کلمه هست.
Printable View
دوستان یک لیست دارم که توش چندتا کلمه هست.
یک تکست هم دارم که توش یک جمله هست حالا می خوام وقتی روی کامند کلیک بشه کلماتی که توی لیست هستند یکی یکی چک بشه و اگر یک کلمه ای که در لیست بود و در تکست هم بود برنامه اررور بده که این کلمه هست.
این کد رو امتحان کنید:
Private Sub Command1_Click()
a = Split(txt1.Text)
For i = 0 To UBound(a)
For j = 0 To List1.ListCount - 1
List1.ListIndex = j
If a(i) = List1.Text Then
MsgBox ("detected")
End If
Next j
Next i
End Sub
کار نمی کنه. فایل ضمیمه رو ببینید دوستان اگه زحمتی نیست اونو ایدیت کنید برام
همون کدی که گذاشتم باید جواب بده!
اگه اروری مشاهده کردید احتمالا به خاطر این هست که باید نام text1 رو به txt1 تغییر بدید.
البته اگر میخواهید که با yes و no مشخص بشه , پیشنهاد من این هست که در کدی که براتون قرار دادم یک متغیر از نوع Boolean تعریف کنید و در به جای دستور msgbox مقدار متغیر رو true کنید. در نهایت بعد از حلقه ها با یک دستور شرطی متغیر رو بررسی کنید و دستور موردنظرتون ( پیام Yes یا no ) رو تعریف کنید.
Dim strSplit() As String
strSplit = Split(Text1.Text)
For i = 0 To UBound(strSplit)
For j = 0 To List1.ListCount - 1
List1.ListIndex = j
If strSplit(i) = List1.Text Then
MsgBox ("ok")
End If
Next j
Next i