A musí tam byť silou mocou tabulátor? Nestačia stĺpce oddelené čiarkami?
procedure SaveGrid(const Filename: string; Grid: TStringGrid);
var
Strs : TStringList;
i : integer;
begin
Strs := TStringList.Create;
try
if Grid.RowCount > 0 then
begin
for i := 0 to Grid.RowCount -1 do Strs.Add( Grid.Rows[i].CommaText );
end;
Strs.SaveToFile(Filename);
finally
Strs.Free;
end;
end;
procedure LoadGrid(const Filename: string; Grid: TStringGrid);
var
Strs : TStringList;
i : integer;
begin
Strs := TStringList.Create;
try
Strs.LoadFromFile(Filename);
if Strs.Count > 0 then
begin
for i := 0 to Strs.Count -1 do Grid.Rows[i].CommaText := Strs[i];
end;
finally
Strs.Free;
end;
end;
Ak by si trval na tabulátoroch, potom mierne upravená verzia:procedure SaveGrid(const Filename: string; Grid: TStringGrid);
var
Strs : TStringList;
i : integer;
begin
Strs := TStringList.Create;
try
if Grid.RowCount > 0 then
begin
for i := 0 to Grid.RowCount -1 do
begin
Grid.Rows[i].StrictDelimiter := true;
Grid.Rows[i].Delimiter := #9; //TAB
Strs.Add( Grid.Rows[i].DelimitedText );
end;
end;
Strs.SaveToFile(Filename);
finally
Strs.Free;
end;
end;
procedure LoadGrid(const Filename: string; Grid: TStringGrid);
var
Strs : TStringList;
i : integer;
begin
Strs := TStringList.Create;
try
Strs.LoadFromFile(Filename);
if Strs.Count > 0 then
begin
for i := 0 to Strs.Count -1 do
begin
Grid.Rows[i].DelimitedText := Strs[i];
end;
end;
finally
Strs.Free;
end;
end;