Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение класса в файл 
:(
    Опции темы
EugeneSm
Дата 3.1.2006, 03:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.1.2006

Репутация: нет
Всего: нет



Уважаемые! Помогите, пожалуйста с решением проблемы.
Умом понимаю, что проблема почти на пустом месте, но собственных знаний катастрофически не хватает для ее проблемы, сам я не программист и на данный момент нет уже времени для всяких RTFMов ), а задачу надо решить довольно оперативно.

Суть вот в чем: есть класс, проперти которого заполняются по ходу выполнения программы. Всего-то надо, чтобы выполнение программы можно было прервать в любой момент, сохранить этот класс в файл и потом, запустив программу заново, открыть файл и продолжить работу с того места, откуда закончили.

Теперь конкретезирую: как с помощью всяких стандартных компонентов Бильдера устроить сохранение класса на ЖМД с последующим его открытием?

И еще вот: smile Хотя на крайняк и теории хватит )

Заранее благодарен.
PM MAIL   Вверх
Exekutor
Дата 3.1.2006, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 440
Регистрация: 1.11.2005
Где: Казахстан. Костан ай

Репутация: 1
Всего: 4



ну, если именно с помощью компонентов, то можно воспользоваться компонентом TMemo. Просто пишешь туда строки и потом вызываешь SaveToFile(<name>). Открываешь с помощью OpenFile(<name>).


--------------------
[color=blue][size=2]En taro addun, ma sol larinas[/size][/color]
PM MAIL   Вверх
azesmcar
Дата 3.1.2006, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Если не ошибаюсь эта тема здесь обсуждается уже 4-ый раз...
Поиск...
http://forum.vingrad.ru/index.php?showtopic=65661&hl=fwrite
PM   Вверх
azesmcar
Дата 3.1.2006, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата
Теперь конкретезирую: как с помощью всяких стандартных компонентов Бильдера устроить сохранение класса на ЖМД с последующим его открытием?


Без разницы с помощью чего..а стандартного компонента в билдере для этого не существует...максимым можно заменить fread и fwrite на билдеровские функции..
PM   Вверх
EugeneSm
Дата 3.1.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.1.2006

Репутация: нет
Всего: нет



Цитата(azesmcar @ 3.1.2006, 09:19)
Если не ошибаюсь эта тема здесь обсуждается уже 4-ый раз...
Поиск...
http://forum.vingrad.ru/index.php?showtopic=65661&hl=fwrite

Прошу меня простить, но я в самом деле сейчас не располагаю временем где-то что-то искать. Обычно я так и делаю, но сейчас возможности такой нет.
Добавлено @ 15:06
Цитата(Exekutor @ 3.1.2006, 08:01)
ну, если именно с помощью компонентов, то можно воспользоваться компонентом TMemo. Просто пишешь туда строки и потом вызываешь SaveToFile(<name>). Открываешь с помощью OpenFile(<name>).

Спасибо, частично попробую это использовать, но что делать, если в классе есть переменные не текстового характера, а, скажем, растрового?
Добавлено @ 15:11
А что касается всякой ботвы из С типа fopen, то тут у меня, пардон, тоже затруднение выходит.
Использую диалоговое окно сохранения файла, откуда выдираю FileName в AnsiString. Как его потом засунуть в fopen, ежели там char просят, не знаю smile
PM MAIL   Вверх
azesmcar
Дата 3.1.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата
Спасибо, частично попробую это использовать, но что делать, если в классе есть переменные не текстового характера, а, скажем, растрового?
Добавлено @ 15:11
А что касается всякой ботвы из С типа fopen, то тут у меня, пардон, тоже затруднение выходит.
Использую диалоговое окно сохранения файла, откуда выдираю FileName в AnsiString. Как его потом засунуть в fopen, ежели там char просят, не знаю 


Почитай ссылку там написано, что касается AnsiString в char * то
Код

AnsiString FileName = "C:\\1.txt";
FILE *f = fopen(FileName.c_str(), "r+b");

Добавлено @ 15:18
Там множество решений твоей задачи, есть на C, есть на C++..
Выбирай что душе ближе...
PM   Вверх
EugeneSm
Дата 3.1.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.1.2006

Репутация: нет
Всего: нет



Цитата(azesmcar @ 3.1.2006, 15:16)

Почитай ссылку там написано, что касается AnsiString в char * то
Код

AnsiString FileName = "C:\\1.txt";
FILE *f = fopen(FileName.c_str(), "r+b");


Вы добрый шаман ) Спасибо. Проблема с именем файла решена - остались сущие мелочи ))
Все, буду вникать в ссылку.

Это сообщение отредактировал(а) EugeneSm - 3.1.2006, 15:33
PM MAIL   Вверх
Fixin
Дата 3.1.2006, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ёжик
***


Профиль
Группа: Комодератор
Сообщений: 1357
Регистрация: 6.1.2004

Репутация: 2
Всего: 18



1) Если класс твой, и есть возможность перенести твои "проперти" в отдельную структуру, то сделай так и потом сохраняй в файл эту структуру просто как блок памяти (если в ней нет динамических составляющих)
2) Если вариант 1 не подходит, сохраняй каждый "проперть" поотдельности, потом грузи в том же порядке.
PM MAIL ICQ   Вверх
EugeneSm
Дата 3.1.2006, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.1.2006

Репутация: нет
Всего: нет



Цитата(Fixin @ 3.1.2006, 15:32)
1) Если класс твой, и есть возможность перенести твои "проперти" в отдельную структуру, то сделай так и потом сохраняй в файл эту структуру просто как блок памяти (если в ней нет динамических составляющих)
2) Если вариант 1 не подходит, сохраняй каждый "проперть" поотдельности, потом грузи в том же порядке.

Спасибо, похоже, придется использовать именно второй вариант. Хотя, по-моему, это слегка геморройно (
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.