Alpha排序stringgrid

时间:2011-04-10 16:20:27

标签: delphi

如何对Delphi中给定列上的表单上的字符串格式进行alpha排序?

1 个答案:

答案 0 :(得分:1)

TStringGrid没有内置的排序工具,所以你需要自己动手。就个人而言,我使用一些通用的排序代码,可以对比较函数和交换函数进行排序:

type
  TCompareIndicesFunction = function(Index1, Index2: Integer): Integer of object;
  TExchangeIndicesProcedure = procedure(Index1, Index2: Integer) of object;

procedure Sort(const First, Last: Integer; Compare: TCompareIndicesFunction; Exchange: TExchangeIndicesProcedure);
begin
  //insert search algorithm here
end;

您可以查看Generics.Collections.TArray.Quicksort是如何实现的,以了解如何填写上面缺少的代码。

关键点在于,作为对象方法的CompareExchange函数包含如何比较字符串网格中的项目以及如何交换它们的知识。