Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Uložení sloupcu v delphi

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;

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny