Реферат: Файловый менеджер

Министерство образованияРоссийской Федерации

ГОСУДАРСТВЕННОЕОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГООБРАЗОВАНИЯ«ОРЕНБУРГСКИЙГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»Факультет информационных технологий

Кафедра программногообеспечения вычислительной техники

и автоматизированных систем

КУРСОВОЙ ПРОЕКТ

по программированию

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

Пояснительная записка

ГОУ ОГУ 220400.4405.22 ПЗ

Руководитель проекта

__________________Юркевская Л.А.

«__»____________________2005г.

Исполнитель

студент гр.04 ПОВТ-2

________________ПортновД.И.

«__»____________________2005г.

Оренбург 2005

Министерство образованияРоссийской Федерации

ГОСУДАРСТВЕННОЕОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГООБРАЗОВАНИЯ«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ»Факультет информационных технологий

Кафедра программногообеспечения вычислительной техники и

автоматизированных систем

Задание на курсовой проект

 

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

                        Исходные данные:        Операционная система: Microsoft<span Times New Roman";mso-hansi-font-family:«Times New Roman»; mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family:Symbol">â

Windows

                                                                 NT4.0 и старше.

                                                              Количествоустройств хранения информации

                                                                 и их тип определяется программой.

                                                              Файловаясистема любая, поддерживаемая

                                                                 операционной системой.

                                                              Интерфейсграфический, двух панельный.

                                                              Языкразработки C++ любой реализации,

                                                                 возможно применение средств визуального

                                                                 программирования.

                        Разработать:                 1) Пользовательский интерфейсработы

                                                                  с файлами.

                                                              2)Реализацию заложенных в интерфейсе

                                                                  возможностей: выбора устройства хранения

                                                                  информации, просмотра содержимого

                                                                  директорий, создания новых директорий,

                                                                  операций с файлами и директориями

                                                                  (копирования, перемещения и удаления).

Дата выдачи задания «14»апреля 2005г.

Руководитель                                         Юркевская Л.А.

Исполнитель

студент группы 04 ПОВТ-2                      Портнов Д.И.

Срок защиты проекта «30» мая 2005г.

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">
<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;color:black;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">
<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;color:black;mso-ansi-language:RU;mso-fareast-language:RU; mso-bidi-language:AR-SA">

Аннотация

Пояснительная записка содержит 38 страниц, в том числе 3 рисунка,
30 источников, 2 приложения.

В данном проекте разработан файловый менеджер для операционных систем семейства Microsoft<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">â

WindowsNT 4.0 и старше, в котором реализованы базовые операции с файлами и папками: открытие, перемещение, копирование, удаление, помещение в корзину.

Интерфейс программы был сделан по возможности наиболее интуитивно понятным и эргономичным.

ГОУ ОГУ 220400.4405.22 ПЗ

Изм

Лист

№ докум.

Подпись

Дата

Разраб.

Портнов

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

Пояснительная записка.

Лит

Лист

Листов

Провер.

Юркевская

К

3

38

ГОУ ОГУ ФИТ

ПОВТАС 04 ПОВТ-2

Н.контр.

Зав.каф.

Соловьев

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

Содержание

 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

<span MS Mincho"">2.3 Функции реализации операций. PAGEREF _Toc103029688 h 10

Список использованных источников. PAGEREF _Toc103029689 h 12

Приложение А Блок-схема взаимодействия компонентов программы… PAGEREF _Toc103029690 h 13

Приложение Б Исходные тексты программы… PAGEREF _Toc103029692 h 15

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

Введение

Курсовой проект (получивший рабочее название VontropCommander) выполнен в системевизуального программирования Borland<span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-char-type: symbol;mso-symbol-font-family:Symbol">â

C++Builder<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">ä6.0, с использованием библиотеки визуальных компонентов (VCL) и функций
WindowsAPI.

В Borland<span Times New Roman"; mso-hansi-font-family:«Times New Roman»;mso-ansi-language:EN-US;mso-char-type: symbol;mso-symbol-font-family:Symbol">â

C++Builder<span Times New Roman";mso-hansi-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-char-type:symbol;mso-symbol-font-family: Symbol">äпроектом называется совокупность файлов, создаваемых в процессе разработкипрограммы. В дальнейшем мы будем использовать слово «проект» именно в этомсмысле.

Проект VontropCommander’асостоит, помимо файлов, создаваемых системой программирования автоматически, изчетырех модулей (Unit1.c, Unit2.c, Unit3.c и Unit4.c).

В заголовочном файле (хедере) первого модуля (Unit1), находится описание главной формыпрограммы, создаваемой при ее запуске, в теле этого модуля находятся исходныетексты обработчиков событий, порождаемых теми или иными действиями пользователяв главной форме программы (Form1).

Во втором модуле (Unit2)описаны все функции, на вызове которых строится работа программы, кромефункций-обработчиков событий. В хедере этого модуля объявлены глобальныеконстанты и переменные, а так же находятся прототипы функций, вызываемых издругих модулей.

В третьем модуле (Unit3)находится описание и функции-обработчики событий для формы (FormDialogCreateDir), являющейсядиалоговым окном создания новой директории.

В четвертом модуле (Unit4)находится описание и функции-обработчики событий для формы (FormDialogDelete), являющейся диалоговымокном удаления или помещения в корзину.

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

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 всоответствующих панелях происходит отображение корневой директории текущегоустройства хранения информации.

<img src="/cache/referats/19584/image002.gif" v:shapes="_x0000_s2053">
1.1.5 LabelCurrentPathLeft и LabelCurrentPathRight – представители класса TLabel (надпись). В этихобъектах отображаются текущие пути панелей.

Рисунок 1 – Внешний вид Form1.

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:RU;mso-fareast-language:RU;mso-bidi-language: AR-SA">

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форма скрывается без выполнения каких-либо других действий.

<img src="/cache/referats/19584/image004.jpg" v:shapes="_x0000_s2052">

Рисунок 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форма скрывается без выполнения каких-либо других действий.

<img src="/cache/referats/19584/image005.jpg" v:shapes="_x0000_s2054">

Рисунок 3 – Внешний вид FormDialogDelete.

2 Работа программы

2.1 Принцип работы программы

Принцип работы программы отражен в блок-схеме (Приложение А). Прокомментируемее.

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

При нажатии на кнопки «Удалить» и «Создать» программа выводит на экрансоответствующие диалоговые окна, где так же есть предусмотренные действия пользователяс объектами на этих формах.

После выполнения какого-либо действия, программа возвращается в режиможидания пользовательских действий.

Для завершения работы с VontropCommander пользователю достаточно нажатьна кнопку «Закрыть» системного меню, находящуюся в правом верхнем углу окнапрограммы.

В Приложении Б приведены исходные тексты всех модулей программы, атак же исходный текст заголовочного файла второго модуля (т.к. он, в отличие отзаголовочных файлов других модулей не был сгенерирован автоматически).

Все функции-обработчики событий во всех формах вызывают функции реализацииопераций из второго модуля программы.

Но для начала опишем используемые в программе глобальные переменныеи константы.

2.2. Глобальные переменные и константы

2.2.1. Глобальные константы.

Все глобальные константы объявлены в программе с помощью директивы <span MS Mincho"">define. LEFT=1 и RIGHT=0 –используется для обозначения панели, над которой производятся действия.

<span MS Mincho"; mso-ansi-language:EN-US">FO

<span MS Mincho"">_<span MS Mincho";mso-ansi-language:EN-US">DELETER<span MS Mincho"">=5 используется в <span MS Mincho";mso-ansi-language:EN-US">Delete<span MS Mincho""> для выбора действия «помещение вкорзину.

2.2.2 Глобальные переменные.

<span MS Mincho"; mso-ansi-language:EN-US">DirSel

