Реферат по предмету "Программное обеспечение"


Файловый менеджер

Министерство образованияРоссийской Федерации
ГОСУДАРСТВЕННОЕОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕВЫСШЕГО ПРОФЕССИОНАЛЬНОГООБРАЗОВАНИЯ«ОРЕНБУРГСКИЙГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»Факультет информационных технологий
Кафедра программногообеспечения вычислительной техники
и автоматизированных систем
КУРСОВОЙ ПРОЕКТ
по программированию
Файловыйменеджер.Пояснительная записка
ГОУ ОГУ 220400.4405.22 ПЗРуководитель проекта
__________________Юркевская Л.А.
«__»____________________2005г.Исполнитель
студент гр.04 ПОВТ-2________________ПортновД.И.
«__»____________________2005г.
Оренбург 2005Министерство образованияРоссийской Федерации
ГОСУДАРСТВЕННОЕОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕВЫСШЕГО ПРОФЕССИОНАЛЬНОГООБРАЗОВАНИЯ«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ»Факультет информационных технологий
Кафедра программногообеспечения вычислительной техники и
автоматизированных системЗадание на курсовой проект
 
Файловый менеджер.
                        Исходные данные:        Операционная система: MicrosoftâWindows
                                                                 NT4.0 и старше.
                                                              Количествоустройств хранения информации
                                                                 и их тип определяется программой.
                                                              Файловаясистема любая, поддерживаемая
                                                                 операционной системой.
                                                              Интерфейсграфический, двух панельный.
                                                              Языкразработки C++ любой реализации,
                                                                 возможно применение средств визуального
                                                                 программирования.
                        Разработать:                 1) Пользовательский интерфейсработы
                                                                  с файлами.
                                                              2)Реализацию заложенных в интерфейсе
                                                                  возможностей: выбора устройства хранения
                                                                  информации, просмотра содержимого
                                                                  директорий, создания новых директорий,
                                                                  операций с файлами и директориями
                                                                  (копирования, перемещения и удаления).Дата выдачи задания «14»апреля 2005г.
Руководитель                                         Юркевская Л.А.
Исполнитель
студент группы 04 ПОВТ-2                      Портнов Д.И.
Срок защиты проекта «30» мая 2005г.



Аннотация
Пояснительная записка содержит 38 страниц, в том числе 3 рисунка,
30 источников, 2 приложения.
В данном проекте разработан файловый менеджер для операционных систем семейства MicrosoftâWindowsNT 4.0 и старше, в котором реализованы базовые операции с файлами и папками: открытие, перемещение, копирование, удаление, помещение в корзину.
Интерфейс программы был сделан по возможности наиболее интуитивно понятным и эргономичным.
ГОУ ОГУ 220400.4405.22 ПЗ
Изм
Лист
№ докум.
Подпись
Дата
Разраб.
Портнов
Файловый менеджер.
Пояснительная записка.
Лит
Лист
Листов
Провер.
Юркевская
К
3
38
ГОУ ОГУ ФИТ
ПОВТАС 04 ПОВТ-2
Н.контр.
Зав.каф.
Соловьев

Содержание
 TOC h z t «Заголовокраздела;1; Заголовок подраздела;2; Приложение;1» Введение. PAGEREF _Toc103029680 h 5
1 Формы программы… PAGEREF _Toc103029681 h 6
1.1 Главная форма программы… PAGEREF _Toc103029682 h 6
1.2 Диалог создания каталога. PAGEREF _Toc103029683 h 8
1.3 Диалог создания удаления или перемещения в корзину.PAGEREF _Toc103029684 h 8
2 Работа программы… PAGEREF _Toc103029685 h 9
2.1 Принцип работы программы… PAGEREF _Toc103029686 h 9
2.2. Глобальные переменные и константы… PAGEREF _Toc103029687 h 9
2.3 Функции реализации операций. PAGEREF _Toc103029688 h 10
Список использованных источников. PAGEREF _Toc103029689 h 12
Приложение А Блок-схема взаимодействия компонентов программы… PAGEREF _Toc103029690 h 13
Приложение Б Исходные тексты программы… PAGEREF _Toc103029692 h 15

