![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как сохранить stringgrid в файл [D7, WinXP]
Veetyok © (2004-07-30 17:10:00)Подскажите пож, как сохранить stringgrid в файл без всяких двойных циклов
Кириешки (2004-07-30 18:53:00) [1]Прошу прощения за повтор.
Кириешки (2004-07-30 18:52:00) [2]>Veetyok (30.07.04 18:40) [12]
"StringGrid.items.savetofile(filename); "
"что за items?"
ЧИТАЙ ОТВЕТ НОМЕР 9 ОН РЕАЛЬНО РАБОТАЕТ!!!!!!!!!!!!!!
Кириешки (2004-07-30 18:52:00) [3]>Veetyok (30.07.04 18:40) [12]
"StringGrid.items.savetofile(filename); "
"что за items?"
ЧИТАЙ ОТВЕТ НОМЕР 9 ОН РЕАЛЬНО РАБОТАЕТ!!!!!!!!!!!!!!
мимо (2004-07-30 18:49:00) [4]да, и еще в довесок
procedure LoadComponent(comp: tcomponent; filename: string);
var m: tmemorystream;
begin
if fileexists(filename) = false then exit;
m := tmemorystream.Create;
m.LoadFromFile(filename);
m.readComponent(comp);
m.Free;
end;
мимо (2004-07-30 18:48:00) [5]
> i: integer;
это в принципе не нужно
мимо (2004-07-30 18:46:00) [6]procedure SaveComponent(comp: tcomponent; filename: string);
var m: tmemorystream;
i: integer;
begin
m := tmemorystream.Create;
m.writeComponent(comp);
m.SaveToFile(filename);
m.Free;
end;
Veetyok (2004-07-30 18:40:00) [7]Sandman25 © (30.07.04 17:37) [7]
StringGrid1.Rows[I].SaveToFile
сохраняется только одна строка, а если через цикл, то только последняя
Кириешки © (30.07.04 18:16) [11]
StringGrid.items.savetofile(filename);
что за items?
Кириешки (2004-07-30 18:16:00) [8]>Sandman25 © (30.07.04 17:57) [10]
Мона так -
Uses Grid
type
...
StringGrid : TStringGrid;
Procedure Podmena;
var
StringGrid : Nifiga_Ne_StringGrid_A_TListBox;
Begin
StringGrid.items.savetofile(filename);
end;
Так лучще ? Вообще без циклов обошлись. ;))
Sandman25 (2004-07-30 17:57:00) [9][9] Кириешки © (30.07.04 17:56)
Не, не пойдет. Двойной цикл тута. Сложно слишком, однако.
Кириешки (2004-07-30 17:56:00) [10]Блин, ну вы даете...
Я знаю два способа - вот так и потоком. Вот самый быстрый.
---------------------------
Сохранять так :
SAVE
var f:textfile;
x,y:integer;
begin
assignfile (f,'Acces.dbs');
rewrite (f);
writeln (f,StringGrid1.colcount);
writeln (f,StringGrid1.rowcount);
For X:=0 to StringGrid1.colcount-1 do
For y:=0 to StringGrid1.rowcount-1 do
writeln (F, StringGrid1.cells[x,y]);
closefile (f);
А вот так загружать
LOAD
var
f:textfile;
temp,x,y:integer;
tempstr:string;
begin
if FileExists('Acces.dbs') then
begin
assignfile (f,'Acces.dbs');
reset (f);
readln (f,temp);
My_DataBase.colcount:=temp;
readln (f,temp);
My_DataBase.rowcount:=temp;
For X:=0 to StringGrid1.colcount-1 do
For y:=0 to StringGrid1.rowcount-1 do
begin
readln (F, tempstr);
StringGrid1.cells[x,y]:=tempstr;
end;
closefile (f);
end;
----------------------------
pasha_golub (2004-07-30 17:38:00) [11]Орех, имхо
Sandman25 (2004-07-30 17:37:00) [12]StringGrid1.Rows[I].SaveToFile
Без двойных циклов, как заказывали...
Счет я попозже принесу :)
Anatoly Podgoretsky (2004-07-30 17:37:00) [13]Можно и одно, только надо написать наследника и он сам себя будет сохранять
Veetyok (2004-07-30 17:31:00) [14]я слышал что есть процедура которая сохраняет инфу из StringGrid в файл двумя-тремя строчками без циклов, а если вы ее не знаете можете просто не отвечать, тем более бесполезными фразами
Anatoly Podgoretsky (2004-07-30 17:22:00) [15]Болеше полутора не потянуть
Palladin (2004-07-30 17:17:00) [16]Да... лентяи...
clickmaker (2004-07-30 17:15:00) [17]
> Veetyok (30.07.04 17:10)
> Подскажите пож, как сохранить stringgrid в файл без всяких
> двойных циклов
Alt+Print Scrn
Paint.exe, Ctrl + V, Save
В файл? Без циклов? Ну и славненько...
KSergey (2004-07-30 17:11:00) [18]А чем двойные циклы не угодили? И что собственно сохранить хотим? Инфу из StringGrid или его параметры?