<span MS Mincho""> (тип <span MS Mincho"; mso-ansi-language:EN-US">int<span MS Mincho"">)изменяет значение, когда в <span MS Mincho";mso-ansi-language:EN-US">LitsDevicesLeft<span MS Mincho""> (<span MS Mincho";mso-ansi-language:EN-US">ListDevicesRight<span MS Mincho"">) происходит выбор устройства либопроисходит нажатие на <span MS Mincho";mso-ansi-language:EN-US">bCurrentRootDirLeft<span MS Mincho""> (<span MS Mincho";mso-ansi-language:EN-US">bCurrentRootDirRight<span MS Mincho"">). Используется для передачи в <span MS Mincho";mso-ansi-language:EN-US">HendlerOfOpen<span MS Mincho"">.

<span MS Mincho"; mso-ansi-language:EN-US">RootDirLeft

<span MS Mincho""> и <span MS Mincho"; mso-ansi-language:EN-US">RootDirRight<span MS Mincho""> (тип <span MS Mincho"; mso-ansi-language:EN-US">AnsiString<span MS Mincho"">) – текущий путь корневой директории. Используется для передачи в <span MS Mincho";mso-ansi-language:EN-US">HendlerOfOpen<span MS Mincho"">.

<span MS Mincho"; mso-ansi-language:EN-US">CurrentPathLeft,CurrentPathRight (

<span MS Mincho"">тип<span MS Mincho";mso-ansi-language:EN-US">AnsiString) – <span MS Mincho"">текущий<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">путь<span MS Mincho";mso-ansi-language:EN-US">. <span MS Mincho"">Возвращается<span MS Mincho";mso-ansi-language:EN-US">HendlerOfOpen. <span MS Mincho"">Используется<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">для<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">передачи<span MS Mincho"; mso-ansi-language:EN-US"> <span MS Mincho"">в<span MS Mincho";mso-ansi-language:EN-US">Delete, CreateFolder,CopyOrRemove.

<span MS Mincho"; mso-ansi-language:EN-US">Panel

<span MS Mincho"">(тип <span MS Mincho"; mso-ansi-language:EN-US">int<span MS Mincho"">)– принимает только два значения: <span MS Mincho";mso-ansi-language:EN-US">LEFT<span MS Mincho""> и <span MS Mincho"; mso-ansi-language:EN-US">RIGHT<span MS Mincho"">.Используется для указания активной панели.

<span MS Mincho"">

<span MS Mincho"">

<span MS Mincho"">2.3Функции реализации операций

<span MS Mincho"">

<span MS Mincho"">2.3.1

<span MS Mincho";mso-ansi-language:EN-US">CreateListOfDevices<span Times New Roman",«serif»;mso-fareast-font-family:«MS Mincho»; color:black;mso-ansi-language:EN-US;mso-fareast-language:RU;mso-bidi-language: AR-SA">[1]<span MS Mincho"">.

<span MS Mincho"">Создает списоккорневых директорий доступных устройств хранения информации и отображает этотсписок в

<span MS Mincho"; mso-ansi-language:EN-US">ListDevicesLeft<span MS Mincho""> и <span MS Mincho"; mso-ansi-language:EN-US">ListDevicesRight<span MS Mincho"">.

<span MS Mincho"">Функции непередаются параметры. Не возвращает значения.

<span MS Mincho"">Используется функция

<span MS Mincho";mso-ansi-language: EN-US">Windows<span MS Mincho""><span MS Mincho";mso-ansi-language: EN-US">API<span MS Mincho"">GetDriveType.

<span MS Mincho"">2.3.2

<span MS Mincho";mso-ansi-language:EN-US">ScanDir<span MS Mincho"">.

<span MS Mincho"">Функции предаетсястрока, заканчивающаяся нулем (

<span MS Mincho";mso-ansi-language:EN-US">char<span MS Mincho""> <span MS Mincho";mso-ansi-language:EN-US">Path<span MS Mincho"">[]), содержащая путь к директории,в которой производится поиск всех содержащихся в ней папок и файлов ипеременная (<span MS Mincho"; mso-ansi-language:EN-US">int<span MS Mincho""> <span MS Mincho"; mso-ansi-language:EN-US">Panel<span MS Mincho"">),в зависимости от значения которой формируется либо <span MS Mincho";mso-ansi-language:EN-US">DequeFindLeft<span MS Mincho""> (если <span MS Mincho";mso-ansi-language:EN-US">Panel<span MS Mincho"">=<span MS Mincho";mso-ansi-language:EN-US">LEFT<span MS Mincho"">) или <span MS Mincho";mso-ansi-language:EN-US">DequeFindRight<span MS Mincho""> (если <span MS Mincho";mso-ansi-language:EN-US">Panel<span MS Mincho"">=<span MS Mincho";mso-ansi-language:EN-US">RIGHT<span MS Mincho"">).

