Bonjour,

j'ai dans un TListBox une combinaison de chiffres de 1-90 tirés au hazard.
J'aimerais la trier, bien sûr,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
procedure TMainUnit.btnSortClick(Sender: TObject);
begin
 ListeduTirage.Sorted:=False;
 ListeduTirage.Sorted:=True;
end;
fonctionne, sauf qu'il s'agit du tri "caractère" donc 1,11,15,2,23,4,40 ...
Alors que je veux bien l'ordre numérique 1,2,4,11,15,23,40

j'ai donc tenté ceci mais sans succès (sinon je n'aurai pas ouvert la discussion )
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
 
procedure TMainUnit.btnSortClick(Sender: TObject);
var Compare: TFMXObjectSortCompare;
begin
Compare:=function(item1, item2: TFmxObject): Integer
  var n1,n2 : integer;
  begin
    n1:=StrToint(TListBoxItem(item1).ItemData.Text);
    n2:=StrToint(TListBoxItem(item2).ItemData.Text);
    if n2=n1 then result:=0
    else begin
      if n2>n1 then Result := 1
               else Result := -1;
    end;
  end;
  ListeDuTirage.Sort(Compare);
end;
Je suis sûr que c'est un truc tout bête mais il faut que je me mette au travail. Je laisse reposer ça en attendant mes pauses.