View Full Version : سوال در مورد ListBox
odyseh
جمعه 22 مهر 1390, 01:56 صبح
سلام خدمت اساتید انجمن
خسته نباشید
من یک تیکه برنامه میخوام برام بنویسید که خیلی ساده هست اما خودم هرچقدر فکر کردم برای ساختش به نتیجه نرسیدم
یک فرم با 3 لیست باکس
این 3 لیست باکس در زمانهای متفاوت اطلاعات جدید به اونها اضافه میشه
لیست باکس شماره 1 = اگر خالی بود تایمرش صفر باشه. در غیر اینصورت هر 15 دقیقه یکی از آیتمهای اون (آیتم اولی) از لیست باکس Remove بشه
لیست باکس شماره 2 و 3 هم به همین شکل
مرسی
ممنونتون میشم
اینم بگم بد نیست! این برنامه رو برای اضافه کردن به روبات یاهو میخوام ( آیدی روبات: Robo.Jazab )
butterfly8528
جمعه 22 مهر 1390, 02:44 صبح
سلام دوست عزیز .
4 عدد تایمر با نام های tmrChekLists ، tmrList1 ، tmrList2 ، tmrList3 و 3 عدد ListBox با نام های List1 ، List2 ، List3 بر روی فرمتون قرار بدید و از کد های زیر استفاده کنید .
Option Explicit
Private Sub Form_Load()
tmrChekLists.Interval = 10
tmrList1.Interval = 60000
tmrList1.Enabled = False
tmrList2.Interval = 60000
tmrList2.Enabled = False
tmrList3.Interval = 60000
tmrList3.Enabled = False
End Sub
Private Sub tmrChekLists_Timer()
tmrList1.Enabled = List1.ListCount
tmrList2.Enabled = List2.ListCount
tmrList3.Enabled = List3.ListCount
End Sub
Private Sub tmrList1_Timer()
If List1.ListCount = 0 Then
tmrList1.Enabled = False
Else
List1.RemoveItem 0
End If
End Sub
Private Sub tmrList2_Timer()
If List2.ListCount = 0 Then
tmrList2.Enabled = False
Else
List2.RemoveItem 0
End If
End Sub
Private Sub tmrList3_Timer()
If List3.ListCount = 0 Then
tmrList3.Enabled = False
Else
List3.RemoveItem 0
End If
End Sub
موفق و پیروز باشید :لبخندساده:
odyseh
جمعه 22 مهر 1390, 03:51 صبح
مرسی برادر عزیز
کاملا درسته
فقط لیستها رو هر 1 دقیقه ریموو میکنه! میشه بگید چطوری بکنم 10 دقیقه؟
محسن واژدی
جمعه 22 مهر 1390, 08:26 صبح
سلام
با اجازه butterfly8528 عزیز، کد پست شماره 2 بصورت زیر ویرایش کردم، interval تایمر بیشتر از 65535ms (تقریبا 1.10s) خطای سریزبافر میدهد، که در اینصورت نمیتوانیم مستقیما 10 دقیقه را که 600000ms است را در interval جایگزین کنیم
Option Explicit
Const mtl_min@ = 10 '10 = 10 min
Private Sub Form_Load()
Dim i
For i = 0 To 20
List1.AddItem "Item" & i
List2.AddItem "Item" & i
List3.AddItem "Item" & i
Next i
tmrChekLists.Interval = 10
tmrList1.Interval = 1000
tmrList1.Enabled = False
tmrList2.Interval = 1000
tmrList2.Enabled = False
tmrList3.Interval = 1000
tmrList3.Enabled = False
End Sub
Private Sub tmrChekLists_Timer()
tmrList1.Enabled = List1.ListCount
tmrList2.Enabled = List2.ListCount
tmrList3.Enabled = List3.ListCount
End Sub
Private Sub tmrList1_Timer()
tmrList1.Tag = Val(tmrList1.Tag) + 1
If tmrList1.Tag >= mtl_min@ * 60 Then
tmrList1.Tag = 0
If List1.ListCount = 0 Then
tmrList1.Enabled = False
Else
List1.RemoveItem 0
End If
End If
End Sub
Private Sub tmrList2_Timer()
tmrList2.Tag = Val(tmrList2.Tag) + 1
If tmrList2.Tag >= mtl_min@ * 60 Then
tmrList2.Tag = 0
If List2.ListCount = 0 Then
tmrList2.Enabled = False
Else
List2.RemoveItem 0
End If
End If
End Sub
Private Sub tmrList3_Timer()
tmrList3.Tag = Val(tmrList3.Tag) + 1
If tmrList3.Tag >= mtl_min@ * 60 Then
tmrList3.Tag = 0
If List3.ListCount = 0 Then
tmrList3.Enabled = False
Else
List3.RemoveItem 0
End If
End If
End Sub
در کدبالا بعد از هر ده دقیقه یکی از آیتم های موجود در لیست ها حذف میشود که برای تغییر این فاصله، دقیقه جدید را در ثابت "Const mtl_min@ = 10" که در ابتدای کد قرار دارد تنظیم کنید، مقدار وارد شده در این ثابت برحسب دقیقه محاسبه میشود
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.