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

Вниз

Нужен совет. Сохранение данных в типизированный файл.   Найти похожие ветки 

 
VitGun   (2004-05-26 18:58) [0]

В моей программе есть структура такого вида


type TProject=record
  id:string[3];
  Name:string[25];
  Date:TDate;
  Data:TStringGrid;
end;

Как лучше/удобнее всего производите чтение/запись в файл? Нужно чтобы сохраненые данные нельзя
было просмотреть обычным Notpad"ом...


 
afn ©   (2004-05-26 19:16) [1]

Может просто указазтель на структуру объявить, заполнить и далее:
...
BlockWrite(f,pntr^,SizeOf(TProject));
...
где pntr - указатель на TProject


 
Anatoly Podgoretsky ©   (2004-05-26 20:37) [2]

Вот до сюда   Data:TStringGrid; все было хорошо, а вот здесь абсурд, TStringGrid это указатель, действительный в данном сеансе работы и его не имеет смысла сохранять.
Решени в отказе от типизированного файла в пользу текстового, тогда действительно и блокнотом можно будет пользоваться.
Советую посмотреть здесь статьи по работе с файлами http://www.delphikingdom.com/lyceum/seminar.asp?partID=4


 
YurikGl ©   (2004-05-26 20:40) [3]

var
st:TFileStream;
Nastroyki:TProject;
begin
st:=TFileStream.Create(ProgDir+"\установки.set",fmOpenWrite);
st.Write(Nastroyki,sizeof(Nastroyki));
st.free;

end;

Не сохранятся TStringGrid и String т.к. являются указателями.


 
AlexG ©   (2004-05-26 21:09) [4]


> Нужно чтобы сохраненые данные нельзя
> было просмотреть обычным Notpad"ом...

Единственный выход - шифрование (какое-нибудь не сложное будет достаточным). Ибо код символа - всегда виден как символ. Для шифрования, например, можно такой алгоритм использовать:
var
 Ch: char;
 CodedCh: word;
...
 CodedCh := ord(Ch)-60;
...
Ну а обратно сам знаешь.


 
afn ©   (2004-05-27 03:25) [5]

> Anatoly Podgoretsky ©  

Да, сорри просто не подумал. Я так делал, но у меня структура без указателей.



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

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

Наверх




Память: 0.48 MB
Время: 0.056 c
3-1084528061
Korefey
2004-05-14 13:47
2004.06.06
sql, объединение полей


4-1083156246
tower
2004-04-28 16:44
2004.06.06
Как зафиксировать смену пользователя в NT


14-1084621786
Manulo
2004-05-15 15:49
2004.06.06
Криптография


14-1085149876
Rem
2004-05-21 18:31
2004.06.06
А давайте построим космический корабль!


1-1085128914
-SeM-
2004-05-21 12:41
2004.06.06
EXE как DLL