Читаем CSV текстовый файл в StringGrid

Советы » ASCII и CSV » Читаем CSV текстовый файл в StringGrid

procedure

ReadTabFile(FN: TFileName; FieldSeparator: Char; SG: TStringGrid); var

i: Integer; S: string

; T: string

; Colonne, ligne: Integer; Les_Strings: TStringList; CountCols: Integer; CountLines: Integer; TabPos: Integer; StartPos: Integer; InitialCol: Integer; begin

Les_Strings := TStringList.Create; try

// Load the file, Datei laden Les_Strings.LoadFromFile(FN); // Get the number of rows, Anzahl der Zeilen ermitteln CountLines := Les_Strings.Count + SG.FixedRows; // Get the number of columns, Anzahl der Spalten ermitteln T := Les_Strings[0]; for

i := 0 to

Length(T) - 1 do

Inc(CountCols, Ord(IsDelimiter(FieldSeparator, T, i))); Inc(CountCols, 1 + SG.FixedCols); // Adjust Grid dimensions, Anpassung der Grid-Gro?e if

CountLines > SG.RowCount then

SG.RowCount := CountLines; if

CountCols > SG.ColCount then

SG.ColCount := CountCols; // Initialisierung InitialCol := SG.FixedCols - 1; Ligne := SG.FixedRows - 1; // Iterate through all rows of the table // Schleife durch allen Zeilen der Tabelle for

i := 0 to

Les_Strings.Count - 1 do

begin

Colonne := InitialCol; Inc(Ligne); StartPos := 1; S := Les_Strings[i]; TabPos := Pos(FieldSeparator, S); repeat

Inc(Colonne); SG.Cells[Colonne, Ligne] := Copy(S, StartPos, TabPos - 1); S := Copy(S, TabPos + 1, 999); TabPos := Pos(FieldSeparator, S); until

TabPos = 0; end

; finally

Les_Strings.Free; end

; end

; // Example, Beispiel: procedure

TForm1.Button1Click(Sender: TObject); begin

Screen.Cursor := crHourGlass; // Open tab-delimited files ReadTabFile('C:TEST.TXT', #9, StringGrid1); Screen.Cursor := crDefault; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com