Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: String in Array einlesen

  Alt 5. Jun 2013, 10:19
Wie kommt Ihr eigentlich darauf, dass das nicht funktionieren soll? In diesem Beispiel ist FList ein privates Formularfeld vom Typ TList.
Delphi-Quellcode:
type
  PRec = ^TRec;
  TRec = record
    Col1, Col2, Col3: string;
  end;

...

//Befüllen
var
  NewRec: PRec;
begin
  New(NewRec);
  NewRec^.Col1 := 'Anton';
  NewRec^.Col2 := 'Berta';
  NewRec^.Col3 := 'Cäsar';
  FList.Add(NewRec);
  New(NewRec);
  NewRec^.Col1 := 'August';
  NewRec^.Col2 := 'Bär';
  NewRec^.Col3 := 'C++';
  FList.Add(NewRec);
  New(NewRec);
  NewRec^.Col1 := 'Auf der Mauer';
  NewRec^.Col2 := 'Auf der Lauer';
  NewRec^.Col3 := 'Dideldum dideldei';
  FList.Add(NewRec);
end;

//Sortieren
function CompareFunc(Item1, Item2: PRec): integer;
begin
  Result := AnsiCompareStr(Item1^.Col2, Item2^.Col2);
end;

procedure TfrmTest.btnSortClick(Sender: TObject);
begin
  FList.Sort(@CompareFunc);
end;

...

//Ausgeben
for i := 0 to FList.Count - 1 do
  begin
    Rec := PRec(FList[i])^;
    mmoAusgabe.Lines.Add(Format('%s;%s;%s', [Rec.Col1, Rec.Col2, Rec.Col3]));
  end;
Das ergibt dann folgende Ausgabe:
Zitat:
Auf der Mauer;Auf der Lauer;Dideldum dideldei
August;Bär;C++
Anton;Berta;Cäsar
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat