Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Розробка файлової оболонки

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Для організації інтерфейсу користувача буде використано стандартні візуальні компоненти Delphi 3.0. Задля реалізації механізму копирования/вставки необхідно запам’ятати список копируемых файлов/директорий, кожен елемент списку мусить мати інформацію про місце перебування файла/директории й імені файла/директории. При копіюванні групи файлів чи одного файла необхідно визначити би їхнє місце… Читати ще >

Розробка файлової оболонки (реферат, курсова, диплом, контрольна)

Разработка файловою оболонки.

Постановка завдання.

Задача залежить від розробці файлової оболонки для ОС Windows'95/98. У конкурсній програмі реалізувати механізми копіювання, перенесення, видалення, перейменування файлів і директорій, пошук файлів по масці, перегляд списку файлів по масці, перегляд і редагування файлів в зовнішніх редакторах, присвоєння й одержання атрибутів файла, присвоєння атрибутів групі файлів, запуск додатків зі рядком параметрів, створення директорії, визначення величини директорії, отримання інформації про диску, настройки інтерфейсу програми, визначення сумарного обсягу дискового простору займаного групою файлів, відновлення интерфейсных параметрів при повторному запуску програми. Також забезпечити управління оболонкою з допомогою маніпулятора типу «миша» і клавіатури.

Метод реалізації.

Для реалізації поставленого завдання необхідно створити інтерфейс користувача що з таких компонент:

А) список директорій.

Б) список файлів.

У) список дисків.

Р) головне меню програми.

Д) панель інструментів.

Для організації інтерфейсу користувача буде використано стандартні візуальні компоненти Delphi 3.0. Задля реалізації механізму копирования/вставки необхідно запам’ятати список копируемых файлов/директорий, кожен елемент списку мусить мати інформацію про місце перебування файла/директории й імені файла/директории. При копіюванні групи файлів чи одного файла необхідно визначити би їхнє місце становище у ієрархії каталогів, та був заповнити список, обираючи все файли відзначені користувачем зі списку файлів показаного в интерфейсной частини програми (списку файлів). При копіюванні директорії слід також визначити її ситуацію і зробити сканування самої директорії зі збереженням у списку імен файлів які у копируемой директорії і структури каталогів. Для вставки директорії на місце копіювання, необхідно відтворити її структуру, та був скопіювати у неї файли. Для цього процесу вищезгаданий список розбивається на два. У першому списку (назвемо його тимчасовий список директорій) повинна бути структура каталогів, тоді як у другому (часовому списку файлів) які працюють у цих каталогах файли. Два списку необхідні зменшення часу витраченого на копіювання, бо за наявності одного списку необхідний аналіз кожного елемента списку щодо наявності поддиректорий й створення цих поддиректорий на місці копіювання, а копируемой директорії здебільшого кількість директорій менш як кількість файлів і часу на перевірку знадобитися більше, аніж за використанні двох списків.

Если ж використовувати два списку то тут для відтворення структури каталогів і її відсортувати тимчасовий список директорій відповідно до ієрархією каталогів, і створювати директорії йдучи списку згори донизу. Оскільки після сортування, директорії розташовані на верхніх рівнях вкладеності каталогів перебуватимуть у верхній частині списку, а директорії розташовані на нижніх рівнях перебуватимуть наприкінці списку. Після відтворення структури директорії залишається тільки переписати файли.

Алгоритм заповнення тимчасових списків показаний малюнку 1 як блок схеми. Реалізація даного алгоритму буде базирована на використанні функцій FindFirst і FindNext, цих функцій здійснюють перегляд вмісту зазначеної директорії і як результату повертають ім'я знайденого елемента, його атрибути, час створення і величину. При аналізі атрибутів знайденого елемента можна визначити даний елемент директорія чи файл, і згідно з аналізом записати його ім'я і становище у відповідний список. На описаному алгоритмі буде базирован також механізм видалення директорії.

Упомянутые вище функції FindFirst і FindNext будуть також застосовані при реалізації механізму пошуку файлів по масці.

Описание програми.

Программа реалізована мовою паскаль з допомогою.

Delphi 3.0 — середовища візуального програмування додатків для Windows'95 .

Детально розглянемо реалізацію деяких механізмів, як-от:

Поиск файлів;

Копирование Директорій;

Удаление директорій.

Поиск файлів:

Поиск файлів у програмі реалізований з допомогою маски. У масці можливо використання службового символу, заміни групи невідомих символів в імені файла, або його розширенні «*», і навіть може бути пошук з відмінностями регістрів символів, і такого, із зазначенням галузі пошуку. Також є можливість пошуку з накладенням додаткових обмежень, як-от розмір шуканого файла, а як і створення файла. Детально у реалізації названих вище механізмів ви можете ознайомитися при застосуванні 1 зі сторінок (29−35). Але тут, ми розглянемо реалізацію більшості цього механізму.

Для пошуку файлів по масці необхідно завдання маски пошуку вигляді *.сом чи autoexec.*, й інші можливі варіанти, й області пошуку. Як додаткового параметра то, можливо задана перевірка регістру символів. Блок схема пошуку файлів показано малюнку 1. Під час пошуку використовується рекурсивна процедура (текст 1.) у якій послідовно проглядається область пошуку, включаючи підкаталоги, порівнюється ім'я знайденого файл з маскою пошуку, і коли всі накладені обмеження виконані, знайдений файл заноситься до списку запропонований користувачеві для перегляду. Для організації пошуку різних галузях змінюється лише місце першого виклику рекурсивної процедури.

Текст 1.

Procedure TFindForm. FindInCurrentDir (CurDir:string);

Var.

SizeF:integer;

i:integer;

EndList:boolean;

F:TSearchRec;

D:string;

begin.

{Висновок до статусу рядку директорії у якій виробляється пошук}.

FindForm.StatusFind.Panels[1]. Text:=CurDir;

FindFirst (CurDir+ «*.* », faAnyFile, F);

FindNext (F);

repeat.

// Перевірка розширеного пошуку.

If FindForm.CBAdvSearch.Checked and (F.AttrfaDirectory) then.

begin.

// Перевірка на розмір знайденого файла.

// величину і час створення найденого файла повинні у межах заданих.

// користувачем.

if not (((F.Size < StrToInt (FindForm.SLess.Text)) and.

(F.Size > StrToInt (FindForm.SGreater.Text)))) then Continue;

if not (((FileDateTime (CurDir+F.Name) FindForm.DateIsAfter.Date))) then Continue;

end;

// перевірити чи найденый файл директорією.

if F. Attr=faDirectory then.

if (F.Name ". «) and (F.Name ». ") then.

begin.

// якщо знайдений файл — директорія, рекурсивний виклик пошуку даної директорії.

FindInCurrentDir (CurDir+F.Name+ «»);

end;