<span MS Mincho"">Используются

<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">три<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">функции<span MS Mincho"; mso-ansi-language:EN-US"> Windows API:FindFirstFile,FindNextFile, FindClose.

<span MS Mincho"">Вызывается вViewDirectory.

<span MS Mincho"; mso-ansi-language:EN-US">DequeFindLeft

<span MS Mincho""> (<span MS Mincho"; mso-ansi-language:EN-US">DequeFindRight<span MS Mincho"">) – это контейнер библиотеки стандартных шаблонов, являющийсяочередью deque, элементами которой являются структуры типа <span MS Mincho";mso-ansi-language:EN-US">WIN<span MS Mincho"">32_<span MS Mincho";mso-ansi-language:EN-US">FIND<span MS Mincho"">_<span MS Mincho";mso-ansi-language:EN-US">DATA<span MS Mincho"">. Тип <span MS Mincho";mso-ansi-language:EN-US">WIN<span MS Mincho"">32_<span MS Mincho";mso-ansi-language:EN-US">FIND<span MS Mincho"">_<span MS Mincho";mso-ansi-language:EN-US">DATA<span MS Mincho""> описан в <span MS Mincho";mso-ansi-language:EN-US">winbase<span MS Mincho"">.<span MS Mincho";mso-ansi-language:EN-US">h<span MS Mincho"">. Ссылка на структуру передается вFindFirstFile и FindNextFile.

<span MS Mincho"">2.3.3

<span MS Mincho";mso-ansi-language:EN-US">StrucFindToFileProp.

<span MS Mincho"">Преобразует

<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">структуру<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">типа<span MS Mincho";mso-ansi-language:EN-US">WIN32_FIND_DATA <span MS Mincho"">в<span MS Mincho";mso-ansi-language:EN-US">_FileProperty.

<span MS Mincho"">Функции передаетсяструктура типа WIN32_FIND_DATA и ссылка на структуру типа _FileProperty. Невозвращает значения.

<span MS Mincho"">Вызывается вViewDirectory.

<span MS Mincho"">Тип _FilePropertyописывается в начале модуля и используется для отображения результатов работы

<span MS Mincho";mso-ansi-language:EN-US">ScanDir<span MS Mincho""> в FileListLeft (FileListRight),т.к. некоторые поля WIN32_FIND_DATA не адаптированы для вывода.

<span MS Mincho"">2.3.4ViewDirectory.

<span MS Mincho"">Отображаетсодержимое папки, путь к которой передается в

<span MS Mincho";mso-ansi-language:EN-US">Path<span MS Mincho"">[] в активной панели.

<span MS Mincho"">Функции предаетсястрока, заканчивающаяся нулем (

<span MS Mincho";mso-ansi-language:EN-US">char<span MS Mincho""> <span MS Mincho";mso-ansi-language:EN-US">Path<span MS Mincho"">[]), содержащая путь, которыйпередается в <span MS Mincho"; mso-ansi-language:EN-US">ScanDir<span MS Mincho"">, и переменная (<span MS Mincho";mso-ansi-language:EN-US">int<span MS Mincho""> <span MS Mincho";mso-ansi-language:EN-US">Panel<span MS Mincho"">), передаваемая в <span MS Mincho";mso-ansi-language:EN-US">ScanDir<span MS Mincho"">, и в зависимости от значениякоторой, результаты отображаются в FileListLeft (если <span MS Mincho";mso-ansi-language:EN-US">Panel<span MS Mincho"">=<span MS Mincho";mso-ansi-language:EN-US">LEFT<span MS Mincho"">) или FileListRight (если <span MS Mincho";mso-ansi-language:EN-US">Panel<span MS Mincho"">=<span MS Mincho";mso-ansi-language:EN-US">RIGHT<span MS Mincho"">). Не возвращает значения.

