Tri inversé dans une tlistbox

Contenu du snippet

ListBox.Sorted, mais inversé. Bah, ça casse pas trois pattes à un canard, mais ça répond à une question posée sur le forum...

Et comme les réponses faites sur le forum semblent peu ou mal consultées, autant que ça profite à tout le monde.

Il me semble qu'il n'y a pas de commentaire particulier à faire, le code est assez évident.

Pour les débutants : l'exécution est protégée dans un bloc try..finally..end, afin d'être sûr que la StrinList créée sera libérée.

Source / Exemple :


procedure ReverseSorted(ListBox: TListBox);
var i: Integer;
    ListSorted: TStringList;
begin
  ListBox.Sorted := True;
  ListSorted := TStringList.Create;
  try
    ListSorted.Text := ListBox.Items.Text;
    ListBox.Sorted := False;
    ListBox.Clear;
    for i := (ListSorted.Count - 1) downto 0 do
    begin
      ListBox.Items.Add(ListSorted[i]);
    end;
  finally
    ListSorted.Free;
  end;
end;

// Exemple d'utilisation:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ReverseSorted(ListBox1);
end;

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.