View Full Version : جابجایی اسامی listbox
  
aleas2
دوشنبه 06 آذر 1391, 09:54 صبح
سلام خسته نباشید دوستان بنده یه listbox تعداد محتویاتش معلوم نیست چند تاست میخواستم بدونم چطور میتونم این محتویات بصورت رندم جایشونو عوض کنم به طور مثال وقتی میخواهی قرعه کشی کنی این اسامی رو بهم میزنی منم میخوام با لیست باکس هم کارو بکنم چطور اینکارو بکنم؟
محسن واژدی
دوشنبه 06 آذر 1391, 10:19 صبح
سلام علیکم
کد زیر را بررسی کنید:
Private Sub Command1_Click()
    Dim iIt1%, iIt2%
    Dim sIt1$, sIt2$
    Dim sItems$
    With List1
        Do
            Randomize
            iIt1% = Int(Rnd() * .ListCount)
            Randomize
            iIt2% = Int(Rnd() * .ListCount)
            If iIt1% <> iIt2% And InStr(1, sItems$, " " & iIt1% & "|") = 0 And InStr(1, sItems$, " " & iIt2% & "|") = 0 Then
                sItems$ = sItems$ & " " & iIt1% & "| " & iIt2% & "|"
                sIt1$ = .List(iIt1%)
                sIt2$ = .List(iIt2%)
                .List(iIt1%) = sIt2$
                .List(iIt2%) = sIt1$
            End If
        Loop Until UBound(Split(sItems$, "|")) >= .ListCount - 1
    End With
End Sub
موفق باشید
aleas2
دوشنبه 06 آذر 1391, 11:08 صبح
میشه روش کار این کد رو بگین ساده تر نمیتونین بگین؟
محسن واژدی
دوشنبه 06 آذر 1391, 11:53 صبح
میشه روش کار این کد رو بگین ساده تر نمیتونین بگین؟
کافیست نام List-Box خوتان را جایگزین List1 موجود در دستورات کنید
موفق باشید
aleas2
دوشنبه 06 آذر 1391, 14:01 عصر
خب حالا یه سوال دگه ما چهار تا لیست باکس داریم میخوام محتویات چهارتا لیست داخل یه لیست باکس قرار بدم بعد میخوام این لیست رو طوری تغییر بدم که بطور مثال
محتویات list1
a
b
c
محتویات list2
aa
bb
cc
محتویات list3
aaa
bbb
ccc
محتویات list4
aaaa
bbbb
cccc
این چهارتا لیست میریزم داخل یه لیست باکس بعد لیست باکس بصورت قرعه بهم بزنه به صورتی که 
ایندیکس ها رعایت بشه یعنی همیشه ایندیکس  b از ایندیکس  a بزرگتر باشه و همینطور c ایندکسش از ایندیکس  a,b بزرگتر باشه و ایندیکس a همیشه از ایندیکس  b,cکوچکتر باشه
همیشه ایندیکس bb از ایندیکس  aa بزرگتر باشه و همینطور ایندیکس  cc از ایندیکس  aa,bb بزرگتر باشه و ایندیکس aa همیشه از ایندیکس  bb,ccکوچکتر باشه
همینطور ادامه داشته باشه
یک نمونه رندم خودم میریزم داخل یه لیست بصورت قرعه بهم میزنم که شرط های بالا برقرار باشه
نمونه 
a
aa
bb
b
aaaa
aaa
bbbb
c
bbb
cccc
cc
ccc
اگر تو محتویات بالا نگاه کنید ایندیکس a از ایندیکس  b,c کوچکتره یا ایندیکس cccاز ایندیکس  aaa,bbb بزرگتره
ضمنا" محتویات لیست ها هیچگاه با بقیه لیست ها برابر نیست یعنی اگر تو لیست یک a وجود داشته باشه تو بقیه لیست ها a وجود نداره و اینکه list.listcount لیست ها هم شاید تعدادشون باهم برابر باشه شاید نباشه !
امیدوارم منظورمو تونسته باشم برسونم
aleas2
دوشنبه 06 آذر 1391, 21:27 عصر
اگر سورسش براتون مشکله الگوریتم بگین
aleas2
سه شنبه 07 آذر 1391, 13:18 عصر
خودم تونستم بنویسمش گفتم اینجا بذارمش شاید کسی دگه هم مثل من بهش نیاز پیدا کرد
دانلود (http://aleas.persiangig.com/other/Random.zip)
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.