<span MS Mincho"">Вызывается

<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">в<span MS Mincho";mso-ansi-language:EN-US">HandlerOfOpen, CreateFolder, CopyOrRemove <span MS Mincho"">и<span MS Mincho"; mso-ansi-language:EN-US"> Deleting.

2.3.5 HandlerOfOpen.

В зависимости от действий пользователя, выполняет различныеоперации. Если происходит выбор в ListDevicesLeft (ListDevicesRight), тоотображается корневая директория, выбранного устройства при условии, чтокорневые директории панелей не сосвпадают, иначе в активной панели отображаетсяоткрытая папка неактивной панели. Если происходит нажатие на <span MS Mincho";mso-ansi-language:EN-US">bCurrentRootDirLeft

<span MS Mincho""> (<span MS Mincho";mso-ansi-language:EN-US">bCurrentRootDirRight<span MS Mincho"">), то отображается корневаядиректория текущего устройсва. Если происходит двойной клик (нажатиеклавиши Enter) по <span MS Mincho"">FileListLeft (FileListRight), тоанализируется, какая строка находится сейчас в фокусе, и в зависимости отсодержимого, выполняются различные операции. Если в фокусе находится файл, тоон открывается приложением, с которым ассоциирован либо, если это приложение,производится его запуск. Если в фокусе находится папка, то отображается еесодержимое. Все действия совершаются с активной панелью.

Функции передается срока, путь к корневой директории устройства(AnsiString RootDir), активная панель (int Panel) и признак смены корневой директории(intDirSel). Возвращает текущийпуть активной директории.

<span MS Mincho"">Используется

<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">функция<span MS Mincho";mso-ansi-language:EN-US"> WindowsAPI ShellExecute.

<span MS Mincho"">2.3.6CreateFolder.

<span MS Mincho"">Создает директориюв активной панели.

<span MS Mincho"">Функции передаетсяуказание на то, какая сейчас панель активна (int Panel). Возвращает значениетипа

<span MS Mincho"; mso-ansi-language:EN-US">bool<span MS Mincho"">,в зависимости от результатов выполнения операции. Функция создает каталог впути панели, являющейся активной. В качестве текущего пути в каждой панелииспользуются значения соответствующих глобальных переменных.

<span MS Mincho"">Используются

<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">функции<span MS Mincho";mso-ansi-language:EN-US"> WindowsAPI: CreateDirectory <span MS Mincho"">и<span MS Mincho";mso-ansi-language:EN-US">MessageBox.

<span MS Mincho"">2.3.7

<span MS Mincho";mso-ansi-language:EN-US">Deleting<span MS Mincho"">.

<span MS Mincho"">Удаляет илипомещает в корзину объект (файл или папку, со всеми ее вложенными папками),находящийся в фокусе в активной панели.

<span MS Mincho"">В функциюпередается признак активной панели (int Panel) и операция (int Operation),которую надо совершить, т.е. удалить или поместить в корзину. Не возвращаетзначения.

<span MS Mincho"">Используется

<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">функция<span MS Mincho";mso-ansi-language:EN-US"> WindowsAPI SHFileOperation.

<span MS Mincho"">2.3.8CopyOrRemove.

<span MS Mincho"">Перемещает иликопирует объект (файл или папку, со всеми ее вложенными папками), находящийся вфокусе в активной панели в папку неактивной панели.

<span MS Mincho"">В функциюпередается признак активной панели (int Panel) и операция (int Operation),которую надо совершить, т.е. копировать или переместить. Не возвращает значения.

<span MS Mincho"">Используется

<span MS Mincho";mso-ansi-language:EN-US"> <span MS Mincho"">функция<span MS Mincho";mso-ansi-language:EN-US"> WindowsAPI SHFileOperation.<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;mso-ansi-language:EN-US;mso-fareast-language:RU;mso-bidi-language: AR-SA">

Списокиспользованных источников

