Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
ВнизСохранение StringGrid в файл Найти похожие ветки
← →
Sergey_R © (2005-09-28 13:30) [0]А как лучше всего сохранить и структуру и ячейки Stringgrid"a в файл?
Пробовал сделать так:
procedure aaa;
var F:TfileStream;
begin
f.Create("1.txt",fmCreate);
try
F.WriteComponent(Stringgrid1);
finally
F.Free;
end;
end;
а для чтения то же самое, только параметр fmRead и процедура ReadComponent. Так этот код сохраняет только структуру, но не данные ячеек!
← →
VG © (2005-09-28 13:36) [1]Посмотри TMSGrid там есть такое.
← →
GanibalLector © (2005-09-29 02:10) [2]когда-то делал так(это я о данных) :
procedure Save(const List:TStringGrid;File_:TFileName);
var GoodList:TStringList;
I,II:Integer;
St:String;
begin
GoodList:=TStringList.Create;
try
for i:= 1 to List.RowCount-1 do
begin
St:="";
for ii:=1 to List.ColCount-1 do
if ii<>List.ColCount-1 then
St:=St+TStrings(List.Rows[i]).Strings[ii]+";"
else St:=St+TStrings(List.Rows[i]).Strings[ii];
GoodList.Add(St);
end;
GoodList.SaveToFile(File_);
finally
GoodList.Free;
end;
end;
использую так :
Save(Form3.StringGrid1,SaveDialog1.FileName);
← →
Германн © (2005-09-29 02:42) [3]2GanibalLector © (29.09.05 02:10) [2]
>когда-то делал так(это я о данных) :
Дык ведь автор спросил - "А как лучше всего сохранить и структуру и ячейки Stringgrid"a в файл?"!
Правда он не уточнил, что есть структура?!
← →
Sergey_R © (2005-09-29 12:30) [4]Структура есть количество строк и столбцов, шрифт, ширина столбцов и т.д.
А про сохранение я уже придумал:
procedure aaa;
var F1:TfileStream;
F:Textfile;
i,j:integer;
begin
f.Create("1.txt",fmCreate);
try
F.WriteComponent(Stringgrid1);
finally
F.Free;
end;
assign(f,"2.txt");
Reset(f);
for i:=0 to StringGrid1.Rowcount do
begin
for j:=0 to StringGrid1.ColCount do
write(f,StringGrid1.Cells[i,j]+"//");
writeln("\\");
end;
closefile(f);
end;
Правда вот эти "\\" и "//" все портят. Лучше было бы поставить знак табуляции и перехода на новую строку. Кто-нибудь знает, как это сделать?
← →
Думкин © (2005-09-29 12:32) [5]#9 #10
← →
Sergey_R © (2005-10-01 15:03) [6]Я уже понял как это можно сделать гораздо проще!
надо создать List:Tstrings;
куда записать размеры таблицы и содержимое всех ячеек и потом SaveToFile...
← →
Ling © (2005-10-01 15:51) [7]Зачем тебе ещё один TStrings?
TStringGrid.Rows чем не подходит?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c