RosettaCodeData/Task/Sort-an-array-of-composite-structures/Delphi/sort-an-array-of-composite-structures.delphi
Ingy döt Net 68f8f3e56b all tasks
2013-04-11 01:07:29 -07:00

33 lines
798 B
Text

program SortCompositeStructures;
{$APPTYPE CONSOLE}
uses SysUtils, Generics.Collections, Generics.Defaults;
type
TStructurePair = record
name: string;
value: string;
constructor Create(const aName, aValue: string);
end;
constructor TStructurePair.Create(const aName, aValue: string);
begin
name := aName;
value := aValue;
end;
var
lArray: array of TStructurePair;
begin
SetLength(lArray, 3);
lArray[0] := TStructurePair.Create('dog', 'rex');
lArray[1] := TStructurePair.Create('cat', 'simba');
lArray[2] := TStructurePair.Create('horse', 'trigger');
TArray.Sort<TStructurePair>(lArray , TDelegatedComparer<TStructurePair>.Construct(
function(const Left, Right: TStructurePair): Integer
begin
Result := CompareText(Left.Name, Right.Name);
end));
end.