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 ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com _______________________________________________ Gambas-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gambas-user
