10th
Май

Запись и чтение из файла в StringList

Posted by Chas under Пост-обзор

Добрый вечер, форумчане! Подскажите, пожалуйста, как написать следующие коды (процедуры для кнопок):
1. Запись данных из таблицы Stringgrid в файл ?
2. Запись данных из файла в Stringgrid ?

Serge_Bliznykov:

ну, это неоднократно решалось на данном форуме.
И вариантов решения может быть много.

вот, например, один из вариантов, которыя я уже публиковал здесь на форуме:

procedure SaveStringGrid(StringGrid: TStringGrid; const FileName: TFileName);
var
f: TextFile;
i, k: Integer;
begin
AssignFile(f, FileName);
Rewrite(f);
with StringGrid do
begin
// Write number of Columns/Rows
Writeln(f, ColCount);
Writeln(f, RowCount);
// loop through cells
for i := 0 to ColCount - 1 do
for k := 0 to RowCount - 1 do
Writeln(F, StringReplace(Cells, #13#10, '$@$', [rfReplaceAll, rfIgnoreCase]));
end;
CloseFile(F);
end;

procedure LoadStringGrid(StringGrid: TStringGrid; const FileName: TFileName);
var
f: TextFile;
iTmp, i, k: Integer;
strTemp: String;
begin
AssignFile(f, FileName);
Reset(f);
with StringGrid do
begin
// Get number of columns
Readln(f, iTmp);
ColCount := iTmp;
// Get number of rows
Readln(f, iTmp);
RowCount := iTmp;
// loop through cells & fill in values
for i := 0 to ColCount - 1 do
for k := 0 to RowCount - 1 do
begin
Readln(f, strTemp);
strTemp := StringReplace(strTemp, '$@$', #13#10, [rfReplaceAll, rfIgnoreCase]);
Cells := strTemp;
end;
end;
CloseFile(f);
end;

procedure TForm3.BitBtn2Click(Sender: TObject);
begin
SaveStringGrid(StringGrid1, 'c:\temp.txt');
ShowMessage('Save done.');
end;

procedure TForm3.BitBtn3Click(Sender: TObject);
begin
LoadStringGrid(StringGrid1, 'c:\temp.txt');
ShowMessage('Load done.');
end;

тема на форуме

Похожие статьи

Теги: |