Jump to content

to not make a random number appear twice

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
2 replies to this topic

#1
Darkyere

Darkyere

    Newbie

  • Members
  • PipPip
  • 13 posts
I have made this application where theres a tlistview whit image destinations in it.

Then i got a timer to shift the picture.

then ive addet a random function to shuffle through the picture.

now what i want to happen is that the same picture dont get shown twice.

So what i tried was to put the number of the picture in another tlistview and make a "While do" to check if randomly generated number is shown in the list.

this is the code ive tried using.
		    randomnr := random(listview1.Items.Count -1);
                    
		    x := 0;

                    While x<listview2.Items.Count - 1 do
                      begin

                        if listview2.Items[x].Caption = inttostr(randomnr) then
                          begin

                            randomnr := random(listview1.Items.Count -1);

                            x := 0;

                          end;

                        x := x +1;

                      end;

            item := listview1.Items[randomnr];
            form2.image1.Picture.LoadFromFile(item.Caption);

            listview2.Items.Add.Caption :=  inttostr(randomnr);

This is how the form looks like
img.photobucket.com /albums/ v291/ Rambus666/ Programmering/ MultipleFilesDialog.jpg

All help is apreciatet :)

Best regards,
Darkyere

Edited by WingedPanther, 19 November 2008 - 01:17 PM.
add code tags (the # button)


#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
What I would do is have a second listview that is hidden and shift the items from the one you are searching on to the hidden one. That way, you cannot get the same image twice.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
jakefrog

jakefrog

    Newbie

  • Members
  • PipPip
  • 11 posts
You just check if the actual number is in a list or array that you can store a number already found!