Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Datei in Stringgrid einlesen

  Alt 8. Dez 2003, 17:31
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
$2B or not $2B
  Mit Zitat antworten Zitat