Розробка програми файлового менеджера
Огляд Windows 95/98: загальні відомості, аналіз файлової системи. Розробка програми, що виконує всі основні функції файлового менеджера та може використовуватись як повноцінний програмний продукт даного типу. Установка та умови застосування програми.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 17.10.2013 |
Размер файла | 360,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
procedure mnuCalcClick(Sender: TObject);
procedure mnuNotepadClick(Sender: TObject);
procedure mnuPaintClick(Sender: TObject);
procedure mnuCPanelClick(Sender: TObject);
procedure mnuFCopyClick(Sender: TObject);
procedure mnuFDelClick(Sender: TObject);
procedure mnuFMoveClick(Sender: TObject);
procedure mnuFRenClick(Sender: TObject);
procedure btnRoot1Click(Sender: TObject);
procedure btnRoot2Click(Sender: TObject);
procedure timClockTimer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnUp1Click(Sender: TObject);
procedure btnUp2Click(Sender: TObject);
procedure dcbPanel1Change(Sender: TObject);
procedure dcbPanel2Change(Sender: TObject);
procedure slvPanel1Click(Sender: TObject);
procedure slvPanel2Click(Sender: TObject);
procedure mnuOpenClick(Sender: TObject);
procedure mnuFileCreateClick(Sender: TObject);
procedure mnuIconClick(Sender: TObject);
procedure mnuListClick(Sender: TObject);
procedure mnuTableClick(Sender: TObject);
procedure mnuSmallIconClick(Sender: TObject);
procedure mnuDirCreateClick(Sender: TObject);
procedure mnuCmdClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
var
sourcepath, receivepath, file1, file2, ext1: string;
i: integer;
shellsource, shellreceiv: TShellListView;
function CopyDir(const fromDir, toDir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_COPY;
fFlags := FOF_FILESONLY;
pFrom := PChar(fromDir + #0);
pTo := PChar(toDir)
end;
Result := (0 = ShFileOperation(fos));
end;
function MoveDir(const fromDir, toDir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_MOVE;
fFlags := FOF_FILESONLY;
pFrom := PChar(fromDir + #0);
pTo := PChar(toDir)
end;
Result := (0 = ShFileOperation(fos));
end;
function RenameDir(const fromDir, toDir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_RENAME;
fFlags := FOF_FILESONLY;
pFrom := PChar(fromDir + #0);
pTo := PChar(toDir)
end;
Result := (0 = ShFileOperation(fos));
end;
function DelDir(dir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_DELETE;
fFlags := FOF_SILENT or FOF_NOCONFIRMATION or FOF_ALLOWUNDO;
pFrom := PChar(dir + #0);
end;
Result := (0 = ShFileOperation(fos));
end;
procedure TfrmMain.mnuCloseClick(Sender: TObject);
begin
close();
end;
procedure TfrmMain.mnuClockClick(Sender: TObject);
begin
mnuClock.Checked:=not mnuClock.Checked;
if mnuClock.Checked then lbClock.Visible:=true
else lbClock.Visible:=false;
end;
procedure TfrmMain.mnuDateClick(Sender: TObject);
begin
mnuDate.Checked:=not mnuDate.Checked;
if mnuDate.Checked then lbDate.Visible:=true
else lbDate.Visible:=false;
end;
procedure TfrmMain.mnuCalcClick(Sender: TObject);
begin
WinExec('calc.exe', 0);
end;
procedure TfrmMain.mnuNotepadClick(Sender: TObject);
begin
WinExec('notepad', 1);
end;
procedure TfrmMain.mnuPaintClick(Sender: TObject);
begin
winexec('mspaint.exe', 1);
end;
procedure TfrmMain.mnuCPanelClick(Sender: TObject);
begin
WinExec('control panel', 1);
end;
procedure TfrmMain.mnuFCopyClick(Sender: TObject);
begin
if shellsource.Selected=nil then exit;
if (MessageDlg('Ви дійсно бажаєте скопіювати виділені обєкти?', mtConfirmation, [mbYes,mbNo], 0) = mrNo) then exit;
for i:=0 to shellsource.Items.Count-1 do
begin
if shellsource.Items.Item[i].selected then
begin
sourcepath:=shellsource.Folders[shellsource.Items.Item[i].index]. PathName;
file1:=sourcepath;
delete(file1,1,length(shellsource.RootFolder.PathName));
receivepath:=shellreceiv.RootFolder.PathName+'\'+file1;
CopyDir(PChar(sourcepath), PChar(receivepath));
end;
end;
slvPanel1.Refresh;
slvPanel2.Refresh;
end;
procedure TfrmMain.mnuFDelClick(Sender: TObject);
begin
if shellsource.Selected=nil then exit;
if (MessageDlg('Ви дійсно бажаєте видалити виділені обєкти?', mtConfirmation, [mbYes,mbNo], 0) = mrNo) then exit;
for i:=0 to shellsource.Items.Count-1 do
begin
if shellsource.Items.Item[i].selected then
begin
sourcepath:=shellsource.Folders[shellsource.Items.Item[i].index]. PathName;
DelDir(sourcepath);
end;
end;
shellsource.Refresh;
shellreceiv.Refresh;
end;
procedure TfrmMain.mnuFMoveClick(Sender: TObject);
begin
if shellsource.Selected=nil then exit;
if (MessageDlg('Ви дійсно бажаєте перемістити виділені обєкти?', mtConfirmation, [mbYes,mbNo], 0) = mrNo) then exit;
for i:=0 to shellsource.Items.Count-1 do
begin
if shellsource.Items.Item[i].selected then
begin
sourcepath:=shellsource.Folders[shellsource.Items.Item[i].index]. PathName;
file1:=sourcepath;
delete(file1,1,length(shellsource.RootFolder.PathName));
receivepath:=shellreceiv.RootFolder.PathName+'\'+file1;
MoveDir(PChar(sourcepath), PChar(receivepath));
end;
end;
slvPanel1.Refresh;
slvPanel2.Refresh;
end;
procedure TfrmMain.mnuFRenClick(Sender: TObject);
begin
if shellsource.Selected=nil then exit;
sourcepath:=shellsource.selectedFolder.PathName;
ext1:=shellsource.selectedFolder.PathName;
delete(ext1, 1, Pos('.', ext1)-1);
file1:=InputBox('Ввід імені файла', 'Введіть нове імя файлу', '');
if shellsource.selectedFolder.IsFolder=false then
begin
if (Pos('.', file1)=0) and (file1<>'') then
begin
if MessageDlg('Ви дійсно бажаєте змінити розширення файла?', mtWarning, [mbYes, mbNo], 0) = mrNo then file1:=file1+ext1;
end;
end;
file2:=sourcepath;
delete(file2, length(shellsource.RootFolder.PathName)+1, length(sourcepath));
receivepath:=file2+'\'+file1;
RenameDir(PChar(sourcepath), PChar(receivepath));
shellsource.Refresh;
end;
procedure TfrmMain.btnRoot1Click(Sender: TObject);
begin
while slvPanel1.RootFolder.PathName<>UpCase(dcbPanel1.Drive)+':\' do slvPanel1.Back;
end;
procedure TfrmMain.btnRoot2Click(Sender: TObject);
begin
while slvPanel2.RootFolder.PathName<>UpCase(dcbPanel2.Drive)+':\' do slvPanel2.Back;
end;
procedure TfrmMain.timClockTimer(Sender: TObject);
begin
lbClock.Caption:=TimeToStr(time);
lbDate.Caption:=DateToStr(Date);
sbPanel1.Panels.Items[0].Text:=slvPanel1.RootFolder.PathName;
sbPanel2.Panels.Items[0].Text:=slvPanel2.RootFolder.PathName;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
timClock.Enabled:=true;
shellsource:=slvPanel1;
shellreceiv:=slvPanel2;
lbClock.Caption:=TimeToStr(time);
lbDate.Caption:=DateToStr(date);
end;
procedure TfrmMain.btnUp1Click(Sender: TObject);
begin
if slvPanel1.RootFolder.PathName<>UpCase(dcbPanel1.Drive)+':\' then slvPanel1.Back;
end;
procedure TfrmMain.btnUp2Click(Sender: TObject);
begin
if slvPanel2.RootFolder.PathName<>UpCase(dcbPanel2.Drive)+':\' then slvPanel2.Back;
end;
procedure TfrmMain.dcbPanel1Change(Sender: TObject);
begin
slvPanel1.Root:=dcbPanel1.Drive+':\';
end;
procedure TfrmMain.dcbPanel2Change(Sender: TObject);
begin
slvPanel2.Root:=dcbPanel2.Drive+':\';
end;
procedure TfrmMain.slvPanel1Click(Sender: TObject);
begin
shellsource:=slvPanel1;
shellreceiv:=slvPanel2;
for i:=0 to shellreceiv.Items.Count-1 do
begin
if shellreceiv.Items.Item[i].selected then shellreceiv.Items.Item[i]. selected:=false;
end;
end;
procedure TfrmMain.slvPanel2Click(Sender: TObject);
begin
shellsource:=slvPanel2;
shellreceiv:=slvPanel1;
for i:=0 to shellreceiv.Items.Count-1 do
begin
if shellreceiv.Items.Item[i].selected then shellreceiv.Items.Item[i]. selected:=false;
end;
end;
procedure TfrmMain.mnuOpenClick(Sender: TObject);
begin
if shellsource.Selected=nil then exit;
if shellsource.SelectedFolder.IsFolder=false then ShellExecute (Application.Handle, 'open', PChar(shellsource.SelectedFolder. PathName), '', '', SW_SHOWNORMAL);
shellsource.Refresh;
end;
procedure TfrmMain.mnuFileCreateClick(Sender: TObject);
begin
file1:=InputBox('Створення нового файлу', 'Введіть імя нового файлу', '');
CreateFile(PChar(shellsource.RootFolder.PathName+'\'+file1), 0, 0, nil, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);
shellsource.Refresh;
end;
procedure TfrmMain.mnuIconClick(Sender: TObject);
begin
shellsource.ViewStyle:=vsIcon;
end;
procedure TfrmMain.mnuListClick(Sender: TObject);
begin
shellsource.ViewStyle:=vsList;
end;
procedure TfrmMain.mnuTableClick(Sender: TObject);
begin
shellsource.ViewStyle:=vsReport;
end;
procedure TfrmMain.mnuSmallIconClick(Sender: TObject);
begin
shellsource.ViewStyle:=vsSmallIcon;
end;
procedure TfrmMain.mnuDirCreateClick(Sender: TObject);
begin
file1:=InputBox('Створення нового каталогу', 'Введіть імя нового каталогу', '');
CreateDir(shellsource.RootFolder.PathName+'\'+file1);
shellsource.Refresh;
end;
procedure TfrmMain.mnuCmdClick(Sender: TObject);
begin
WinExec('cmd', 1);
end;
end.
Размещено на Allbest.ru
Подобные документы
Структура завантажувального запису, службової області FAT, елемента каталогу. Код програми файлового менеджеру. Алгоритм пошуку дисків й іменування дисків, доступу к об'єктам файлової системи, визначення зайнятого місця на розділі, зрівняння директорій.
дипломная работа [1,5 M], добавлен 20.11.2010Аналіз функціонування файлового менеджера WINDOWS COMMANDER. Ключові якості програми: операцї з файлами, управління архівами, локальні меню, вбудований FTP-клієнт. З'днання з іншим комп'ютером. Контрольні суми. Функції різних версій WINDOWS COMMANDER.
дипломная работа [48,2 K], добавлен 14.12.2007Теоретичні відомості про язик С++. Розробка програми, що виконує основні арифметичні дії над простими та складними числами на язику С++. Опис алгоритму програми та її код. Інструкція по користуванню. Обгрунтовування вибору та складу технічних засобів.
курсовая работа [852,8 K], добавлен 30.11.2011Функції комп'ютерної програми-органайзера, пов'язані із забезпеченням роботи календаря, записної книжки, менеджера контактів (адресно-телефонної книги), годинника, калькулятора. Програмна модель, розробка інтерфейсу і тестування програми, інсталяція.
курсовая работа [932,8 K], добавлен 03.06.2010Характеристика предметної області: FTP-server для ОС Windows. Шляхи встановлення FTP-серверу в ОС Windows. Опис мови та середовища програмування, компонентів та функцій програми. Аналіз реалізованої програми FTP-клієнта. Тестовий запуск та опис програми.
курсовая работа [1,7 M], добавлен 22.06.2017Зміст методу низпадаючої розробки програми. Документація по супроводженню програмних засобів. Основні класи інструментальних середовищ розробки і супроводження програмних засобів. Приклад програми для автоматичного розрахунку значень складної функції.
контрольная работа [28,7 K], добавлен 19.09.2009Набори структур даних, використовуваних для управління файлами. Права доступу до файлу. Монітор файлової системи Process Monitor. Управління аудитом в ОС Windows та в ОС Linux. Доступ до служби каталогів. Практичне застосування Process Monitor.
курсовая работа [695,9 K], добавлен 09.01.2014Розробка програми калькулятора, що може виконувати найголовніші арифметичні операції над двома числами. Вимоги до апаратного і програмного забезпечення. Опис форм та компонентів програми. Розробка алгоритмів програмного забезпечення. Опис коду програми.
курсовая работа [57,1 K], добавлен 31.05.2013Елементарні властивості, які утворюють прийнятну для користувача якість ПЗ. Забезпечення стійкості програмних засобів за допомогою захисного програмування. Установка пакета Delphi. Розробка програми для автоматичного розрахунку значень складної функції.
контрольная работа [32,8 K], добавлен 22.09.2009Варіантний аналіз та вибір методів розв’язування, основні поняття та визначення, особливості розробки баз даних. Описовий алгоритм головної програми та її структури, опис авторської заставки. Структура модулів та опис функцій, лістинг програми.
курсовая работа [2,6 M], добавлен 30.11.2009