PDA

View Full Version : مشکل لیست باک



omidpa2
پنج شنبه 26 مرداد 1391, 11:21 صبح
سلام
من 4 تا دکمه دارم که 4 تا اسمو وارد لیست باکس میکنن

یه دکمه دیگه هست که کار نرافزار رو شروع میکنه وقتی اونو میزنی باید:
(ترتیب کار هایی که وارد لیست شده برام مهمه)
به طور مثال
"متن 1 = qqq
متن 2 = aaa
متن3 = zzzz
متن 4 = eeee"

حالا من میخوام هر کدوم بالاترین گزینه بود یه تعدادی دستور انجام بشه بعد آیتم پاک بشه بره سرغ بعدی که دستور هاش با دستور های قبلی فرق داره

ممنون میشم کمکم کنید!:افسرده:

JaVa
پنج شنبه 26 مرداد 1391, 12:34 عصر
حالا من میخوام هر کدوم بالاترین گزینه بود یه تعدادی دستور انجام بشه بعد آیتم پاک بشه بره سرغ بعدی که دستور هاش با دستور های قبلی فرق داره

منظورت از بالاترین گزینه کدومه ؟
مثلا متن 1=qqq بالاترین گزینه یا اینکه ترتیب حروف الفبا برات مهمه ؟

omidpa2
پنج شنبه 26 مرداد 1391, 19:54 عصر
اولین آیتم از بالا

tehrandevil
پنج شنبه 26 مرداد 1391, 19:57 عصر
دوست عزیز سوالت رو واضح تر مطرح کن، شاید بشه کمکت کرد

omidpa2
پنج شنبه 26 مرداد 1391, 20:16 عصر
توضیحات برنامه:
با یکسری دکمه کلماتی مثل qqq aaa zzz eee داخل لیست باکس ثبت میشه
هر کدوم این ها به بروزری که داخل برنامه هست یه لینک میده و اون لینک بعد باز شدن روی یک دکمه که داخل اون سایت هست رو میزنه و کارش رو که انجام داد او متنی که داخل تکست باکس هست و مربوط به همین دستورات هست رو پاک میکنه
ترتیب ورودی های تکست باکس مهمه که کاربر کدوم رو اول وارد کرده

قسمتی از کد:

ListBox1.SelectedIndex = 0
If ListBox1.SelectedItem = "aaa" Then
WebBrowser1.Url = New Uri("http://google.com")

For Each element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("button")
If element.GetAttribute("className") = "build" Then
element.InvokeMember("click")
ListBox1.Items.Remove(ListBox1.SelectedItem)
End If
Next

برنامه فوکوس میکنه رو اولین آیتم
وقتی شرط درست باشه دستور شروع میشه
بروزر یه سایت باز میکه
مشکل دوم اینجاست که طول میکشه صفحه لود شه و از دوستان میخوام که راهنمایی کنن چه جوری کاری کنم که این دستور

For Each element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("button")
If element.GetAttribute("className") = "build" Then
element.InvokeMember("click")
ListBox1.Items.Remove(ListBox1.SelectedItem)
End If
Next
بعد 5 ثانیه انجام بشه که بروزر سایت رو کامل لود کرده باشه

و مشکل اصلی اینه که خب حالا به فرض همه کار ها انجام شد و در نهایت آیتم پاک شد چی کار کنم که خود برنامه آیتم بعدی رو سلکت کنه؟!



ممنون از دوستان

tstsst
پنج شنبه 26 مرداد 1391, 23:25 عصر
سلام

Dim cun As Integer = ListBox1.Items.Count
For i = 0 To cun
ListBox1.SelectedIndex = i
If ListBox1.SelectedItem = "a" Then
'Code
ElseIf ListBox1.SelectedItem = "b" Then
'Code
ElseIf ListBox1.SelectedItem = "c" Then
'Code
'ElseIf ...
End If
ListBox1.Items.RemoveAt(i)
Next

پیشنهاد می کنم تاپیک قبلی رو پاک کنی.

omidpa2
جمعه 27 مرداد 1391, 02:12 صبح
دمت گرم داداش حال دادی بهم
البته 2 تا نمیدونم ایراده یا نه ولی باسه من ارور داد[VB]
ListBox1.SelectedIndex = i>>>>>>ListBox1.SelectedItem = i
ListBox1.Items.RemoveAt(i)>>>>>> ListBox1.Items.Remove(ListBox1.SelectedItem)
[VB/]
باید تغیر دادش

مشکل بعدیم اینه که همونطوری که تو کدی که گفتم بروزر یه لینک رو باز میکنه
این باز کردن یه زمانی رو صرف میکنه
من میخوام دستوره بعدیه لود شدن بروزر با 10 ثانیه تاخیر اتفاق بیفته
ممنون میشم این هم راهنمایی کنید

tstsst
جمعه 27 مرداد 1391, 03:04 صبح
یک زمان سنج به صفحه اضافه کن و وقفه زمان رو روی 1000 تنظیم کن و اینو بنویس:

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim cun As Integer = ListBox1.Items.Count
ListBox1.SelectedIndex = tm
If bm = 10 Then
bm = 0
ListBox1.Items.Remove(tm)
tm += 1
Else
If ListBox1.SelectedItem = "1" Then
Button1.Text = 1 & bm
bm += 1
ElseIf ListBox1.SelectedItem = "2" Then
Button1.Text = 2 & bm
bm += 1
ElseIf ListBox1.SelectedItem = "3" Then
Button1.Text = 3 & bm
bm += 1
ElseIf ListBox1.SelectedItem = "4" Then
Button1.Text = 4 & bm
bm += 1
ElseIf ListBox1.SelectedItem = "5" Then
Button1.Text = 5 & bm
bm += 1
ElseIf ListBox1.SelectedItem = "6" Then
Button1.Text = 6 & bm
bm += 1
End If
End If
End Sub

omidpa2
جمعه 27 مرداد 1391, 11:14 صبح
دوستانی که کمک کردم تشکر میکنم!
فکر کنم باسه اون یکی مشکل تاپیک جدیدی باز کنم بهتر باشه!