www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 74 - Тренировка - приложение Pr2

	Проблемма 2000 позади. Спасибо кофе :-)

Создаем проект

Ну чтоже, запускайте VC++ и MFC AppWizard. Имя приложению дайте PR2. Так и будем их называть :-). В первом шаге тип приложения надо дать на основе одного документа Single Document. Дальше до 4 шага идем без изменений. А вот Step4 нам нужен. Так как наше приложение будет записывать в файл, то нам необходимо решить с расширением. Вот как это делается.

step74.gif (4476 b)

На Step4 жмем на Advanced и поле File extension указываем расширение. Дальше все можно не менять Finish это то, что нужно. Следует отметить, что слово Finish здесь понимается в положительном плане :-). А нет так как делаешь что - то , а потом - всё финиш. Если Вам это знакомо.

Скомпилируйте и запустите. А потом выберите пункт меню Save As.. и в поле Save as type вы увидите Ваше расширение. Где хранится это расширение ? В ресурсах. Откройте их. Дальше откройте String Table и идентификатор IDR_MAINFRANE. Там такая строка

IDR_MAINFRAME 128  pr2\n\nPr2\nPr2 Files (*.pr2)\n.pr2\nPr2.Document\nPr2 Document
Вон видите? О данном идентификаторе более полно в подробностях.

Создаем код

Итак мы будем записывать и считывать 3 переменные типа CString. Все данные программы должны храниться в классе документа. Он у нас называется CPr2Doc туда мы и должны их добавить. Помните как в PR1 ?. Правой кнопкой мыши на CPr2Doc и Add member variable. Их нужно три m_string1 m_string2 m_string_3. В файле pr2Doc в описании класса документа добавятся строки вот так
 .....
 // Implementation
public:
	CString m_string3;
	CString m_string2;
	CString m_string1;
	virtual ~CPr2Doc();
#ifdef _DEBUG
	virtual void AssertValid() const;
..........
Инициализировать их нужно в OnNewDocument класса документа. Перейдите в него и внесите код.
BOOL CPr2Doc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	m_string1="String1";
	m_string2="String2";
	m_string3="String3 Finish String";

	return TRUE;
}
А вот теперь и будем организовывать процедуры записи. Они реализуются в функции Seliarize класса документа. Найдите её в ClassView и внесите изменения.
/////////////////////////////////////////
// CPr2Doc serialization

void CPr2Doc::Serialize(CArchive& ar)
{
	if (ar.IsStoring())
	{
		ar <<	m_string1;
		ar <<	m_string2;
		ar <<   m_string3;
	}
	else
	{
		ar >>	m_string1;
		ar >>	m_string2;
		ar >>   m_string3;
	}
}

////////////////////////////////////////
Запускате проект и сохраните файл под именем 1. Что произойдет ? В каталоге проекта появится файл с именем 1.pr2. Расширение автоматически связано с файлом. В exploler два раза шелкните на имени файла и откроется Ваше приложение.

Откройте файл 1.pr2 в тестовом редакторе там будет примерно вот что

String1String2String3 Finish String

Мы с Вами создали приложение, которое умеет сохранять данные, читать данные и расширение связано с программой. Неплохо :-)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz