| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Сохранение класса в файл |
| Автор: EugeneSm 3.1.2006, 03:39 |
| Уважаемые! Помогите, пожалуйста с решением проблемы. Умом понимаю, что проблема почти на пустом месте, но собственных знаний катастрофически не хватает для ее проблемы, сам я не программист и на данный момент нет уже времени для всяких RTFMов ), а задачу надо решить довольно оперативно. Суть вот в чем: есть класс, проперти которого заполняются по ходу выполнения программы. Всего-то надо, чтобы выполнение программы можно было прервать в любой момент, сохранить этот класс в файл и потом, запустив программу заново, открыть файл и продолжить работу с того места, откуда закончили. Теперь конкретезирую: как с помощью всяких стандартных компонентов Бильдера устроить сохранение класса на ЖМД с последующим его открытием? И еще вот: Заранее благодарен. |
| Автор: Exekutor 3.1.2006, 08:01 |
| ну, если именно с помощью компонентов, то можно воспользоваться компонентом TMemo. Просто пишешь туда строки и потом вызываешь SaveToFile(<name>). Открываешь с помощью OpenFile(<name>). |
| Автор: azesmcar 3.1.2006, 09:19 |
| Если не ошибаюсь эта тема здесь обсуждается уже 4-ый раз... Поиск... http://forum.vingrad.ru/index.php?showtopic=65661&hl=fwrite |
| Автор: azesmcar 3.1.2006, 09:38 | ||
Без разницы с помощью чего..а стандартного компонента в билдере для этого не существует...максимым можно заменить fread и fwrite на билдеровские функции.. |
| Автор: EugeneSm 3.1.2006, 15:05 | ||||
Прошу меня простить, но я в самом деле сейчас не располагаю временем где-то что-то искать. Обычно я так и делаю, но сейчас возможности такой нет. Добавлено @ 15:06
Спасибо, частично попробую это использовать, но что делать, если в классе есть переменные не текстового характера, а, скажем, растрового? Добавлено @ 15:11 А что касается всякой ботвы из С типа fopen, то тут у меня, пардон, тоже затруднение выходит. Использую диалоговое окно сохранения файла, откуда выдираю FileName в AnsiString. Как его потом засунуть в fopen, ежели там char просят, не знаю |
| Автор: azesmcar 3.1.2006, 15:16 | ||||
Почитай ссылку там написано, что касается AnsiString в char * то
Добавлено @ 15:18 Там множество решений твоей задачи, есть на C, есть на C++.. Выбирай что душе ближе... |
| Автор: EugeneSm 3.1.2006, 15:31 | ||||
Вы добрый шаман ) Спасибо. Проблема с именем файла решена - остались сущие мелочи )) Все, буду вникать в ссылку. |
| Автор: Fixin 3.1.2006, 15:32 |
| 1) Если класс твой, и есть возможность перенести твои "проперти" в отдельную структуру, то сделай так и потом сохраняй в файл эту структуру просто как блок памяти (если в ней нет динамических составляющих) 2) Если вариант 1 не подходит, сохраняй каждый "проперть" поотдельности, потом грузи в том же порядке. |
| Автор: EugeneSm 3.1.2006, 15:34 | ||
Спасибо, похоже, придется использовать именно второй вариант. Хотя, по-моему, это слегка геморройно ( |