C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать

 73 - Сохранение и восстановления данных. / MFC шаг за шагом / Visual C++

Шаг 73 - Сохранение и восстановления данных.

Создание проекта

Работаем с проектом из прошлого шага.

Создаем код

У нас есть функция CPr1Doc::Serialize. Перепишем ее.

void CPr1Doc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar << m_string; // сохранение
}
else
{
ar >> m_string; // восстановление
}
}

Описание

Эта функция будет всегда вызываться при открытии или сохранении файла. То есть, если Вы выбираете пункты меню File - > Open -> Save -> Save As... всегда вызывается эта функция.

73_1.gif (3813 b)

Для записи и чтения данных определены операторы << и >>. Эти операторы аналогичны потокам. Они определены как минимум для всех простых типов.

BYTE 
WORD
int
LONG
DWORD
float
double

Кроме того, многие классы поддерживают данные операторы. Например, CString. Но для каждого класса надо смотреть отдельно. Если Вы используете свои классы и хотите производить подобные операции за один заход, то Вам придется перегрузить данные операции для Вашего класса. Следует отметить, что Serialize позволяет иметь только последовательный доступ. Для более тонкой работы Вы можете использовать класс CFile. Но мы пока на этом остановимся.

Шпаргалка

Итак, класс документа обеспечивает Вас функцией Serialize, с помощью который Вы можете сохранять и восстанавливать данные. Для использования этой возможности Ваши данные должны поддерживать операции << и >>.


Загрузить проект | | |
Автор Каев Артем.
[AD]