Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#16

AW: TSTRINGLIST in ein Array kopieren

  Alt 14. Okt 2011, 14:19
Immer noch ungetestet, sollte aber hoffentlich funktionieren.
Delphi-Quellcode:
type
  TDeinArray = array of array of string;
  
procedure DateiEinlesen(const Dateiname: string; out ResultArray: TDeinArray);
var
  LineList, FieldList: TStrings;
  i, j: integer;
begin
  //Zeilen
  LineList := TStringlist.Create;
  try
    LineList.LoadFromFile(Dateiname);
    //erste Dimension ist nun bekannt, Länge setzen
    SetLength(ResultArray, LineList.Count);
    //Felder
    FieldList := TStringlist.Create;
    try
      FieldList.Delimiter := #9;
      FieldList.StrictDelimiter := true;
      for i := 0 to LineList.Count - 1 do
        begin
          //Zeile in Felder zerlegen
          FieldList.DelimitedText := LineList[i];
          //Nun ist auch die zweite Dimension bekannt, Länge setzen
          SetLength(ResultArray[i], FieldList.Count);
          //...und befüllen
          for j := 0 to FieldList.Count - 1 do
            ResultArray[i][j] := FieldList[j];
        end;
    finally
      FieldList.Free;
    end;
  finally
    LineList.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  TestArray: TDeinArray;
  i: integer;
begin
  DateiEinlesen('C:\Dideldum\Wuppdi.txt', TestArray);
  for i := Low(TestArray) to High(TestArray) do
    ShowMessage(Format('Zeile %d enthält %d Felder.', [i + 1, Length(TestArray[i])]));
end;
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