Delphi.Запись класса в файл.
эээ.. а это как? вот у меня есть TCheckBox, предположим я хочу его записать в файл. что под этим подразумевается?
Ты класс с объектом не перепутал?
Это значит, что в файл надо записать состояние объекта типа TCheckBox, очевидно. Вопрос в том, какие в Delphi есть средства для сериализации объектов.
быренько написать вирт Load\Store процедурки в базовом классе и тупо в них свойтва объекта сохранять.
можно заюзать XML, так даже проще
можно заюзать XML, так даже проще
неочевидно.
Текст чекбокса сохранять нужно?
Цвет? Font? Position?
Enabled/Disabled?
Checked? ThirdState?
Текст чекбокса сохранять нужно?
Цвет? Font? Position?
Enabled/Disabled?
Checked? ThirdState?
TStream.WriteComponent --- это если устроит формат по умолчанию. Если нет, то немного сложнее, рекоммендую для начала прочитать это и это.
гы-гы..
Прям ща делаю такую фигню: в одном приложении дизайню расположения нескольких контроллов на панельке, затем сохраняю панельку в поток (метод сохранения уже описан в теме а поток пишу в экземпляр TMemIniFile (подобных панелек дизайнится несколько). Другое приложение читает это дело... Перед чтением нужно выполнить RegisterClass для всех классов, которые могут встретиться.
Вот только для TRxRichEdit пришлось наследника писать с переопределённым CreateParams, т.к. он, гадость, не сохранял rtf'ку в потоке, а сохранял только текст (и куда смотрели создатели библиотеки Rx ?
).
(на счет RegisterClass: меня ломало разбираться, но похоже что при чтении компонентов из ресурсов файла либо используется другой механизм, либо Delphi оставляет только регистрации используемых классов для ускорения загрузки)
Прям ща делаю такую фигню: в одном приложении дизайню расположения нескольких контроллов на панельке, затем сохраняю панельку в поток (метод сохранения уже описан в теме а поток пишу в экземпляр TMemIniFile (подобных панелек дизайнится несколько). Другое приложение читает это дело... Перед чтением нужно выполнить RegisterClass для всех классов, которые могут встретиться.
Вот только для TRxRichEdit пришлось наследника писать с переопределённым CreateParams, т.к. он, гадость, не сохранял rtf'ку в потоке, а сохранял только текст (и куда смотрели создатели библиотеки Rx ?
).(на счет RegisterClass: меня ломало разбираться, но похоже что при чтении компонентов из ресурсов файла либо используется другой механизм, либо Delphi оставляет только регистрации используемых классов для ускорения загрузки)
Оставить комментарий
112357
Народ, подскажите как класс записать в файл?