if (F.Name ". ") and (F.Name ". «) then.

// якщо файл підходить під маску, занести його до списку.

if CompareFileWithMask (F.Name) then.

begin.

FindForm.FileWasFind.Items.Add (CurDir+F.Name);

FindForm.StatusFind.Panels[0]. Text:=IntToStr (StrToInt (FindForm.StatusFind.Panels[0].Text)+1);

FindForm.FileWasFind.Refresh;

end;

// виконувати пошук доки закінчаться файли в поточної області заданої області.

Until ((FindNext (F) 0));

FindClose (F);

end;

У формі пошуку файлів можливий перехід до обраному файлу, зі списку знайдених, і навіть запуск або просмотр/редактирование в зовнішньому редакторі.

Копирование / Видалення директорій:

Описанная вище реалізація алгоритму пошуку файлів применёна у реалізації копіювання і видалення директорій. При реалізації аналізованих процесів знадобиться наявність двох тимчасових списків: списку директорій і списку файлів (кожна рядок обох списків включає у собі «повний шлях» (FULL PATH)) файла/директории. Задля реалізації тимчасових списків використаний візуальна компонента ListBoх, дана компонента є динамічний список рядків й створили набір процедур і державних функцій керувати цим списком. Заповнення цих списків здійснюється за допомогою перегляду директорії. З лістингом програми реализующем ці процеси ви можете ознайомитися при застосуванні 1 зі сторінок (17,23−27). Для копирования/удаления директорій складаються обидва вищезгаданих списку. При уставці директорії створюється повне дерево директорії, та був відбувається копіювання файлів. При видаленні директорії як і складаються обидва списку, але оскільки процедури удаляющей не порожню директорію немає, то початку видаляються все файли в удаляемой директорії (включаючи файли перебувають у поддиректориях), та був порожні директорії.

Анализ результатів.

Программа має всі необхідні функції роботи з файлами. Усі функції можна активізувати натисканням комбінації клавіш. Здійснюватися статистика копіювання, перенесення, видалення файлов/директорий в зручною до користувачем формі. Існує простий механізм накладення фільтра на зображувані файли. При зміні інтерфейсу програми, зміни зберігаються буде відновлено при наступному запуску. Запуск додатків зі рядком параметрів із зазначенням типу запуску. Висновок повідомлення про кількість поддиректорий в директорії і про кількість файлів розміщених у ній. Визначення розміру директорії присвоєння атрибутів групі файлів простим натисканням двох клавіш.

Выводы.

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

В програмі реалізовані такі механізми:

копирования, перенесення, видалення, перейменування файлів і директорій,.

поиск файлів по масці,.

наложение фільтра на список файлів,.

просмотр і редагування файлів в зовнішніх редакторах,.

присвоение й одержання атрибутів файла,.

присвоение атрибутів групі файлів,.

запуск додатків зі рядком параметрів,.

создание директорії,.

определение розміру директорії,.

получение інформації про диску,.

настройки інтерфейсу програми,.

определение сумарного обсягу дискового простору займаного групою файлів,.

восстановление интерфейсных параметрів при повторному запуску програми.

Программа має зручний інтерфейс і можна використовувати до роботи користувачами із різним рівнем знань.

Системные вимоги: Операційна система Windows'95 і від, 500 кілобайтів дискового простору.

Главная форма програми.

.

Модуль описує головну форму.

unit UMainForm; // головна форма програми.

interface.

// які підключаються модулі (стандартні).

uses.

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,.

Menus, ExtCtrls, ComCtrls, StdCtrls, FileCtrl, Grids, Outline, DirOutln,.

ToolWin, Buttons;

type.

TMainForm = class (TForm).

MainMenu1: TMainMenu;

File1: TMenuItem;

About1: TMenuItem;

N1: TMenuItem;

Exit1: TMenuItem;

Options1: TMenuItem;

Directory: TDirectoryOutline;

FileList: TFileListBox;

Drv: TDriveComboBox;

StatusBar: TStatusBar;

DirectoryMenu: TPopupMenu;

FileMenu: TPopupMenu;

Splitter: TSplitter;

Cut: TMenuItem;

Copy: TMenuItem;

Paste: TMenuItem;

Rename1: TMenuItem;

Delete: TMenuItem;

NewDir: TMenuItem;

CopyDir: TMenuItem;

RenameDir: TMenuItem;

DeleteDir: TMenuItem;

PasteDir: TMenuItem;

TempDelete: TListBox;

TempCopyMove: TListBox;

Open: TMenuItem;

View: TMenuItem;

FileMask1: TMenuItem;

CMDirList: TListBox;

DFileList: TListBox;

Find1: TMenuItem;

Info1: TMenuItem;

CMFileList: TListBox;

FileAttr: TMenuItem;

SizeDirectory1: TMenuItem;

CutDir: TMenuItem;

ToolBar1: TToolBar;

DrBox: TDriveComboBox;

Bevel1: TBevel;

Bevel2: TBevel;

SpeedButton1: TSpeedButton;

SCut: TSpeedButton;

Bevel3: TBevel;

SCopy: TSpeedButton;

SPaste: TSpeedButton;

SDel: TSpeedButton;

Up: TSpeedButton;

Bevel4: TBevel;

Cut1: TMenuItem;

Copy1: TMenuItem;

Paste1: TMenuItem;

Rename: TMenuItem;

Delete1: TMenuItem;

Selectall: TMenuItem;

InvertSelect: TMenuItem;

procedure About1Click (Sender: TObject);

procedure Exit1Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure Options1Click (Sender: TObject);

procedure DrivesSectionClick (HeaderControl: THeaderControl;

Section: THeaderSection);

procedure DrivesMouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure NewDirClick (Sender: TObject);

procedure DirectoryChange (Sender: TObject);

procedure CopyClick (Sender: TObject);

procedure CutClick (Sender: TObject);

procedure PasteClick (Sender: TObject);

procedure Rename1Click (Sender: TObject);

procedure DeleteDirClick (Sender: TObject);

procedure DeleteClick (Sender: TObject);

procedure FileMenuPopup (Sender: TObject);

procedure FileMask1Click (Sender: TObject);

procedure FileListDblClick (Sender: TObject);

procedure SplitterMoved (Sender: TObject);

procedure Find1Click (Sender: TObject);

procedure Info1Click (Sender: TObject);

procedure CopyDirClick (Sender: TObject);

procedure RenameDirClick (Sender: TObject);

procedure FileAttrClick (Sender: TObject);

procedure ViewClick (Sender: TObject);

procedure SizeDirectory1Click (Sender: TObject);

procedure FileListMouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure FileListKeyPress (Sender: TObject; var Key: Char);

procedure FileListKeyDown (Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure PasteDirClick (Sender: TObject);

procedure DirectoryMenuPopup (Sender: TObject);

procedure File1Click (Sender: TObject);

procedure OpenClick (Sender: TObject);

procedure DrBoxChange (Sender: TObject);

procedure UpClick (Sender: TObject);

procedure SCutClick (Sender: TObject);

procedure SPasteClick (Sender: TObject);

procedure SDelClick (Sender: TObject);

procedure SCopyClick (Sender: TObject);

procedure FileListClick (Sender: TObject);

procedure CutDirClick (Sender: TObject);

procedure Cut1Click (Sender: TObject);

procedure Copy1Click (Sender: TObject);

procedure Paste1Click (Sender: TObject);

procedure Delete1Click (Sender: TObject);

procedure RenameClick (Sender: TObject);

procedure FormResize (Sender: TObject);

procedure InvertSelectClick (Sender: TObject);

procedure FileListKeyUp (Sender: TObject; var Key: Word;

Shift: TShiftState);

procedure SelectallClick (Sender: TObject);

private.

public.

end;

var.

MainForm: TMainForm;

Size:integer;

implementation.

// які підключаються модулі (не стандартні).

uses UAboutBox, UMainForm_, UOptionsForm, UCreateDir, UProgressForm,.

URenameForm, UAskDeleteForm, UGetFileMask, FmxUtils, UFindForm, UInfoForm,.

UAttrFilesForm, UNotTrivial, UDeleteDir, URenameDirForm, URunForm,.

UViewForm;

{$R *.DFM}.

procedure TMainForm. About1Click (Sender: TObject);

// висновок форми «ІНФОРМАЦІЯ Про ПРОГРАМІ «.

begin.

AboutBox.Show;

end;

procedure TMainForm. Exit1Click (Sender: TObject);

// Обробка виходу з програми.

begin.

If AskExit then.

begin.

// Підтвердження виходу.

If Application. MessageBox («Exit? », «Exit », MB_APPLMODAL+MB_ICONQuestion+MB_YESNO)=IDYes then.

Begin.

// запис інформації про програму в файл МС.INI.

SaveIniMainForm;

Close;

end.

end.

else.

begin.

SaveIniMainForm;

Close;

end;

end;

procedure TMainForm. FormCreate (Sender: TObject);

//Установка начльных параметрів для компонент головною форми.

begin.

SetUpMainForm;

SetUpComponents;

end;

procedure TMainForm. Options1Click (Sender: TObject);

//Вывод форми параметрів.

begin.

// Центрування виведеної форми щодо головною форми.

GetFormToCenter (OptionsForm);

OptionsForm.ShowModal;

end;

procedure TMainForm. DrivesSectionClick (HeaderControl: THeaderControl;

Section: THeaderSection);

// Зміна поточного диска.

begin.

Directory.Drive:=Section.Text[1];

Directory.SetDirectory (Section.Text[1]+ ": «);

MainForm.Directory.BuildTree;

end;

procedure TMainForm. DrivesMouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin.

//перерисовка списку директорій за необхідності.

Directory.Repaint;

end;

procedure TMainForm. NewDirClick (Sender: TObject);

// Створення директорії та виведення відповідної форми.

begin.

CreateDirForm.Show;

end;

Function CountDir (Str:String):String;

// Визначення кількості поддиректорий в поточної директорії.

Var F: TSearchRec;

C:integer;

begin.

c:=0;

findfirst (Str+ «*.* », faAnyFile, F);

findnext (F);

repeat.

if (f.Attr>=16) and (f.attr0) then.

begin.

AskDeleteForm.ShowModal;

end;

if MainForm.Directory.Focused then.

begin.

IndexDeleteDirectory:=MainForm.Directory.SelectedItem;

MainForm.CMDirList.Clear;

MainForm.CMFileList.Clear;

DeleteEmptyDirectory (MainForm.Directory.Directory);

MainForm.Directory.Invalidate;

end;

end;

procedure TMainForm. SCopyClick (Sender: TObject);

//На панелі натиснута кнопка КОПІЮВАТИ.

begin.

If MainForm.Directory.Focused then.

begin.

SourseDir:=MainForm.Directory.Directory;

DoingWithDir:=True;

CopyMoveDirectory;

end;

If MainForm.FileList.Focused then.

begin.

FlagCopyFile:=True;

FlagMoveFile:=False;

CopyPathFileInTemp;

end;

end;

procedure TMainForm. FileListClick (Sender: TObject);

begin.

MainForm.SDel.Enabled:=True;

MainForm.SCopy.Enabled:=True;

MainForm.SCut.Enabled:=True;

end;

procedure TMainForm. CutDirClick (Sender: TObject);

// Вирізання Директорії.

begin.

SourseDir:=MainForm.Directory.Directory;

DoingWithDir:=False;

MainForm.CMDirList.Items.Add (MainForm.Directory.Directory);

GreateCopyMoveDirList (MainForm.Directory.Directory);

end;

procedure TMainForm. Cut1Click (Sender: TObject);

// Вирізання залежно від контексту.

begin.

if MainForm.FileList.Focused then.

begin.

FlagMoveFile:=True;

CopyPathFileInTemp;

end;

If MainForm.Directory.Focused then.

begin.

SourseDir:=MainForm.Directory.Directory;

DoingWithDir:=False;

MainForm.CMDirList.Items.Add (MainForm.Directory.Directory);

GreateCopyMoveDirList (MainForm.Directory.Directory);

end;

end;

procedure TMainForm. Copy1Click (Sender: TObject);

// Копіювання залежно від контексту.

begin.

If MainForm.Directory.Focused then.

begin.

SourseDir:=MainForm.Directory.Directory;

DoingWithDir:=True;

CopyMoveDirectory;

end;

If MainForm.FileList.Focused then.

begin.

FlagCopyFile:=True;

FlagMoveFile:=False;

CopyPathFileInTemp;

end;

end;

procedure TMainForm. Paste1Click (Sender: TObject);

// Вставка залежно від контексту.

begin.

if MainForm.TempCopyMove.Items.Count0 then.

begin.

ProgressForm.Show;

PasteFileFromTemp;

ProgressForm.Close;

end;

If MainForm.CMDIrList.Items.Count0 then.

begin.

DestinationDir:=MainForm.Directory.Directory;

PasteDirectory (SourseDir, MainForm.Directory.Directory);

MainForm.Directory.BuildTree;

If not DoingWithDir then.

begin.

DelNotEmptyDirectory (SourseDir);

MainForm.Directory.BuildTree;

end;

MainForm.CMDirList.Clear;

end;

end;

procedure TMainForm. Delete1Click (Sender: TObject);

//Удаление залежно від контексту.

begin.

if (MainForm.FileList.Focused) and (MainForm.FileList.SelCount>0) then.

begin.

AskDeleteForm.Show;

end;

if MainForm.Directory.Focused then.

begin.

IndexDeleteDirectory:=MainForm.Directory.SelectedItem;

MainForm.CMDirList.Clear;

MainForm.CMFileList.Clear;

DeleteEmptyDirectory (MainForm.Directory.Directory);

MainForm.Directory.Invalidate;

end;

end;

procedure TMainForm. RenameClick (Sender: TObject);

// Перейменування залежно від контексту.

begin.

If MainForm.Directory.Focused then.

begin.

GetFormToCenter (RenameDirForm);

RenameDirForm.ShowModal;

end;

if MainForm.FileList.Focused then.

begin.

RenameFileForm.ShowModal;

end;

end;

procedure TMainForm. FormResize (Sender: TObject);

// Накладення обмежень на мінімальні розміри головною форми.

begin.

if MainForm. Width 0 then { if we read anything… }.

FileWrite (Dest, CopyBuffer^, BytesCopied); { …write chunk }.

{} ProgressForm.ProgresCopy.Repaint;

{} ProgressForm.AllProgresCopy.Repaint;

until BytesCopied < ChunkSize; { until we run out of chunks }.

{} AllReadByteFile:=AllReadByteFile+GetFileSize (FileName);

{} ProgressForm.Ready.Caption:=FormatSize (FloatToStr (AllReadByteFile));

{} ProgressForm.AllProgresCopy.Progress:=FloatToInt (((100*(AllReadByteFile)/(SizeAllCopy+1))));

{} ProgressForm.ProgresCopy.Progress:=100;

finally.

FileClose (Dest); { close the destination file }.

end;

finally.

FileClose (Source); { close the source file }.

end;

finally.

FreeMem (CopyBuffer, ChunkSize); { free the buffer }.

end;

end;

{ MoveFile procedure }.

{.

Moves the file passed in FileName to the directory specified in DestDir.

Tries to just rename the file. If that fails, try to copy the file and.

delete the original.

Raises an exception if the source file is read-only, and therefore cannot.

be deleted/moved.

}.

procedure MoveFile (const FileName, DestName: string);

var.

Destination: string;

begin.

Destination := ExpandFileName (DestName); { expand the destination path }.

if not RenameFile (FileName, Destination) then { try just renaming }.

begin.

CopyFile (FileName, Destination); { copy it over to destination…}.

DelOneFile (FileName, All);

end;

end;

{ GetFileSize function }.

{.

Returns the size of the named file without opening the file. If the file.

doesn «t exist, returns -1.

}.

function GetFileSize (const FileName: string): LongInt;

var.

SearchRec: TSearchRec;

begin.

if FindFirst (ExpandFileName (FileName), faAnyFile, SearchRec) = 0 then.

Result := SearchRec.Size.

else Result := -1;

end;

function FileDateTime (const FileName: string): System. TDateTime;

begin.

Result := FileDateToDateTime (FileAge (FileName));

end;

function HasAttr (const FileName: string; Attr: Word): Boolean;

begin.

Result := (FileGetAttr (FileName) and Attr) = Attr;

end;

function ExecuteFile (const FileName, Params, DefaultDir: string;

ShowCmd: Integer): THandle;

var.

zFileName, zParams, zDir: array[0.79] of Char;

begin.

Result := ShellExecute (Application.MainForm.Handle, nil,.

StrPCopy (zFileName, FileName), StrPCopy (zParams, Params),.

StrPCopy (zDir, DefaultDir), ShowCmd);

end;

end.

Краткое керівництво користувача.

Програма варта управління файловою системою ОС Windows'95/'98, у програмі передбачені такі можливості:

Копирование, перейменування, перенесення, видалення файлів і директорій;

Определение і установка атрибутів файлів;

Расширенный пошук файлів по масці;

Запуск програм зі рядком параметрів;

Применение маски-фильтра під час перегляду списку файлів;

Создание директорій;

Определение розміру директорії;

Определение сумарного обсягу дискового простору займаного групою файлів;

Получение інформації про поточному диску;

Запуск зовнішніх програм редакторів для перегляду і редагування файлів;

Установка интерфейсных параметрів програми.

Обзор інтерфейсу програми МС.

Інтерфейс програми чотирма функціональні частини.

Главное меню програми;

Панель інструментів;

Список файлів;

Список директорій;

Главное меню програми містить з три компоненти управління програмою:

File.

View.

Options.

Компонента File містить у собі основні функцій управління файлами і директориями (див. рис. 1). Функція запуску програм Run доступна тільки тоді ми, коли виділений файл є виконуваної програмою. При виборі даного пункту. З’являється форма, що містить рядок параметрів, і навіть параметр запуску — вид форми вікна запуску (див. рис. 2).

.

Рис 1. Меню File.

.

Рис 2. Форма запуску файлів зі рядком параметрів.

Функции Cut, Copy, Paste, Delete (Вирізати, Копіювати, Вставити, Видалити) — стандартні функцій управління файлами/директориями. При неможливості виконання названих вище дій, дані функції недоступні. Функція Rename (Перейменувати) затребувана у користувача ім'я для файла / директорії у вигляді показаної малюнку 3.

.

Рис 3. Перейменування файлів / директорій.

Функция Delete (На вигнання), видаляє виділені елементи залежно від активної робочої області. Якщо останнє, перед викликом цієї функції, виділення вироблялося у сфері файлів, то будуть віддалені виділені файли, Якщо ж активна область директорій то видалена буде директорія.

Функция Find (Знайти) забезпечує розширений пошук файлів по масці у пошуку зазначеної користувачем. Параметри і маска пошуку поставив у формі показаної малюнку 4.

.

Рис 4. Пошук файлів.

Параметрами пошуку є завдання галузі пошуку, можливі три області: поточна директорія, поточний диск і всі жорстких дисків (включаючи подключённые мережні диски). Є також можливість розширеного пошуку із зазначенням обмежень у дати створення файла створення та її гаданих розмірах. Під час пошуку рядку статусу форми відбивається кількість знайдених файлів, директорія у якій здійснюється пошук. Коли знайшли файли, може бути повернення у головну форму програми розвитку й перехід доречно становища обраного файла, і навіть запуск даного файла (редагування в зовнішньому редакторі, якщо обраний файл перестав бути додатком). Для зручності завдання маски пошуку передбачене зберігання 10-и останніх масок у відчиненому списку.

Функция Exit (Вихід) виробляє вихід із програми.

Всем вище описаним функцій порівняно гарячі клавіші.

Компонента View містить у собі функції фільтра, отримання про диску, здобуття влади та установка атрибутів файла, отримання розміру поточної директорії, виділення всіх файлів що у поточної директорії і інверсне виділення файлів.

Функция File Mask (Маско фільтра) затребувана у користувача у вигляді Get File Mask маску для відображення файлів. Для скасування маски необхідний виклик функції і завдання маски запропонованої за умовчанням.

Функция Info (Інформація) надає користувачеві інформацію про поточному диску (обсяг вільного і зайнятого простору), і навіть інформацію про поточної директорії.

Функция File Attributes (Атрибути файла) дає можливість перегляду поточних атрибутів файла та цих атрибутів. Що стосується кількох файлів можливо групове присвоєння нових атрибутів.

Функция Size Directory (Розмір директорії) виводить до статусу рядку списку директорій розмір поточної директорії.

Функция Select All виділяє все файли, перебувають у даної директорії.

Функция Invert Select інвертує виділення файлів. З файлів виділені, виділення знімається, інші ж файли виділяються.

Компонента Options (Параметри) виводить на екран форму параметрів програми див рис 5, у якій користувач.

.

Рис 5. Параметри програми.

может встановити параметри інтерфейсу програми.

Параметры — наявність статус рядки, кількість колонок у списку файлів (від 1 до 3), вимагати підтвердження на виході з програми. Також існує механізм установки значення параметрів за умовчанням (Вимагати підтвердження коли, Наявність статус рядки, 1 колонка у списку файлів).

Панель інструментів містить у собі що з функцій розміщених у головному меню, і навіть кнопка переходу врівень угору меча у списку директорій і список дисків (включаючи мережні диски підключені операційній системою перед запуском програми). Зовнішній вид панелі інструментів показаний малюнку 6.

.

Рис 6 Панель інструментів.

Список Файлів, призначений для перегляду списку файлів розміщених у поточної директорії. При натисканні правої кнопки миші викликається контекстне меню, у якому є функції копіювання, видалення, перейменування, вставки. В списку файлів існує статус-строка у якій виводиться інформацію про відзначеному файлі (ім'я, розмір, дату та палестинці час створення). Що стосується групи відзначених файлів статус-строка показує який сумарний обсяг байт займають відзначені файли на диску.

Список директорій, призначений для перегляду директорій що є на поточному диску. Список має двевовидную структуру коренем якої являеться поточний диск. При натисканні правої кнопки миші з’являтися контектсное меню у якому перераховані функції роботи з директориями.

Использование функцій:

Как згадувалося програма має набір функцій роботи з файлами. Деякі потребують певній последоваьтельности дій розгляне даному розділі.

Копирование / Перенесення.

Для копіювання файлів / директорії (надалі говорити про файлах, оскільки процеси ідентичні) необхідні таку послідовність дій:

Выделить файли які потрібно скопіювати.

Существуют кілька радикальних способів виділення групи файлів, (ті, хто добре знайомий в операційній системою Windows'95 цей розділ, як всі наступні можуть пропустити) виділення мишкою із застосуванням клавіш Ctrl і Shift, клавіша Ctrl варта виділення у групу файлів окремо котрі стоять у списку, а клавіша Shift варта виділення «від початкового файла, до кінцевого».

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

Выбрать місце призначення копіювання і функцію вставити.

Далее на екрані буде відбитий процес копіювання у вигляді Progress …

Удаление.

Удаление файлів відбувається з допомогою виклику функції видалення з частини інтерфейсу. Після виклику, (видалити директорію) якщо директорія не порожня, буде попросили потвержжение на видалення, (файл (ы)) буде попросили потверждение видалення і приведён список удаляемых файлів, якщо удаляемый файл має атрибути ReadOnly (лише читання) також попросили підтвердження.

Переименование.

При перейменування на екран виводитися форма, пропонує запровадити ім'я для файла.

Показати весь текст
Заповнити форму поточною роботою