- •1 Аналіз індивідуального завдання
- •2 Загальна структура проекту
- •3 Розробка меню програми
- •4 Панель інструментів та рядок стану
- •4.1 Створення панелі інструментів
- •4.2 Рядок стану
- •5 Створення діалогових вікон
- •5.1 Етапи розробки діалогових вікон
- •5.2 Створення діалогу
- •6 Реалізація математичної функції мовою assembler
- •7 Створення та підключення бібліотеки dll
- •8 Основні операції над файлами
- •8.1 Відкриття файлу
- •8.2 Збереження файлу
- •8.3 Видалення файлу
- •9 Виведення результатів обчислень
- •9.1 Числове виведення результату
- •9.2 Графічне виведення результату
- •10 Керівництво системного програміста
- •11 Керівництво оператора
- •Висновки
- •Перелік посилань
- •Додаток а
- •Додаток б
8 Основні операції над файлами
8.1 Відкриття файлу
Клас CFileDialog забезпечує створення і функціонування двох діалогових вікон, що використовуються для відкриття та збереження файлів.
Клас CFileDialog забезпечує створення і функціонування двох діалогових вікон, що використовуються для відкриття та збереження файлів:
CFileDialog dlgOpen(TRUE, "txt","", OFN_HIDEREADONLY, "Текстовий файл (*.txt)| *.txt| ALL Files(*.*)|*.*|", this);
Діалогове вікно, що відкриває текстовий файл на рис. 8.1.
Рис. 8.1 – Відкриття текстового файлу
Для створення об’єкта Windows потрібно використати метод DoModal з наступним прототипом: [1]
virtual int DoModal();
Цей метод повертає значення IDOK або IDCANCEL, в залежності від того, які кнопки були натиснуті при закриті діалогового вікна [4]. Коли файл відкривається на читання, його режим також повинен бути вказанним на читання:
8.2 Збереження файлу
Якщо змінити в конструкторі класу TRUE на FALSE, то отримається конструктор класу для збереження файлу[11]:
CFile DialogDlgSave(FALSE,"txt","",OFN_HIDEREADONLY,"Text file (*.txt)|*.txt| All Files(*.*)|*.*|",this);
де OFN_HIDEREADONLY – знімає прапорець Read-Only; OFN_CREATEPROMPT – дозволяє створення неіснуючих файлів. [1]
Діалогове вікно, що зберігає результати виконання програми в текстовий файл на рис. 8.2.
Рис. 8.2 – Вікно збереження файлу
Для запису даних використовується наступна конструкція:
CStdioFile file(DlgSaveAs.GetPathName(),
CFile::modeCreate|CFile::modeWrite);
Функція GetPathName()повертає ім’я вибраного файла та шлях. modeWrite– довзоляє створювати файл на запис.
В данній програмі відбувається збереження результату обчислення в тектсовому файлі. Це реалізується за допомогою:
CString string="Виконала студентка групи 1КІ-11Б \nКолесніченко Марина Андріївна";File.WriteString(LPCSTR(string));
Завдяки функції File.WriteString(LPCSTR(string) відбувається запис до файлу (Рис. 8.3).
Рис. 8.3 – Збереження в файл
8.3 Видалення файлу
Видалення файлу повинно відбуватись після натиснення кнопки «Delete» та видаляти файл який задасть користувач програми (Рис.8.4). Код програми який виконує видалення такий:
void CMyDialogI::OnOK()
{ edit1.GetWindowText(bufII);
DeleteFile(bufII);
CDialog::OnOK(); }
Рис. 8.5 – Видалення файлу
9 Виведення результатів обчислень
9.1 Числове виведення результату
Числовий результат роботи програми виводиться у окремому вікні. Для цього був створений новий клас CTextWnd:
class CTextWnd:public CFrameWnd
{ public:
CTextWnd(CWnd *wnd); };
Для створення нового вікна використовується метод Create:
CGraphWnd::CGraphWnd(CWnd *WndParent)
{
Create(NULL,"Draw",WS_SYSMENU,rectDefault,WndParent,NULL;
};
Власне виведення результату:
CClientDC DC(TextWnd);
DC.SetTextColor(RGB(13,66,6));
Виконуємо виведення результату за допомогою функції TextOut (Рис. 9.1).
DCS.TextOut(200,350,"Result: ");
DCS.TextOut(250,350,s);
DCS.TextOut(600,100,"Курсова робота");
DCS.TextOut(600,120,"Колесніченко Марини Андріївни");
Рис. 9.1 – Виведення текстового результату