Введение
Курсовой проект (получивший рабочее название VontropCommander) выполнен в системевизуального программирования BorlandâC++Builderä6.0, с использованием библиотеки визуальных компонентов (VCL) и функций
WindowsAPI.
В BorlandâC++Builderäпроектом называется совокупность файлов, создаваемых в процессе разработкипрограммы. В дальнейшем мы будем использовать слово «проект» именно в этомсмысле.
Проект VontropCommander’асостоит, помимо файлов, создаваемых системой программирования автоматически, изчетырех модулей (Unit1.c, Unit2.c, Unit3.c и Unit4.c).
В заголовочном файле (хедере) первого модуля (Unit1), находится описание главной формыпрограммы, создаваемой при ее запуске, в теле этого модуля находятся исходныетексты обработчиков событий, порождаемых теми или иными действиями пользователяв главной форме программы (Form1).
Во втором модуле (Unit2)описаны все функции, на вызове которых строится работа программы, кромефункций-обработчиков событий. В хедере этого модуля объявлены глобальныеконстанты и переменные, а так же находятся прототипы функций, вызываемых издругих модулей.
В третьем модуле (Unit3)находится описание и функции-обработчики событий для формы (FormDialogCreateDir), являющейсядиалоговым окном создания новой директории.
В четвертом модуле (Unit4)находится описание и функции-обработчики событий для формы (FormDialogDelete), являющейся диалоговымокном удаления или помещения в корзину.

1 Формы программы
1.1 Главная форма программы
1.1.1 При запуске программы создается главная форма Form1 – представитель класса TForm (рисунок 1). Присоздании формы создаются списки доступных устройств, отображаемые в FileListLeft и FileListRigh, в обеих панеляхотображается корневая директория диска C:, поскольку нами было сделано предположение, что этотлогический диск должен быть практически на всех компьютерах, так же создаетсямножество атрибутов директории DirAttribSet, используемое функциями второго модуля.
В Form1реализовано одно событие: Create (создание, функция-обработчик: FormCreate).Опишем объекты,расположенные на Form1.
1.1.2 FileListLeftи FileListRight –представителями класса TStringGrid(строковая таблица). Выполняют функцию панелей, куда происходит отображение содержимогодиректорий и где пользователь выбирает файл (каталог), над которым онсобирается выполнять какое-либо действие. Здесь большое значение имеет понятие«активная панель». Роль активной панели играет та таблица, к которой в данныймомент обращается пользователь. Все операции совершаются с файлами(каталогами), отображенными в активной панели (копирование и перемещениеосуществляется в папку, содержимое который в данный момент отображено внеактивной панели). В программе предусмотрен разный вид для активной инеактивной панелей.
В FileListLeftи FileListRighреализованы следующие события: DblClick (двойной клик мыши,функции-обработчики: FileListLeftDblClick и FileListRightDblClick), Enter (вход, что означает,что панель становится активной, функции-обработчики: FileListLeftEnter иFileListRightEnter), KeyDown («горячие клавиши», функции-обработчики:FileListLeftKeyDown и FileListRightKeyDown).
1.1.3 ListDevicesLeft и ListDevicesRight – представители классаTComboBox (выпадающий список выбора). Являются списками доступных устройств храненияинформации. Выбор пользователем какого-либо устройства из этого списка означаетпереход к корневой директории этого устройства, которая отображается в соответствующейпанели, становящейся при этом активной. В случае, если корневые директории вобеих панелях после выбора совпадают, то в активной панели отображается содержимоетой же папки, что и в неактивной.
В ListDevicesLeftи ListDevicesRightреализованы следующие события: – Select (выбор пункта в списке,функции-обработчики: ListDevicesLeftSelect и ListDevicesRightSelect), Enter (вход, что означает,что соответствующая панель становится активной, функции-обработчики:FileListLeftEnter и FileListRightEnter).
1.1.4 bRemove,bCopy, bCreateDir, bDelete, bCurrentRootDirLeft и
bCurrentRootDirRight –представители класса TButton(кнопка). Кнопки выполняют различные функции. Во всех кнопках реализованотолько одно событие – Click(нажатие, функции обработчики: bCreateDirClick, bDeleteClick, bCopyClick,bRemoveClick, bCurrentRootDirLeftClick и bCurrentRootDirRightClick).
При нажатии на bRemoveпроисходит перемещение файла (каталога, со всеми вложенными каталогами) изпапки, отображенной в активной панели, в папку, отображенную в неактивной.Нажатие bCopyпрактически аналогично нажатию на bRemove. только происходит копирование, а не перемещение. Нажатиена
bCreateDir выводитдиалог создания каталога FormDialogCreateDir.Нажатие на bDeleteвыводит диалог удаления или помещения в корзину FormDialogDelete. При нажатии на bCurrentRootDirLeft или bCurrentRootDirRight всоответствующих панелях происходит отображение корневой директории текущегоустройства хранения информации.

