pDoc->SetModifiedFlag();//вопрос следует ли сохранять изменения
CView::OnChar(nChar, nRepCnt, nFlags);
}
Для вывода строки str на экран используем OnDraw()
void CserstandartView::OnDraw(CDC* pDC)
{
CserstandartDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
pDC->TextOutA(0,20,pDoc->str);// вывода на экран строки символов str
}
Заполним функцию Serialize().(CserstandartDoc метод Serialize() )
void CserstandartDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring()) {
ar<<str;//Вывод str в файл на диск
}
Else {
ar>>str;//чтение str из файла
}
}
Сделаем очистку экрана при создании нового документа
BOOL CserstandartDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
stroka="";// обнуление строки
UpdateAllViews(NULL);// информирует все виды, связанные с документом, что этот документ был изменен
return TRUE;
}
11.
Ініціалізація, введення/виведення записів при роботі Start Page. Create:Project.
Name-rabfile1, Application Type->Dialog
based
Resource View -> Dialog->IDD_RABFILE1_DIALOG В диалоговом окне из Toolbox разместим управляющие элементы: текстовое окно (ab| Edit Control), окно списка (List Box ) и две кнопки («Занесення в файл» и «Виведення із файлу»).
В класс Crabfile1Dlg добавим элементы данных private CListBox m_list1, private CEdit m_edit1 а также char OutString[4][80] (строки, заносимые в файл) и char InString[80] (считывание из файла).
Инициализацию выполним в методе OnInitDialog() класса Crabfile1Dlg. BOOL Crabfile1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
strcpy_s(OutString[0],"Тихо було за столом.");
strcpy_s(OutString[1],"Гості намагалися проковтнути все");
strcpy_s(OutString[2],"Інколи чути було якесь булькотіння.");
strcpy_s(OutString[3],"У вікна заглядали знервовані коти.");
return TRUE;
}
Чтобы выводимые из файла записи размещались в той же последовательности,сортировку нужно отключить(выделяем окно списка->контекстное меню->properties->Sort->вместо true установить false.
Cоздадим обработчик для кнопки «Занесення в файл(выделим кнопку->контекстное меню ->Add Event Handler: в Message type -> BN_CLICKED, в Class List- Crabfile1Dlg). В файле Crabfile1Dlg.cpp появится заготовка для обработчика После её заполнения получим
void Crabfile1Dlg::OnBnClickedButton1()
{
CFile to_file("f1.dat",CFile::modeCreate|CFile::modeWrite);// создается объект to_file
for(int i=0;i<4;i++)
{
to_file.Seek(i*80,CFile::begin);
to_file.Write(OutString[i],80);// запись строки
}
m_edit1.SetWindowTextA("Занесення відбулося");
}
Cоздадим обработчик для кнопки «Виведення із файлу
void Crabfile1Dlg::OnBnClickedButton2()
{
CFile from_file("f1.dat",CFile::modeRead);// Создается объект from_file, файл f1.dat переводится в режим только для чтения
for(int i=0;i<4;i++)
{
from_file.Seek(i*80,CFile::begin);
from_file.Read(InString,80);// чтение из файла
m_list1.AddString(InString);//занесение в окно списка
}
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.