1<span Times New Roman"">      

http://vsokovikov.narod.ru/

2<span Times New Roman"">      

http://www.firststeps.ru/

3<span Times New Roman"">      

http://msdn.rambler.ru/

4<span Times New Roman"">      

http://program.rin.ru/

5<span Times New Roman"">      

http://www.hardline.ru/

6<span Times New Roman"">      

http://www.citforum.ru/

7<span Times New Roman"">      

http://olddos.narod.ru/

8<span Times New Roman"">      

http://delphiworld.narod.ru/

9<span Times New Roman"">      

http://www.msdn.com/

10<span Times New Roman""> 

http://www.kavkazchat.com/

11<span Times New Roman""> 

http://physics.grsu.by/

12<span Times New Roman""> 

http://www.microsoft.com/

13<span Times New Roman""> 

http://www.buildercpp.net.ru/

14<span Times New Roman""> 

http://delphi.olympus.ru/

15<span Times New Roman""> 

http://www.codenet.ru/

16<span Times New Roman""> 

http://ru-coding.com/

17<span Times New Roman""> 

http://www.softera.ru/

18<span Times New Roman""> 

http://borland.xportal.ru/

19<span Times New Roman""> 

http://www.legprog.com/

20<span Times New Roman""> 

http://articles.org.ru/

21<span Times New Roman""> 

http://delphimag.narod.ru/

22<span Times New Roman""> 

http://linux.irtel.ru/

23<span Times New Roman""> 

http://viphome.net/

24<span Times New Roman""> 

http://inprise.hotbox.ru/

25<span Times New Roman""> 

http://hardware.org.ru/

26<span Times New Roman""> 

http://bugtraq.ru/

27<span Times New Roman""> 

http://forum.vingrad.ru/

28<span Times New Roman""> 

http://home.ural.ru/

29<span Times New Roman""> 

http://www.progz.ru/

30<span Times New Roman""> 

<span Times New Roman",«serif»;mso-fareast-font-family: «Times New Roman»;color:black;text-transform:uppercase;mso-ansi-language:RU; mso-fareast-language:RU;mso-bidi-language:AR-SA">

приложениеА

(обязательное)

Блок-схема взаимодействия компонентов программы

Двойной клик по элементу правой панели

Начало

 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();

Выбор элемента в левом списке устройств хранения информации

<img src="/cache/referats/19584/image006.gif" v:shapes="_x0000_s2160 _x0000_s2078 _x0000_s2055 _x0000_s2056 _x0000_s2057 _x0000_s2059 _x0000_s2061 _x0000_s2062 _x0000_s2075 _x0000_s2069 _x0000_s2070 _x0000_s2071 _x0000_s2073 _x0000_s2076 _x0000_s2077 _x0000_s2080 _x0000_s2081 _x0000_s2083 _x0000_s2084 _x0000_s2091 _x0000_s2092 _x0000_s2094 _x0000_s2095">

В

А

 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К»

Г

<img src="/cache/referats/19584/image007.gif" v:shapes="_x0000_s2159 _x0000_s2101 _x0000_s2102 _x0000_s2103 _x0000_s2104 _x0000_s2105 _x0000_s2106 _x0000_s2107 _x0000_s2108 _x0000_s2109 _x0000_s2113 _x0000_s2114 _x0000_s2116 _x0000_s2139 _x0000_s2124 _x0000_s2125 _x0000_s2126 _x0000_s2127 _x0000_s2141 _x0000_s2129 _x0000_s2130 _x0000_s2131 _x0000_s2132 _x0000_s2142 _x0000_s2144 _x0000_s2145 _x0000_s2152 _x0000_s2156 _x0000_s2147 _x0000_s2148 _x0000_s2149 _x0000_s2150 _x0000_s2153 _x0000_s2154 _x0000_s2157 _x0000_s2158">ПРИЛОЖЕНИЕА

(продолжение)

<span Times New Roman",«serif»; mso-fareast-font-family:«Times New Roman»;color:black;mso-ansi-language:RU; mso-fareast-language:RU;m
еще рефераты
Еще работы по программному обеспечению