Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
спз маріна на друк.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
904 Кб
Скачать
☆

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 – Виведення текстового результату