Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: String in Array einlesen

  Alt 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
  Mit Zitat antworten Zitat