Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
Delphi 10 Seattle Enterprise
|
AW: String in Array einlesen
4. Jun 2013, 22:40
Die alles entscheidende Frage: Für welche Delphi Version?
Mit den Generics ist das sehr simpel gemacht:
Delphi-Quellcode:
uses
System.SysUtils,
System.Generics.Defaults,
System.Generics.Collections;
type
TMyData = record
Col1, Col2, Col3 : string;
end;
var
AList : TList<TMyData>;
AList.Sort( TComparer<TMyData>.Construct(
function ( const Left, Right : TMyData ) : Integer
begin
Result := CompareStr( Left.Col2, Right.Col2 );
end ) );
und ohne Generics geht das so
Delphi-Quellcode:
type
PMyData = ^TMyData;
TMyData = record
Col1, Col2, Col3 : string;
end;
function CompareMyDataCol2( Item1, Item2 : Pointer ) : Integer;
begin
Result := CompareStr( PMyData( Item1 ).Col2, PMyData( Item2 ).Col2 );
end;
var
AList : TList;
AList.Sort( @CompareMyDataCol2 );
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
Geändert von Sir Rufo ( 5. Jun 2013 um 11:24 Uhr)
Grund: Fehler im Non-Generic Teil behoben
|