- •Техническое задание Назначение разработки
- •Требования к программе или программному изделию
- •Стадии и этапы разработки
- •Порядок контроля и приемки
- •Используемые системные вызовы и библиотечные функции:
- •Обработка клавиш Home и End:
- •Функция отображения списка имен файлов правой панели
- •Функция удаления:
- •Функция перемещения:
- •Функция переименования:
- •Функция выдачи сообщения об ошибке:
- •Порядок создания собственных библиотек :
- •Список использованной литературы:
- •Методические указания к выполнению курсовой работы по дисциплине “Системное программное обеспечение“ – Новочеркасск, 2012 г.
- •Скриншоты
Функция выдачи сообщения об ошибке:
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
Список использованной литературы:
А. Робачевский. Операционная система UNIX. –СПб.:БХВ-Петербург, 2010.
Методические указания к выполнению курсовой работы по дисциплине “Системное программное обеспечение“ – Новочеркасск, 2012 г.
Справочная система интернет ресурса«openNET» http://www.opennet.ru
Скриншоты
Начало работы с программой Перемещение файлов
П опытка открыть папку не имея доступа