如何对Delphi中给定列上的表单上的字符串格式进行alpha排序?
答案 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是如何实现的,以了解如何填写上面缺少的代码。
关键点在于,作为对象方法的Compare
和Exchange
函数包含如何比较字符串网格中的项目以及如何交换它们的知识。