salut

je cherchais à très bien mélanger un Tlistbox ou un array (ils contiendront des nombres de 1 à 60)

j'ai cherché sur le forum, et les morceaux de code trouvés ne fonctionnent pas correctement ou alors le mélange n'est pas efficace

sur delphi about ou je trouve toujours tout, j'ai trouvé un code qui me semblait intéressant :

http://delphi.about.com/cs/adptips20...ltip1003_4.htm

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
Place a TButton (Button1) and a TListBox (ListBox1) and try:
 
~~~~~~~~~~~~~~~~~~~~~~~~~
procedure Shuffle(
   var aArray;
   aItemCount: Integer;
   aItemSize: Integer) ;
var
   Inx: Integer;
   RandInx: Integer;
   SwapItem: PByteArray;
   A: TByteArray absolute aArray;
begin
   if (aItemCount > 1) then
   begin
     GetMem(SwapItem, aItemSize) ;
     try
       for Inx := 0 to (aItemCount - 2) do
       begin
         RandInx := Random(aItemCount - Inx) ;
         Move(A[Inx * aItemSize], SwapItem^, aItemSize) ;
         Move(A[RandInx * aItemSize],
              A[Inx * aItemSize], aItemSize) ;
         Move(SwapItem^, A[RandInx * aItemSize],
              aItemSize) ;
       end;
     finally
       FreeMem(SwapItem, aItemSize) ;
     end;
   end;
end;
 
procedure TForm1.Button1Click(Sender: TObject) ;
var
   a: array[1..54] of Integer;
   i: Shortint;
begin
   Randomize;
   for i := Low(a) to High(a) do a := i;
   Shuffle(a, High(a), SizeOf(Integer)) ;
   ListBox1.Clear;
   for i := 1 to High(a) - 1 do
     ListBox1.Items.Add(IntToStr(a)) ;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~
mais ça ne fonctionne pas !

j'ai les messages d'erreur :

[Erreur] Unit1.pas(66): Types incompatibles : 'Array' et 'Shortint'
[Erreur] Unit1.pas(70): Aucune version surchargée de 'IntToStr' ne peut être appelée avec ces arguments


donc voilà j'aimerais votre aide pou faire fonctionner ce code ou alors si vous avez une autre solution? il me faut quelque chose qui mélange bien ^^

merci