Разработка файловой оболочки
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
: 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
=16)and(f.attr..) then
c:=c+1;
Until(findnext(f)<>0);
CountDir:=IntToStr(c);
end;
procedure TMainForm.DirectoryChange(Sender: TObject);
//Смена текущей директории
begin
//Обновление списка файлов
FileList.SetDirectory(Directory.Directory);
//Заполнение статус-строки
MainForm.StatusBar.Panels[0].Text:=CountDir(Directory.Directory)+ dir. & +IntToStr(MainForm.FileList.Items.Count)+
files ;
MainForm.StatusBar.Panels[1].Text:=;
//Определение активных кнопок панели управления
If UpperCase(MainForm.Directory.Directory)=UpperCase(MainForm.DrBox.Drive+:\) then
begin
Up.Enabled:=False;
SCut.Enabled:=False;
SCopy.Enabled:=False;
SDel.Enabled:=False;
end
else
begin
Up.Enabled:=True;
SCut.Enabled:=True;
SCopy.Enabled:=True;
SDel.Enabled:=True;
end;
end;
procedure TMainForm.CopyClick(Sender: TObject);
// Копирование файлов
begin
FlagCopyFile:=True;
FlagMoveFile:=False;
CopyPathFileInTemp;
end;
procedure TMainForm.CutClick(Sender: TObject);
// Вырезание файлов
begin
FlagMoveFile:=True;
CopyPathFileInTemp;
end;
procedure TMainForm.PasteClick(Sender: TObject);
begin
ProgressForm.Show;
PasteFileFromTemp;
ProgressForm.Close;
MainForm.TempCopyMove.Clear;
end;
procedure TMainForm.Rename1Click(Sender: TObject);
// Переименование файлов в соответствующей экранной форме
begin
GetFormToCenter(RenameFileForm);
RenameFileForm.ShowModal;
end;
procedure TMainForm.DeleteDirClick(Sender: TObject);
// Удаление директории
begin
// Обнуление временных списков
MainForm.CMDirList.Clear;
MainForm.CMFileList.Clear;
DeleteEmptyDirectory(MainForm.Directory.Directory);
//Обновление списка директорий