Сохранение данных разного типа

  • Автор темы Dudee
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

Dudee

Такая ситуация: есть TabledNotepad с 6-ю страницами. На 4-х StringGrid'ы и на 2-х Chart'ы. Подскажите плз, как данные из всего этого корректно сохранить в один файл, чтобы потом (при открытии файла) подгрузить всё это обратно в свои компоненты.

PS: это для меня вообще тёмный лес, поэтому, если не сложно, приведите кусок кода. Заранее спасибо
 
X

xelaok

Если вместо StringGrid использовать DBGrid + VirtualTable, тогда можно сделать
SaveToFile, LoadFromFile. А в TChart есть такие методы как SaveChartToFile и LoadChartFromFile...
 
B

Barmutik

У TStream есть методы для записи и подъёма компонентов WriteComponent, ReadComponent
 
D

Dudee

а как сделать так, чтобы все эти данные (4 сетки и 2 графика) сохранились в одном файле? Ведь если сохранять SaveToFile'ом, то этот файл просто будет переписываться с сохранением последнего..или что-то вроде этого. Даже если это все каким-то образом сохранится, то как потом в конкретный Chart подгрузить именно нужный кусок файла (сохранённый из этого Chart'a)? Наверно обратиться к каким-полям файла?.. В структуре файла я дуб, поэтому кто может направьте меня плиз в нужную колею, чтоб я потом сам разобрался, или дайте ссылочку с этой темой. Буду ОЧЕНЬ признателен!
 
B

Barmutik

Код:
var
AStream: TMemoryStream;
begin
AStream.WriteComponent(StringGrid1);
AStream.WriteComponent(StringGrid2);
AStream.WriteComponent(StringGrid3);
AStream.WriteComponent(StringGrid4);
AStream.WriteComponent(Chart1);
AStream.WriteComponent(Chart2);

Ну и поднимать соответственно ....
 
D

Dudee

Для xelaok

спасибо, но в твоём примере сохраняются только Chart'ы, а как мне в этот же файл и пару StringGrid'ов запихать?
 
D

Dudee

<!--QuoteBegin-xelaok+5:01:2006, 22:20 -->
<span class="vbquote">(xelaok @ 5:01:2006, 22:20 )</span><!--QuoteEBegin-->Можно так:
[snapback]29015" rel="nofollow" target="_blank[/snapback]​
[/quote]

судя по твоей дэмке, это то, что нужно. щас только посплю чуток и испробую на своей проге. Уверен работать будет как часы (в твоей же работает
:( )
обязательно напишу, справился ли мой ламерскиймозг с этим или нет
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!