Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой 261.docx
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
608.29 Кб
Скачать

Функция выдачи сообщения об ошибке:

void printerror(const char* text);

Функция выводит окно с ошибкой.

Используемые библиотеки: данные функции находятся в файле drawlib.cpp поэтому библиотеки там уже были подключены заранее

Тип возвращаемого значения - void.

Исходный код:

void printerror(const char* text)

{

WINDOW *w; beep();

w = newwin( WLINES, WCOLS, Wy+1, Wx+1);

noecho(); curs_set(0); wrefresh(w);

wattrset(w,A_BOLD|COLOR_PAIR(8));

werase(w);

box(w,0,0);

wmove(w,0,(WCOLS-8)/2);

wattrset(w,A_BOLD|COLOR_PAIR(9));

wprintw( w, " ERROR " );

wattrset(w,A_BOLD|COLOR_PAIR(7));

for (inti=1;i<=WCOLS-2;i++)

for (int j=1;j<=WLINES-2;j++)

{mvwaddstr(w,j,i," "); }

wrefresh(w);//отобразить stdscr

wattrset(w, A_BOLD|COLOR_PAIR(8));

mvwaddstr(w,WLINES/2-1,(WCOLS-strlen(text))/2, text);

wattrset(w,A_BOLD|A_UNDERLINE|COLOR_PAIR(9));

mvwaddstr(w,WLINES/2+1,(WCOLS-2)/2, "OK");

wrefresh(w);

keypad( w, TRUE );

while (1)

{

switch (wgetch(w))

{

case KEY_ESC:

case 10: goto out;

} }

out:

delwin(w);

refresh();}

newwin - создаёт новое окно

mvwaddstr - добавляет строку в новой позиции в окне

wrefresh - обновляет окно экрана терминала

wattrset – установка атрибутов окна

wmove – перемещение позиции вывода

wprintw – вывод в окно

Одна функция curses может иметь две или более версий.

w Обозначает функцию, для которой в качестве аргумента должно быть задано окно.

p Обозначает функцию, для которой в качестве аргумента должна быть задана панель.

mv Обозначает функцию перехода к указанным координатам.

Порядок создания собственных библиотек :

Для создания библиотеки были использованы следующие файлы:

- cutf.cpp, remf.cpp – исходный файл C++, содержит собственные функции.

- drawlib.cpp – исходный файл C++, содержит изменённые функции исходной программы.

- directory.h – заголовочный файл для cutf.cpp, remf.cpp

Откомпилировать name.cpp для получения объектного модуля name.o

gcc –c cutf.cpp

gcc –c remf.cpp

Откомпилировать drawlib.cpp для получения объектного модуля drawlib.o

gcc –c drawlib.cpp

Полученные объектные модули архивируются в библиотеку libmaked.a:

ar –r libmaked.a cutf.o remf.o

ar –r libdraw.a drawlib.o

Библиотека создана. Для подключения её к программе при компиляции необходимо указать:

- ключ L, аргумент которого - путь к текущему каталогу;

- ключ l с именем библиотеки без букв lib.

gcc shablon.cpp –o shablon –lncurses –L/home/kurs –ldraw -lmaked

Список использованной литературы:

  1. А. Робачевский. Операционная система UNIX. –СПб.:БХВ-Петербург, 2010.

  2. Методические указания к выполнению курсовой работы по дисциплине “Системное программное обеспечение“ – Новочеркасск, 2012 г.

  3. Справочная система интернет ресурса«openNET» http://www.opennet.ru

Скриншоты

Начало работы с программой Перемещение файлов

П опытка открыть папку не имея доступа

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]