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;