1.1.5 LabelCurrentPathLeft и LabelCurrentPathRight – представители класса TLabel (надпись). В этихобъектах отображаются текущие пути панелей.
Рисунок 1 – Внешний вид Form1.

1.2 Диалог создания каталога
1.2.1 При нажатии на кнопку формы Form1 bCreateDirна экран выводится форма FormDialogCreateDir– представитель класса TForm(рисунок 2).
Опишем объекты расположенные на FormDialogCreateDir.
1.2.2 edNewDirName – представитель класса TEdit (поле ввода). Поле, кудапользователь вводит имя нового каталога. В edNewDirName реализовано событиеKeyDown («горячие клавиши», функция-обработчик edNewDirNameKeyDown).
1.2.3 Label1 – представитель класса TLabel (надпись). Содержит надпись «Создатькаталог:».
1.2.4 bOk и bCancel – представителикласса TButton(кнопка). В bOk и bCancel реализовано однособытие: Click(нажатие, функции-обработчики: bOkClick и bCancelClick). При нажатии на bOk, если введенное имяправильное (т.е. не содержит зарезервированных символов и слов и не совпадает сименем каталога в активной панели) или нет других ошибок (например, нет правдоступа), создается каталог в папке, отображенной в активной панели, и формаскрывается, в противном случае выдается сообщение об ошибке и предлагается повторитьввод. При нажатии на bCancelформа скрывается без выполнения каких-либо других действий.


Рисунок 2 – Внешний вид FormDialogCreateDir.
1.3 Диалог создания удаления илиперемещения в корзину.
1.3.1 При нажатии на кнопку формы Form1 bDeleteна экран выводится форма FormDialogDelete– представитель класса TForm(рисунок 3).
Опишем объекты на FormDialogDelete.
1.3.2 Label1 – представитель класса TLabel (надпись). Содержит надпись «Выберетедействие:».
1.3.3. bDelete, bCancel, bRecycler – представители класса TButton (кнопка). В bDelete, bCancel, bRecycler реализовано одно событие: Click (нажатие, функции-обработчики:bDeleteClick, bCancelClick и bRecyclerClick). При нажатии на bDelete файл(каталог), находящийся в фокусе в активной панели, удаляется. При нажатии наbRecycler, файл (каталог), находящийся в фокусе в активной панели, помещается вкорзину. При нажатии на bCancelформа скрывается без выполнения каких-либо других действий.


Рисунок 3 – Внешний вид FormDialogDelete.
2 Работа программы
2.1 Принцип работы программы
Принцип работы программы отражен в блок-схеме (Приложение А). Прокомментируемее.
При запуске программы создается главная форма, затем приложение ожидаетдействия пользователя. Каждому предусмотренному действию сопоставлена какая-тофункция-обработчик.
При нажатии на кнопки «Удалить» и «Создать» программа выводит на экрансоответствующие диалоговые окна, где так же есть предусмотренные действия пользователяс объектами на этих формах.
После выполнения какого-либо действия, программа возвращается в режиможидания пользовательских действий.
Для завершения работы с VontropCommander пользователю достаточно нажатьна кнопку «Закрыть» системного меню, находящуюся в правом верхнем углу окнапрограммы.
В Приложении Б приведены исходные тексты всех модулей программы, атак же исходный текст заголовочного файла второго модуля (т.к. он, в отличие отзаголовочных файлов других модулей не был сгенерирован автоматически).
Все функции-обработчики событий во всех формах вызывают функции реализацииопераций из второго модуля программы.
Но для начала опишем используемые в программе глобальные переменныеи константы.
2.2. Глобальные переменные и константы
2.2.1. Глобальные константы.
Все глобальные константы объявлены в программе с помощью директивы define. LEFT=1 и RIGHT=0 –используется для обозначения панели, над которой производятся действия.
FO_DELETER=5 используется в Delete для выбора действия «помещение вкорзину.
2.2.2 Глобальные переменные.
DirSel (тип int)изменяет значение, когда в LitsDevicesLeft (ListDevicesRight) происходит выбор устройства либопроисходит нажатие на bCurrentRootDirLeft (bCurrentRootDirRight). Используется для передачи в HendlerOfOpen.
RootDirLeft и RootDirRight (тип AnsiString) – текущий путь корневой директории. Используется для передачи в HendlerOfOpen.
CurrentPathLeft,CurrentPathRight (типAnsiString) – текущий путь. ВозвращаетсяHendlerOfOpen. Используется для передачи вDelete, CreateFolder,CopyOrRemove.
Panel(тип int)– принимает только два значения: LEFT и RIGHT.Используется для указания активной панели.


