Auf der Basis des Beispiels in dem vorherigen Beitrag habe ich noch einen Class Helper geschrieben.
Damit kann man ein TStringGrid mit einer
csv Datei befüllen.
Beispiel:
Delphi-Quellcode:
...
uses StringGridCsvClassHelper;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.LoadFromFile('Dateiname.csv');
end;
...
Das ist ein einfaches Beispiel für Class Helper und
csv Import.
Vieleicht hilft's wem.
mfg
MaBuSE
ps: Hier ist die
Unit des ClassHelpers:
Delphi-Quellcode:
unit StringGridCsvClassHelper;
// use at your own risk
interface
uses
SysUtils, Classes, Grids;
type
TStringGridCsvClassHelper =
class helper
for TStringGrid
procedure LoadFromFile(Filename:
string;
const Delimiter: Char = '
;';
const QuoteChar: Char = '
"');
end;
implementation
{ TStringGridCsvClassHelper }
procedure TStringGridCsvClassHelper.LoadFromFile(Filename:
string;
const Delimiter: Char = '
;';
const QuoteChar: Char = '
"');
var
slFile: TStringList;
slRow: TStringList;
i: Integer;
j: Integer;
begin
slFile := TStringList.Create;
slRow := TStringList.Create;
slRow.Delimiter := Delimiter;
slRow.QuoteChar := QuoteChar;
try
slFile.LoadFromFile(Filename);
// StringGrid Init
if slFile.Count > 0
then
begin
slRow.DelimitedText := slFile[0];
FixedCols := 0;
FixedRows := 0;
ColCount := slRow.Count;
RowCount := slFile.Count;
end;
// Fill StringGrid
for i := 0
to slFile.Count - 1
do
begin
slRow.DelimitedText := slFile[i];
for j := 0
to slRow.Count - 1
do
begin
Cells[j,i] := slRow[j];
end;
end;
finally
slFile.Free;
slRow.Free;
end;
end;
end.