PDA

View Full Version : در هم ریختن آیتم های لیست باکس



aryasoft2872
جمعه 31 اردیبهشت 1389, 20:17 عصر
فک می کنم این موضوع تکراری باشه ولی چی کارکنم که هرچی جستجو کردم چیزی یافت نشد به هر حال اگه تکراریه ببخشید:خجالت::

می خواستم آیتم های یکدونه لیست باکس رو به هم بریزم اینجور کد نوشتن به ذهنم رسید ولی فک کردم راه های منطقی تر و ساده تری هم باید باشه به هر حال کدهای من رو ببینید و اگه روش بهتری هم بود ممنون می شم که بهم بگید.(البته یک مشکلی که داره اینه که همیشه 0 اول قرار میگیره)


Randomize
Dim RndNum As Integer
Load List(1)
List(1).Visible = True
List(1).Left = 0
List(1).Top = 0
For i = 0 To 15
List(0).AddItem i
List(1).AddItem ""
Next
For i = 0 To 15
Do Until List(1).List(RndNum) = ""
RndNum = Int(Rnd * 16)
Loop
List(1).List(RndNum) = i
Next
List(0).Clear
For i = 0 To 15
List(0).AddItem List(1).List(i)
Next
Unload List(1)

parselearn
جمعه 31 اردیبهشت 1389, 21:33 عصر
Private Sub Command1_Click()
Dim str1 As String, str2 As String
Dim in1 As Integer, in2 As Integer

For i = 0 To List1.ListCount - 1
Randomize

in1 = Rnd * 50
str1 = List1.List(in1)
in2 = Rnd * 50
str2 = List1.List(in2)
List1.List(in1) = str2
List1.List(in2) = str1
Next i
End Sub

Private Sub Form_Load()
For i = 0 To 50
List1.AddItem i
Next i
End Sub

aryasoft2872
جمعه 31 اردیبهشت 1389, 23:40 عصر
ممنون ولی اگه عدد نبود چی میشه؟؟

monitor
شنبه 01 خرداد 1389, 22:10 عصر
سلام.
مي توني يك عدد random بين65 تا 90توليد كني و با تابع chr به حرف تبديلش كني.
r = int(rnd*25 + 65)
list1.additem chr(r)

aryasoft2872
یک شنبه 02 خرداد 1389, 10:35 صبح
منظورمو کسی نفهمید مثلا لیستی داری این آیتم ها می خوام به هم بریزه:

مجتبی
احمدرضا
حسین
محمد

parselearn
جمعه 07 خرداد 1389, 06:09 صبح
Private Sub Command1_Click()
Dim str1 As String, str2 As String
Dim in1 As Integer, in2 As Integer

For i = 0 To List1.ListCount - 1
Randomize Timer

in1 = CInt(Rnd * List1.ListCount - 1)
in1 = IIf(in1 < 0, 0, in1)
str1 = List1.List(in1)
in2 = CInt(Rnd * List1.ListCount - 1)
in2 = IIf(in2 < 0, 0, in2)
str2 = List1.List(in2)
If str2 <> "" Then List1.List(in1) = str2
If str1 <> "" Then List1.List(in2) = str1
Next i
End Sub

Private Sub Form_Load()
' For i = 0 To 50
' List1.AddItem i
' Next i

List1.AddItem "a"
List1.AddItem "b"
List1.AddItem "c"
List1.AddItem "d"

End Sub