08/06/13 11:46:29
前に書いたソートサンプル。適当に解読してくれ。
{ Private 宣言 }
ColumnToSort: Integer;
LastColumnToSort: Integer;
Ascending: Integer;
procedure TForm1.FormCreate(Sender: TObject);
begin
ColumnToSort := -1;
LastColumnToSort := -1;
end;
procedure TForm1.listviewColumnClick(Sender: TObject; Column: TListColumn);
begin
ColumnToSort := Column.Index;
if (Ascending > 0) and (ColumnToSort = LastColumnToSort) then
Ascending := -1
else
Ascending := 1;
LastColumnToSort := ColumnToSort;
listview.AlphaSort;
end;
procedure TForm1.listviewCompare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
begin
Compare := ( StrToInt(Item1.SubItems[ColumnToSort-1]) - StrToInt(Item2.SubItems[ColumnToSort-1]) ) * Ascending;
end;