Реферат: Файловый менеджер
Министерство образованияРоссийской ФедерацииГОСУДАРСТВЕННОЕОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГООБРАЗОВАНИЯ«ОРЕНБУРГСКИЙГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»Факультет информационных технологийКафедра программногообеспечения вычислительной техники
и автоматизированных систем
КУРСОВОЙ ПРОЕКТ
по программированию
Файловыйменеджер.
Пояснительная запискаГОУ ОГУ 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">â
WindowsNT4.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