лабки / 310-і-БОЙКО_21
.docxВиконав Бойко Є.А.
Група 310
Варіант 3
Лабораторна робота 20
СЕРІАЛІЗАЦІЯ НЕСТАНДАРТНИХ ОБ’ЄКТІВ ПІД ЧАС РОБОТИ З ФАЙЛАМИ
Постановка завдання
Створити однодокументну Windows-програму на C++ISO|ANSI з
використанням бібліотеки MFC. Передбачити створення користувачем
нестандартного, тобто власного класу. У ньому передбачити елемент даних
типу CString. У свою чергу, внести об'єкт цього класу як елемент даних у клас документа. Забезпечити процес серіалізації документа. Тобто в конкретному випадку потрібно забезпечити читання рядка символів, запис її на диск і подальше читання з диска.
Код :
void vvod(CString ch)
m_poroda+=ch;} void vivod
(CDC*pDC)
{ pDC->TextOutA(0,10,
m_poroda);}
void clear(){ m_poroda=””;}
void CMyView::OnChar(UINT nChar, UINT nRepCnt,{
UINT nFlags)
CMyDoc*pDoc=GetDocument();
ASSERT_VALID(pDoc);
if(!pDoc)
return;
pDoc->about_dog.vvod(CString((char)nChar));
Invalidate();
pDoc->SetModifiedFlag();}
CView::OnChar(nChar, nRepCnt, nFlags);
void CMyView::OnDraw(CDC*pDC /*pDC*/){
CMyDoc* pDoc =
GetDocument();
ASSERT_VALID(pDoc); if (!pDoc)
return;
pDoc->about_dog.vivod(pDC);}
void CDog::Serialize(CArchive& ar){
CObject::Serialize(ar);
if(ar.IsStoring())
ar<<m_poroda; else
ar>>m_poroda;}
void CMyDoc::Serialize(Carchive& ar{
about_dog.Serialize(ar);}
Скріншот:
Б лок-схема
Висновки: На дабораторній роботі , я покращив свої вміння та навички з дисципліни ООП, та збільшив свій кругообіг знань.