Hi yourself! Here is the problem in the code: FOR i = 0 TO ListView1.Count - 1 ' write items in listview2 TRY PRINT myArray[i] listview1.MoveTo(myArray[i]) TRY c = listview1.Item.Key TRY PRINT myArray[i], "listview1.item.key ", c, " counter i: ", i, " total count: ", listview1.Count TRY listview2.add(c, listview1.item.text) NEXT
When the counter i reaches Listview1.Count -1 it gives an error and does not write the last record! I have compensated by writing an extra dummy record to the data file- but how do I code this properly to write the whole list? I have tried several things and they just give different errors. Thanks JB Simonart Dominique wrote: > > 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 > Gambas-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gambas-user > > -- View this message in context: http://www.nabble.com/A-random-sort-of-listview-tp22919766p23008540.html Sent from the gambas-user mailing list archive at Nabble.com. ------------------------------------------------------------------------------ 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 Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user