[Gambas-user] A random sort of listview

Simonart Dominique simonart.dominique at ...11...
Tue Apr 7 12:42:14 CEST 2009


Hi,

Hmm, did you run exactly this code? If so, there is 
something wrong with the second FOR NEXT loop

jbskaggs a écrit :
> using your suggestions and the swap command vs manual swapping this is my
> code:
> 
> public b as string  'optional string used to hold the array data for file or
> split later
> 
> PUBLIC SUB button4_click() ' initialize array
> DIM myArray AS Integer[200]
> DIM a AS Integer
> DIM i AS Integer
> 
> FOR i = 0 TO 199 STEP 1 'add array items 
>  myArray[i] = i 
> NEXT 
> 
> FOR i = 0 TO 199 STEP 1 ' random swap array items
> a = Int(Rnd(i + 1))
> SWAP myArray[i], myArray[a]
> NEXT 
> 

the right code is:

FOR i = 199 TO 0 STEP -1
    ...
NEXT

> 
> FOR i = 0 TO 199 STEP 1 ' write items in listview2
> listview1.MoveTo(myArray[i])
> c = listview1.Item.Key
> listview2.add(c, listview1.item.text) 
> NEXT 
> 
> 
> 
> FOR i = 0 TO 199 STEP 1 'optional step to write array as a string for file
> or whatever use
> b &= "slot" & myArray[i] & ","
> NEXT 
> PRINT b
> END
> 
> PUBLIC SUB Button1_Click() 'an optional way to load the array values from
> the variable b and / or a file if b was file loaded
> DIM egg AS String[]
> DIM c AS String
>  listview1.Clear
>  egg = Split(b, ",")
>  FOR EACH c IN egg 
> TRY listview1.Add(c, c) 
> IF ERROR THEN RETURN 
> NEXT 
> IF listview1.Count >= 200 THEN RETURN 
> END
> 
> JB Skaggs
> 

Dominique Simonart





More information about the User mailing list