2.3Функции реализации операций

2.3.1 CreateListOfDevices[1].
Создает списоккорневых директорий доступных устройств хранения информации и отображает этотсписок в ListDevicesLeft и ListDevicesRight.
Функции непередаются параметры. Не возвращает значения.
Используется функцияWindowsAPIGetDriveType.
2.3.2 ScanDir.
Функции предаетсястрока, заканчивающаяся нулем (char Path[]), содержащая путь к директории,в которой производится поиск всех содержащихся в ней папок и файлов ипеременная (int Panel),в зависимости от значения которой формируется либо DequeFindLeft (если Panel=LEFT) или DequeFindRight (если Panel=RIGHT).
Используются три функции Windows API:FindFirstFile,FindNextFile, FindClose.
Вызывается вViewDirectory.
DequeFindLeft (DequeFindRight) – это контейнер библиотеки стандартных шаблонов, являющийсяочередью deque, элементами которой являются структуры типа WIN32_FIND_DATA. Тип WIN32_FIND_DATA описан в winbase.h. Ссылка на структуру передается вFindFirstFile и FindNextFile.
2.3.3 StrucFindToFileProp.
Преобразует структуру типаWIN32_FIND_DATA в_FileProperty.
Функции передаетсяструктура типа WIN32_FIND_DATA и ссылка на структуру типа _FileProperty. Невозвращает значения.
Вызывается вViewDirectory.
Тип _FilePropertyописывается в начале модуля и используется для отображения результатов работы ScanDir в FileListLeft (FileListRight),т.к. некоторые поля WIN32_FIND_DATA не адаптированы для вывода.
2.3.4ViewDirectory.
Отображаетсодержимое папки, путь к которой передается в Path[] в активной панели.
Функции предаетсястрока, заканчивающаяся нулем (char Path[]), содержащая путь, которыйпередается в ScanDir, и переменная (int Panel), передаваемая в ScanDir, и в зависимости от значениякоторой, результаты отображаются в FileListLeft (если Panel=LEFT) или FileListRight (если Panel=RIGHT). Не возвращает значения.
Вызывается вHandlerOfOpen, CreateFolder, CopyOrRemove и Deleting.
2.3.5 HandlerOfOpen.
В зависимости от действий пользователя, выполняет различныеоперации. Если происходит выбор в ListDevicesLeft (ListDevicesRight), тоотображается корневая директория, выбранного устройства при условии, чтокорневые директории панелей не сосвпадают, иначе в активной панели отображаетсяоткрытая папка неактивной панели. Если происходит нажатие на bCurrentRootDirLeft (bCurrentRootDirRight), то отображается корневаядиректория текущего устройсва. Если происходит двойной клик (нажатиеклавиши Enter) по FileListLeft (FileListRight), тоанализируется, какая строка находится сейчас в фокусе, и в зависимости отсодержимого, выполняются различные операции. Если в фокусе находится файл, тоон открывается приложением, с которым ассоциирован либо, если это приложение,производится его запуск. Если в фокусе находится папка, то отображается еесодержимое. Все действия совершаются с активной панелью.
Функции передается срока, путь к корневой директории устройства(AnsiString RootDir), активная панель (int Panel) и признак смены корневой директории(intDirSel). Возвращает текущийпуть активной директории.
Используется функция WindowsAPI ShellExecute.
2.3.6CreateFolder.
Создает директориюв активной панели.
Функции передаетсяуказание на то, какая сейчас панель активна (int Panel). Возвращает значениетипа bool,в зависимости от результатов выполнения операции. Функция создает каталог впути панели, являющейся активной. В качестве текущего пути в каждой панелииспользуются значения соответствующих глобальных переменных.
Используются функции WindowsAPI: CreateDirectory иMessageBox.
2.3.7 Deleting.
Удаляет илипомещает в корзину объект (файл или папку, со всеми ее вложенными папками),находящийся в фокусе в активной панели.
В функциюпередается признак активной панели (int Panel) и операция (int Operation),которую надо совершить, т.е. удалить или поместить в корзину. Не возвращаетзначения.
Используется функция WindowsAPI SHFileOperation.
2.3.8CopyOrRemove.
Перемещает иликопирует объект (файл или папку, со всеми ее вложенными папками), находящийся вфокусе в активной панели в папку неактивной панели.
В функциюпередается признак активной панели (int Panel) и операция (int Operation),которую надо совершить, т.е. копировать или переместить. Не возвращает значения.
Используется функция WindowsAPI SHFileOperation.

