Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

Сохранение в файл StringGrid методом SaveToFile   Найти похожие ветки 

 
Пётр   (2005-11-18 09:17) [0]

Подскажите пожайлуста как можно сохранить в файл
полностью всю таблицу StringGrid методом SaveToFile ?
(У меня получается сохранение только одного ряда или одного столбца)


 
ЮЮ ©   (2005-11-18 09:25) [1]

А разве у TStringGrid есть SaveToFile?
Если же использовать TStrings.SaveToFile, то именно один ряд (одна колонка) и является TStrings.


 
Anatoly Podgoretsky ©   (2005-11-18 09:31) [2]

Пётр   (18.11.05 09:17)  
Такого метода не существует.


 
SergGG   (2005-11-18 09:46) [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;


 
Пётр   (2005-11-18 18:58) [4]

Всем откликнувшимся большое спасибо.


 
vertal ©   (2005-11-19 18:47) [5]

> SergGG   (18.11.05 09:46) [3]
Только еще наверное желательно символ разделителя колонок, если таковой встретиться в какой-нибудь строке, записывать в виде Escape-последовательности, например как \|, а то будут проблемы с чтением сохраненной таким образом таблицы



Страницы: 1 вся ветка

Текущий архив: 2005.12.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
2-1133439693
linox
2005-12-01 15:21
2005.12.18
Еще один вопрос. Что за тип - Range;


14-1132815553
Lexer
2005-11-24 09:59
2005.12.18
С нашего сайта архив стал скачиваться в битом виде


14-1132841832
oldman
2005-11-24 17:17
2005.12.18
Локомотив победил!!! (анализы футболов прошу не постить!)


1-1132669205
Sandman29
2005-11-22 17:20
2005.12.18
CM_Hint Show обязателен?


14-1132775185
тихий вовочка
2005-11-23 22:46
2005.12.18
Статьи и книги по программированию