![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение в файл StringGrid методом SaveToFile [D7, WinXP]
Пётр © (2005-11-18 09:17:00)Подскажите пожайлуста как можно сохранить в файл
полностью всю таблицу StringGrid методом SaveToFile ?
(У меня получается сохранение только одного ряда или одного столбца)
vertal (2005-11-19 18:47:00) [1]> SergGG (18.11.05 09:46) [3]
Только еще наверное желательно символ разделителя колонок, если таковой встретиться в какой-нибудь строке, записывать в виде Escape-последовательности, например как \|, а то будут проблемы с чтением сохраненной таким образом таблицы
Пётр (2005-11-18 18:58:00) [2]Всем откликнувшимся большое спасибо.
SergGG (2005-11-18 09:46:00) [3]Даю код с сохранением в текстовой файл:
TStrGrdSaveRead = class(TStringGrid)
Procedure TStrGrdSaveRead.SaveGridToFile(FileName: String);
var f:textfile;
x,y:integer;
Sx,Sy:String;
begin
assignfile (f,Filename);
rewrite (f);
writeln (f,'[ ',colcount,' x ',rowcount,' ]');
writeln (f,'[ ',DefaultColWidth,' , ',DefaultRowHeight,' ]');
For X:=0 to rowcount-1 do
begin
Sx:='|';
For y:=0 to colcount-1 do
begin
Sy:=cells[y,x]+'|';
Sx:=Sx+Sy;
end;
writeln (F, Sx);
end;
closefile (f);
end;
Procedure TStrGrdSaveRead.LoadGridFromFile(FileName:String);
var f:textfile;
temp1,temp2,x,y:integer;
tempstr,Sx:string;
s:string[2];
begin
assignfile (f,Filename);
reset (f);
readln (f,s,temp1,s,temp2,s);
colcount:=temp1;
rowcount:=temp2;
readln (f,s,temp1,s,temp2,s);
DefaultColWidth:=temp1;
DefaultRowHeight:=temp2;
For X:=0 to rowcount-1 do
begin
readln (F, tempstr);
For y:=0 to colcount-1 do
begin
Delete(tempstr,1,pos('|',tempstr));
Sx:=copy(tempstr,0,pos('|',tempstr)-1);
cells[y,x]:=Sx;
end;
end;
closefile (f);
end;
Anatoly Podgoretsky (2005-11-18 09:31:00) [4]Пётр (18.11.05 09:17)
Такого метода не существует.
ЮЮ (2005-11-18 09:25:00) [5]А разве у TStringGrid есть SaveToFile?
Если же использовать TStrings.SaveToFile, то именно один ряд (одна колонка) и является TStrings.