Списокиспользованных источников
1       http://vsokovikov.narod.ru/
2       http://www.firststeps.ru/
3       http://msdn.rambler.ru/
4       http://program.rin.ru/
5       http://www.hardline.ru/
6       http://www.citforum.ru/
7       http://olddos.narod.ru/
8       http://delphiworld.narod.ru/
9       http://www.msdn.com/
10  http://www.kavkazchat.com/
11  http://physics.grsu.by/
12  http://www.microsoft.com/
13  http://www.buildercpp.net.ru/
14  http://delphi.olympus.ru/
15  http://www.codenet.ru/
16  http://ru-coding.com/
17  http://www.softera.ru/
18  http://borland.xportal.ru/
19  http://www.legprog.com/
20  http://articles.org.ru/
21  http://delphimag.narod.ru/
22  http://linux.irtel.ru/
23  http://viphome.net/
24  http://inprise.hotbox.ru/
25  http://hardware.org.ru/
26  http://bugtraq.ru/
27  http://forum.vingrad.ru/
28  http://home.ural.ru/
29  http://www.progz.ru/
30 

приложениеА
(обязательное)
Блок-схема взаимодействия компонентов программы

Двойной клик по элементу правой панели
Начало
 CreateListOfDevices();
 CreateDirAttribSet();
 RootDirLeft=«C:\»;
 RootDirRight=«C:\»;
 DirSel=1;
 CurrentPathLeft=HandlerOfOpen(RootDirLeft, LEFT, DirSel);
 CurrentPathRight=HandlerOfOpen(RootDirRight, RIGHT, DirSel);
Создание формы
Действие пользователя
Двойной клик по элементу левой панели
А
 DirSel=0;
 CurrentPathLeft=HandlerOfOpen(RootDirLeft, LEFT, DirSel);
 DirSel=0;
 CurrentPathRight=HandlerOfOpen(RootDirRight,RIGHT, DirSel);
Б
 RootDirLeft=Form1->ListDevicesLeft->Text.Delete
               (3,(Form1->ListDevicesLeft->Text.Length()-2));
 DirSel=1;
 CurrentPathLeft=HandlerOfOpen(RootDirLeft, LEFT, DirSel);
 Form1->FileListLeft->SetFocus();
Выбор элемента в левом списке устройств хранения информации

В
А
 RootDirRight=Form1->ListDevicesRight->Text.Delete
                       (3,(Form1->ListDevicesRight->Text.Length()-2));
 DirSel=1;
 CurrentPathRight=HandlerOfOpen(RootDirRight, RIGHT, DirSel);
 Form1->FileListRight->SetFocus();
Б
Выбор элемента в правом списке устройств хранения информации
FormDialogCreateDir->Show();
Нажатие кнопки «Создать каталог»
 CopyOrRemove(Panel,FO_MOVE);
Нажатие кнопки «Переместить»
 CopyOrRemove(Panel,FO_COPY);
Нажатие кнопки «Копировать»
Действие пользователя
 FormDialogCreateDir->edNewDirName->Text="";
 FormDialogCreateDir->edNewDirName->SetFocus();
 FormDialogCreateDir->Hide();
Нажатие кнопки «Отмена»
 bool Result=CreateFolder(Panel);
 FormDialogCreateDir->edNewDirName->SetFocus();
 if (Result==true)
 {
 FormDialogCreateDir->edNewDirName->Text="";
 FormDialogCreateDir->Hide();
 }
Нажатие кнопки «OК»
Г ПРИЛОЖЕНИЕА
(продолжение)


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.