[Gambas-user] A random sort of listview
Simonart Dominique
simonart.dominique at ...11...
Sun Apr 12 02:30:25 CEST 2009
Hi,
jbskaggs a écrit :
> Okay I thought this was worked out but its still not working- I always end up
> losing the last two list items.
>
> Here is the console output from my print statements:
> This first list is printing i, a from this command SWAP myArray[i],
> myArray[a]
>
> 21 21
> 20 13
> 19 0
> 18 13
> 17 11
> 16 4
> 15 9
> 14 12
> 13 4
> 12 2
> 11 6
> 10 2
> 9 4
> 8 0
> 7 5
> 6 1
> 5 3
> 4 3
> 3 0
> 2 0
> 1 0
> 0 0
>
Here, you listed i and a but the interesting values are i
and myArray[i] instead
> This list shows where listview1 is being copied into listview2:
>
> listview1.item.key 21 counter i: 21 total count: 22
> listview1.item.key 13 counter i: 20 total count: 22
> listview1.item.key 13 counter i: 19 total count: 22
> listview1.item.key 20 counter i: 18 total count: 22
> listview1.item.key 11 counter i: 17 total count: 22
> listview1.item.key 4 counter i: 16 total count: 22
> listview1.item.key 9 counter i: 15 total count: 22
> listview1.item.key 12 counter i: 14 total count: 22
> listview1.item.key 16 counter i: 13 total count: 22
> listview1.item.key 2 counter i: 12 total count: 22
> listview1.item.key 6 counter i: 11 total count: 22
> listview1.item.key 14 counter i: 10 total count: 22
> listview1.item.key 18 counter i: 9 total count: 22
> listview1.item.key 19 counter i: 8 total count: 22
> listview1.item.key 5 counter i: 7 total count: 22
> listview1.item.key 5 counter i: 6 total count: 22
> listview1.item.key 3 counter i: 5 total count: 22
> listview1.item.key 7 counter i: 4 total count: 22
> listview1.item.key 8 counter i: 3 total count: 22
> listview1.item.key 15 counter i: 2 total count: 22
> listview1.item.key 10 counter i: 1 total count: 22
> listview1.item.key 17 counter i: 0 total count: 22
>
> here is a screen shot of the two lists: listview1 is on the left, you will
> notice that the last two items are not on the random sorted list on the
> right.
>
First, is it correct that you have twice the keys 13 and 5
in ListView1 and that keys 0 and 1 are missing?
I tried to reproduce exactly your keys sequence but as soon
as I want to add an identical key, I get a message and the
programme stop immediatly.
> http://www.nabble.com/file/p23005690/ScreenshotBug.png
>
>
> Here is my code:
>
> PUBLIC SUB button4_click()
> DIM myArray AS Integer[ListView1.count]
> DIM a AS Integer
> DIM i AS Integer
> DIM c AS String
>
> FOR i = 0 TO ListView1.count - 1 STEP 1
> myArray[i] = i
> NEXT
>
> FOR i = ListView1.count - 1 TO 0 STEP -1
> a = Int(Rnd(i + 1))
> SWAP myArray[i], myArray[a]
> PRINT i, a
> NEXT
>
> FOR i = ListView1.count - 1 TO 0 STEP -1 ' write items in listview2 -<<<<< I
> have also tried running this counting up as well but it changed nothing.
>
> listview1.MoveTo(myArray[i])
> TRY c = listview1.Item.Key
> TRY PRINT "listview1.item.key ", c, " counter i: ", i, " total count: ",
> listview1.Count
> TRY listview2.add(c, listview1.item.text)
> NEXT
> 'fGlobal.show
> 'FRolldice.Show
>
> 'ME.Hide
>
> END
>
>
> Sincerly JB SKaggs
>
I run your code and it works quite fine!
I think your missing items come from the duplicated keys
Dominique Simonart
More information about the User
mailing list