Explode (
Ein dynamisches Array aus einem String erzeugen)
Delphi-Quellcode:
Function Explode(Const Separator, S: String; Limit: Integer = 0): TStringDynArray;
... {hier den Code von Explode einfügen}
Procedure TForm1.btStartClick(Sender: TObject);
Var f: TextFile;
Zeile, I: Integer;
ZeileS: String;
ZeileA: TStringDynArray;
Begin
OpenDialog1.Execute;
Zeile := 0;
StringGrid1.RowCount := StringGrid1.FixedRows + 1;
StringGrid1.ColCount := StringGrid1.FixedCols + 1;
StringGrid1.Cells[StringGrid1.FixedCols, StringGrid1.FixedRows] := '';
AssignFile(f, OpenDialog1.FileName);
Reset(f);
While not EoF(F1) do Begin
ReadLn(f, ZeileS);
ZeileA := Explode('.', ZeileS);
Inc(Zeile);
StringGrid1.RowCount := StringGrid1.FixedRows + Zeile;
If StringGrid1.ColCount < StringGrid1.FixedCols + Length(ZeileA) Then
StringGrid1.ColCount := StringGrid1.FixedCols + Length(ZeileA);
For I := 0 to Length(ZeileA) - 1 do
StringGrid1.Cells[StringGrid1.FixedCols + I, StringGrid1.FixedRows + Zeile - 1] := ZeileA[I];
End;
CloseFile(f);
End;
(nicht getestet)
Wenn es funktioniert, wird die Datei ins StringGrid1 geladen, dabei wird sogar alles so verschieben, dass die Daten nicht in den fixierten Spalten/Zeilen stehen. (in die fxierten Teile können dann noch Überschriften oder so eingetragen werden)
Wenn die fixierten Zeilen/Spalten nicht benötigt werden, braucht StringGrid1.FixedCols und StringGrid1.FixedRows einfach nur auf 0 gesetzt werden. StringGrid1.FixedCols und StringGrid1.FixedRows können dann einfach rausgekürtzt werden (einfach löschen).
http://www.FrankNStein.de/Smiley-Kuss.gif * *
http://www.FrankNStein.de/Smiley-Spinne.gif * * *
http://www.FrankNStein.de/Smiley-Winken.gif