intfunit.pas

来自「《Delphi COM深入编程》原书光盘」· PAS 代码 · 共 34 行

PAS
34
字号
unit IntfUnit;

interface

type
  ICompare = interface
    ['{DDFE0840-E8FB-11D2-9085-0040F6741DE2}']
    function CompareWith(ACompare: ICompare; ASortBy: Integer): Integer;
  end;

procedure SortArray(var A: Array of IUnknown; ASortBy: Integer);

implementation

procedure SortArray(var A: Array of IUnknown;
  ASortBy: Integer);
var
  I, J: Integer;
  Temp: IUnknown;
begin
  for I := Low(A) to High(A) - 1 do begin
    for J := I + 1 to High(A) do begin
      if (A[J] as ICompare).CompareWith(A[I] as ICompare, ASortBy) < 0 then begin
        Temp := A[I];
        A[I] := A[J];
        A[J] := Temp;
      end;
    end;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?