Главная » Второй курс [ Добавить статью ]

Задания для ЛР №2 по ОС

Программу, написанную на лабораторной работе №4 курса «Программирование на языках высокого уровня» необходимо модифицировать следующим образом: 
программа не запрашивает имя файла у пользователя, а работает с файлом с фиксированным именем;
чтение из файла происходит при открытии программы, запись — по выходу из нее (без прямых команд пользователя);
чтение и запись в файл производятся с помощью функций ОС Windows, без посредничества библиотеки Qt.

Серверные программы обычно работают с единым файлом базы данных, работа с которым прозрачна для пользователя. Поэтому имя файла является фиксированным (либо настраивается в специальном файле настроек), а действия с ним происходят автоматически: при запуске программы файл открывается; при закрытии — сохраняется (файл также обычно сохраняется периодически, т. наз. автосохранение, однако ваших знаний пока недостаточно для реализации этой возможности, она будет добавлена позже).

Поскольку имя файла стандартное, то из функций чтения и записи в файл можно удалить параметр, задающий имя файла. Функции чтения и записи должны оставаться в классе модели данных, запрещается переносить их в класс окна.

Вызов функции чтения из файла при запуске программы можно поместить в конструктор главного окна. Для реализации сохранения при закрытии программы необходимо описать слот close в классе главного окна (обязательно как слот):

bool close ();

Этот слот вызывается при попытке закрыть окно. После вызова функции сохранения данных в файл необходимо вызвать базовую функцию close, чтобы она могла отработать системную реакцию на закрытие окна, вставив в конец следующую строку:

return QMainWindow::close();

Если ваше главное окно унаследовано от класса QDialog, то необходимо указать его вместо QMainWindow в приведенной выше строке.



Добавил: COBA | Категория: Второй курс
Дата: 26.02.2009 | Просмотров: 809 | Рейтинг: 0.0/0 |


Комментарии (4)
0   Спам
1. manfred   28.02.2009   17:48
А в closeEvent переопределённую можно забацать сохранение ? Ой... А оно и так уже у всех должно быть забацано... Только запрос о сохранении убрать - и всё...

Я не понял - это же не так всё просто? Кусок кода-то откатпастить можно быстро... А дальше что? В лекциях есть?

0   Спам
2. WildMan   28.02.2009   21:37
http://fevt.3dn.ru/forum/36-37-1

Я так понял препод нас сильно подробными лечками баловать не будет))

0   Спам
3. manfred   01.03.2009   11:21
ясненько... Спасибо.
0   Спам
4. COBA   11.03.2009   20:18
Люди, юзайте MSDN (без него однозначно тяжко :p )) )
Имя *:
Email *:
Код *: