PDA

View Full Version : لیست باکس و حلقه



omidpa2
سه شنبه 31 مرداد 1391, 14:02 عصر
سلام دوستان عزیز
من یک دکمه دارم برای استارت برنامه
و یه لیست باکس
و یکسری آیتم که کاربر اضافه میکنه به لیست باکس

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

نکته:تمام دستورات آیتم ها یکیه! و با یکسری تکست باکس اعداد اون تغییر میکنه!

خیلی ور رفتم به جیی نرسیدم:گریه:

zaeimh90
سه شنبه 31 مرداد 1391, 14:08 عصر
سلام عزیز لا اقل کدتو بزار اینجوری بشتر بچه ها گیج میشن. اگه کدتو بزاری راحت میشه کمکت کرد.

omidpa2
سه شنبه 31 مرداد 1391, 14:33 عصر
آخه کد خواصی مشکل ساز نیست
من چون حلقه بلد نیستم به مشکل بر خوردم!
با کلیک رو یه دکمه یه حلقه باید اجرا شه که آیتم ها رو به ترتیب بخونه و کد زیر اجرا میشه
WebBrowser1.Url = New Uri("http://google.com")
با یکسری تکست باکس که کاربر اونارو پر میکنه یه سری اطلاعات وارد سایت میشه

وقتی به آخرین آیتم رسید دوباره از اولین آیتم شروع کنه
تغریبا کاری که میخوام یه چیزی مثل یه اسپمر هست که هی تکرار بشه!

مهرداد صفا
سه شنبه 31 مرداد 1391, 15:33 عصر
سلام
ابتدا یک حلقه do...loop بنویسید و داخل آن با یک حلقه For each تمام item ا را به دست بیاورید. مثلا:

Do
For Each item As Object In ListBox1.Items
My.Application.DoEvents()
textbox1.text = item.ToString()
Next
Loop

چون حلقه طولانیست از DoEvents استفاده کردیم که برنامه علاوه بر حلقه رویدادهای دیگر را هم اجرا کند.

omidpa2
سه شنبه 31 مرداد 1391, 18:11 عصر
ممنون
میشه کامل بگین؟
من حلقه هارو بلد نیستم کارم هم گیره همینه!
آیتم ها یکسری لینک هستن که برنامه یکی یکی اونارو با بروزر باز میکنه! (پشت سر هم) بعد به آخرین که رسید دوباره از اول!

مهرداد صفا
سه شنبه 31 مرداد 1391, 20:12 عصر
ممنون
میشه کامل بگین؟
من حلقه هارو بلد نیستم کارم هم گیره همینه!
آیتم ها یکسری لینک هستن که برنامه یکی یکی اونارو با بروزر باز میکنه! (پشت سر هم) بعد به آخرین که رسید دوباره از اول!
حلقه do....loop که یک حلقه بی نهایت است، در واقع هر دستوری بین do و loop قرار بگیرد دائما تکرار میشود که حلقه دوم ما هم درون حلقه do...loop قرار دارد.
در مورد میستها و کالکشنها هم اینکه دو خصوصیت Count و Item که برای گرفتن تعداد اعضای مجموعه و دسترسی به عضو مورد نظر استفاده میشوند.

Do
For i = 0 To ListBox1.Items.Count
WebBrowser1.Url = ListBox1.Items.Item(i)
Next
Loop

ListBox1.Items یک مجموعه از Item های درون ListBox است که Count بیانگر تعداد Item ها و Item() هم با گرفتن شماره عضو، عضو مربوطه را برمیگرداند.
حلقه ها هم با کلیدواژه For شروع شده با Next خاتمه می یابند و میتوانند از ی متغییر برای شمارش تعداد تکرار استفاده کنند.

for i=0 to 5
msgbox(i)
next
اگر کد بالا را اجرا کنید میبینید که هر بار مقدار I اضافه میشود و حلقه به ازای مقدار i از 0 تا 5 تکرار میشود.
در مورد آرایه ها و مجموعه ها و لیستها میتوانیم از حلقه for each استفاده کنیم؛ به این صورت که اول باید یک متغیر از نوع آرایه یا لیستمان داشته باشیم.

dim list as string()
'...
dim k as string
for each k in list
msgbox(k)
next
در این حلقه که به تعداد اعضای list تکرار میشود به ترتیب k هر بار نماینده یک عضو از list خواهد بود و اگر مقداری به آن بدهیم یا بگیریم مقدار مستقیما از عضو مربوط در list گرفته یا به آن داده میشود.
موفق باشید.

h_a_m_i_d
سه شنبه 31 مرداد 1391, 20:34 عصر
For i = 0 To ListBox1.Items.Count - 1
ListBox1.SelectedIndex = i

'dastorat shoma bayad inja gharar begirad
If ListBox1.Text = "" Then
MsgBox("Empty")
End If

Next
اینم یک نمونه کد که میخواستی امیدوارم کمکت کنه

omidpa2
چهارشنبه 01 شهریور 1391, 17:08 عصر
دوستان ممنو از جواب های کاملتون
من یه خورده ور رفتم و خیلی مبتدیانه مشکلم رو حل کردم
اولین گزینه با کلیک با دکمه ی استارت انتخاب میشه با کد :
ListBox4.SelectedIndex =0
و همزمان با این یک پروجرس و یک تایمر 10 ثانیه شروع به کار میکنن
دستورات مربوط به این آیتم اجرا میشه
توی کمتر از 10 ثانیه کارای اون آیتم انجام میشه و با کد زیر میره سراغ بعدی
ListBox4.SelectedIndex += 1
و توسط کد
Button24_Click(sender, e)
خود برنامه رو دکمه استارت کلیک میکنه :لبخند:
و تا آخر
برای اینکه تو آخرین گذینه مشکل داشتم :
تو ادد آیتم یه ایف گذاشتم اگه لیست باکس خالی بود یه ایتم پایان هم اضافه کنه به آخر لیست باکس
وب هر وقت به اون پایان میرسه یه مسیج باکس کار برنامه رو تموم میکنه

کاری که من کردم در واقع همون کاره حلقه است ولی لقمه رو دور سرم چرخوندم
این راه ها رو گفتم شاید یه بنده خدایی یکی از این نکته ها بکاارش بیاد! و لنگ نمونه


تشکر از همه دوستان