furious programming Faktycznie masz rację, myślę że teraz będzie ok.
procedure TgGrid.CsvLoadHdd ( NameCsv : string );
var Lines : TStringList;
I : Longint;
function OccurencesOfChar(ContentString:string; CharToCount:char):integer;
begin
OccurencesOfChar := Length(ContentString)-
Length(StringReplace(ContentString, CharToCount,'', [rfReplaceAll, rfIgnoreCase]));
end;
begin
if nameCsv = '' then nameCsv := FCsvSaveName;
Lines := TStringList.Create;
try
Lines.Delimiter:=FCsvSeparate; // ';';
Lines.QuoteChar:=FCsvTextSeparate; // '"';
Lines.LineBreak := #13;
Lines.LoadFromFile( nameCsv );
if Lines.Count >= 2 then // nie ładować csv jeżeli są w nim tylko same nagłówki kolumn bez danych
begin
if copy(Lines[0],1,3) = '"Dz' then Lines.Delete(0);
ColCount := OccurencesOfChar(Lines[0], FCsvSeparate )+1;
RowCount := Lines.Count-1;
for i := 0 to Lines.Count -1 do
begin
Rows[i].Delimiter := FCsvSeparate;
Rows[i].QuoteChar := FCsvTextSeparate;
Rows[i].DelimitedText := Lines[i];
end;
end;
finally
Lines.Free;
end;
AutoSizeCol;
end;
Dzięki na zwrócenie uwagi.
Pozdrawiam
Janusz