Створення програми "Файловий Менеджер"
Поняття про програму "Файловий менеджер". Середовище розробки, програмування в Delphi. Програма та методика тестування, інструкція користувача. Послідовність запуску програми, загальний вигляд лістингу, перенесення файлів. Блок-схема та UML-діаграма.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 19.11.2013 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ПРИВАТНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД ЕКОНОМІКО - ПРАВОВИЙ ТЕХНІКУМ при МАУП
КУРСОВА РОБОТА
З ДИСЦИПЛІНИ „Технологія створення програмних продуктів”
ТЕМА: „Створення програми “Файловий Менеджер”
Київ 2013
Вступ
Розробку програми здійснено за допомогою мови програмування Object Pascal в середовищі Delphi для операційної системи Windows.
Фамйловий менеджер - комп'ютерна програма, що надає інтерфейс користувача для роботи з файловою системою та файлами. Дозволяє виконувати найчастіші операції з файлами: створення, відкриття,програвання,запуск,перегляд, редагування, переміщення, перейменування, копіювання, вилучення, зміну атрибутів та властивостей, пошук файлів та призначення прав. Моїм завданням було створити Файловий менеджер з простим інтерфейсом та мінімум функцій. В ньому повинні бути присутні приблизно такі функції. Копіювання, перенесення, видалення, створення нового каталогу та вихід з програми.
Розділ 1. Теоретичні відомості
1.1 Поняття Файловий менеджер
Файловий менеджер призначений
Група програм призначення для полегшення основних дій з елементами файлової системи(дисками) І потім вони поступово розвивались але згодом він устарів і дуже рідко ним користувались
Файлові менеджери беруть початок з програм типа Norton Commander, котрий застосовувалися ще в часи MS - DOS, для того, щоб хоч якось спростити роботу з файлами і каталогами, адже в ті часи не було графічного інтерфейсу, як в Windows, і всі команди мали текстовий формат. Та і сьогодні переважна частина файлових менеджерів, принаймні їх інтерфейс, створюється на основі раніше популярного Norton Commander, наприклад, DOS Navigator або FAR. Після установки операційної системи Windows для використання стали доступні два файлові менеджери - Провідник і Мій комп'ютер. Вони володіють практично однаковими можливостями, хоча є і частина корінних відмінностей. Провідник є зручнішим засобом навігації, ніж Мій комп'ютер, оскільки він складається з двох вікон. Ліве відображує ієрархічне дерево дисків і каталогів, а в правому вікні відображується вміст дисків і каталогів. Сьогодні мають велику популярність і такі файлові менеджери, як Total Commander і FAR. Перший зручний тим, що має віконний інтерфейс, такий же, як і у всіх останніх програм Windows. Якщо ж говорити про FAR, то він володіє тим же синьо-білим інтерфейсом, що і Norton Commander.
1.2 Середовище розробки програми
У курсовій роботі для розробки програми я використовував середовище програмування Borland Delphi 7.
Delphi - це середовище швидкої розробки, в якій в якості мови програмування використовується мова Delphi. Мова Delphi - строго типізований об'єктно-орієнтована мова, в основі якого лежить добре знайомий програмістам Object Pascal.
В даний час програмістам стала доступна чергова версія пакету Delphi - Borland Delphi 7 Studio. Як і попередні версії, Borland Delphi 7 Studio дозволяє створювати самі різні програми: від простих одновіконних застосувань до програм управління розподіленими базами. До складу пакету включені різноманітні утиліти, що забезпечують роботу з базами даних, XML-документами, створення довідкової системи, вирішення інших завдань. Відмінною особливістю сьомої версії є підтримка технології. NET.
Borland Delphi 7 Studio може працювати в середовищі операційних систем від Windows 98 до Windows XP. Особливих вимог, по сучасних мірках, до ресурсів комп'ютера пакет не пред'являє: процесор має бути типу Pentium або Celeron з тактовою частотою не нижче 166 МГц (рекомендується Pentium II 400 МГц), оперативної пам'яті - 128 Мбайт (рекомендується 256 Мбайт), достатня кількість вільного дискового простору (для повної установки версії Enterprise необхідно приблизно 475 Мбайт).
1.3 Програмування в Delphi
Програмування в Delphi складається з двох основних етапів:
Візуальна побудова програми на основі об'єктних компонентів і настроювання їх властивостей, в результаті чого можна швидко сформувати користувальницький інтерфейс і забезпечити значну частину функціональності додатка.
Написання програмного коду мовою Object Pascal для забезпечення особливої функціональності додатка, яку неможливо досягти використанням візуальної побудови.
Розділ 2. Розробка програми
2.1 Загальний опис програми
В моїй курсовій роботі представлений «Файловий Менеджер». Він забезпечує такі функції, як копіювання, а також вона має можливість створювати Нові каталоги. Переміщувати та видаляти файли. В моїй програмі можливий перегляд та редагування файлів
2.2 Технічне завдання
Введення
1.1 Найменування програми.
Найменування програми «Файловий менеджер».
1.2 Підстави для розробки.
Написання мною курсової роботи та використання в ній най простіших функцій стало підставою створення цієї самої програми.
1.3 Призначення розробки.
Програма призначена для роботи з файлами.
Вимоги до програми.
Програма повинна забезпечувати можливість виконання перерахованих нижче функцій:
Можливість як відкривати папки, так і створювати нові.
Видаляти та редагувати данні.
Можливість переносити файли з одного місця в інше.
Відмови через некоректні дії користувача.
Відмови через некоректні дії користувача при взаємодії з програмою через інтерфейс користувача недопустимі.
Вимоги експлуатації.
Кліматичні вимоги до експлуатації, при яких забезпечується робота програми повинні відповідати кліматичним умовам експлуатації наявних технічних засобів.
Мінімальна кількість персоналу, необхідного для роботи програми, може складати одну штатну одиницю - кінцевого користувача програми - адміністратора.
Для виконання ролі технічного засобу необхідна наявність комп'ютера, що відповідає таким вимогам: Процесор Intel Pentium 2 або вище; Оперативна пам'ять 64 Мб або вище; 2 Мб вільного місця на жорсткому диску.
2.3 Програма та методика тестування
Програмою відкривалися вже існуючі бази файли також створювалися нові каталоги з подальшим їх зберіганням. При всіх вище перечислених маніпуляціях - програма вела себе коректно.
2.4 Інструкція користувача
В даному програмному продукті існує лише один вид користувача - оператор, котрий має всі права. Саме тому інструкція розроблена для операторів даного програмного продукту.
Файловий Менеджер (Total comander) - комп'ютерна програма, що надає інтерфейс користувача для роботи з файловою системою та файлами.. Дозволяє виконувати найчастіші операції з файлами: створення, відкриття/програвання/запуск/перегляд, редагування, переміщення, перейменування, копіювання, вилучення, зміну атрибутів та властивостей, пошук файлів та призначення прав.
Мал. 1 - Головне вікно програми
файловий менеджер програма лістинг
Для перенесення файлів потрібно вибрати файл лівою кнопкою миші та вибрати команду для дій. Щоб створити новий каталог - Клацнути мишею на меню Нов. Каталог та слідувати інструкціям які будуть показані на екрані.
Для видалення виберіть потрібний Вам запис та натисніть кнопку Видалити .
Для створення нового каталогу, перейдіть на вкладку «Нов. каталог» (Мал.2)
Та в полі «Нов. каталог» введіть потрібну вам назву каталогу та натисніть OK.
Мал. 2 - Вкладка створення каталогу
Запуск програми здійснюється наступним чином: необхідно відкрити папку, яка містить дану програму, і знайти виконуваний файл Project1.(Мал.3). На цьому файлі слід виконати подвійне клацання лівою кнопкою миші.
Мал. 3 - Коренева папка
Опис процедур
Кнопка копіювати:
procedure TForm1.Button1Click(Sender: TObject);
begin
copy;
end;
Вибір диску:
procedure TForm1.DriveComboBox1Change(Sender: TObject);
begin
way:=drivecombobox1.Drive+'://*.*';
NewList;
label1.Caption:=way;
end;
Кнопка перенести:
procedure TForm1.N6Click(Sender: TObject);
begin
changeplace;
end;
Інформація про програму:
procedure TForm1.N9Click(Sender: TObject);
begin
aboutbox.ShowModal
end;
Закрити програму:
procedure TForm1.N4Click(Sender: TObject);
begin
form1.Close
end;
Висновки
Завданням моєї курсової роботи було створити програму в Delphi за темою «Файловий менеджер». На даний момент програма успішно виконує намічені завдання і придатна для використання в навчальних закладах.
Основна перевага моєї програма, це простий та зручний у використанні інтерфейс, також вона займає мало місця на жорсткому диску. Програму може успішно використовувати простий вчитель, так як вона є дуже зрозумілою користувачу.
До недоліків можна віднести неможливість зробити програму на все вікно. Також недоліком є те, що програма володіє не всіма функціями як в оригіналі.
Список використаної літератури
1. Рей Е. Вивчаємо XML. Пер. з англ. - СПб: Символ - Плюс, 2001. - 408с.
2. XML. Довідник. Пер. з англ. - СПб: Символ - Плюс, 2002. - 576с.
3. Delphi 4.0, Дарахвелідзе П.Г., Марков Е. П. 1998, 816 с.
4. Хелен Боррі. FireBird: Керівництво по створенню баз даних
5. Євгеній Марков, Володимир Нікіфоров. Delphi 2005 для .NET
6. Михайло Фленов. Delphi жартома та всерйоз.
7. Фаронов В.В. Програмування баз даних в Delphi 7.
8. Ю. Ревич. Нестандартні прийоми програмування баз даних в Delphi.
Додаток 1
Лістинг програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FileCtrl, ComCtrls, ImgList, Menus, ExtCtrls,unit2,
Buttons, shellapi;
type
TForm1 = class(TForm)
ImageList1: TImageList;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
ListView1: TListView;
ListView2: TListView;
DriveComboBox1: TDriveComboBox;
DriveComboBox2: TDriveComboBox;
Label1: TLabel;
Label2: TLabel;
StatusBar1: TStatusBar;
StatusBar2: TStatusBar;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure ListView2DblClick(Sender: TObject);
procedure DriveComboBox2Change(Sender: TObject);
procedure dbclicksecondtime2;
procedure dbclickfirstime2;
procedure AddNewFile2(f:TSearchRec);
procedure NewList2;
procedure Copy;
procedure FormCreate(Sender: TObject);
procedure AddNewFile(f:TSearchRec);
procedure NewList;
procedure dbclickfirstime;
procedure dbclicksecondtime;
procedure DriveComboBox1Change(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure ListView1Compare(sender:TObject;Item1,Item2:TListItem;
Data:integer;var Compare:integer);
procedure N4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
function MyRemoveDir(sDir: String):boolean;
procedure mydelete;
procedure Button3Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure ListView2Click(Sender: TObject);
procedure aftercopy1;
procedure aftercopy2;
procedure dbclickthirdtime2;
procedure dbclickthirdtime;
procedure Button2Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure newdirectory;
procedure N8Click(Sender: TObject);
procedure changeplace;
procedure N10Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure ListView1StartDrag(Sender: TObject;
var DragObject: TDragObject);
procedure ListView2DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure ListView2DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure ListView1EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ListView2StartDrag(Sender: TObject;
var DragObject: TDragObject);
procedure ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure ListView2EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure ListView1KeyPress(Sender: TObject; var Key: Char);
procedure ListView2KeyPress(Sender: TObject; var Key: Char);
procedure ListView1Editing(Sender: TObject; Item: TListItem;
var AllowEdit: Boolean);
procedure ListView1Edited(Sender: TObject; Item: TListItem;
var S: String);
procedure ListView2Editing(Sender: TObject; Item: TListItem;
var AllowEdit: Boolean);
procedure ListView2Edited(Sender: TObject; Item: TListItem;
var S: String);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
way,way2:string;
lv1,lv2:boolean;
oldname:string;
implementation
{$R *.dfm}
Function tform1.MyRemoveDir(sDir : String) : Boolean;
var
iIndex : Integer;
SearchRec : TSearchRec;
sFileName : String;
begin
Result := False;
sDir := sDir + '\*.*';
iIndex := FindFirst(sDir, faAnyFile, SearchRec);
while iIndex = 0 do begin
sFileName := ExtractFileDir(sDir)+'\'+SearchRec.Name;
if SearchRec.Attr = faDirectory then begin
if (SearchRec.Name <> '' ) and
(SearchRec.Name <> '.') and
(SearchRec.Name <> '..') then
MyRemoveDir(sFileName);
end else begin
if SearchRec.Attr <> faArchive then
FileSetAttr(sFileName, faArchive);
if NOT DeleteFile(sFileName) then
ShowMessage('Не могу удалить ' + sFileName);
end;
iIndex := FindNext(SearchRec);
end;
FindClose(SearchRec);
RemoveDir(ExtractFileDir(sDir));
Result:=True;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
NewColumn: TListColumn;
i:integer;
begin
lv1:=false;
lv2:=false;
way2:=drivecombobox2.drive+'://*.*';
label2.Caption:=way2;
way:=drivecombobox1.drive+'://*.*';
label1.Caption:=way;
with ListView1 do
begin
Viewstyle:=vsReport;
newcolumn:=columns.Add;
newcolumn.Caption:='Имя';
newcolumn:=columns.Add;
newcolumn.Caption:='Розмір, байт';
newcolumn:=columns.Add;
newcolumn.Caption:='Дата створення';
newcolumn:=columns.Add;
newcolumn.Caption:='Прихований';
newcolumn:=columns.Add;
newcolumn.Caption:='Системний';
for i:=0 to 4 do
columns[i].Width:=100
end;
with ListView2 do
begin
Viewstyle:=vsReport;
newcolumn:=columns.Add;
newcolumn.Caption:='Имя';
newcolumn:=columns.Add;
newcolumn.Caption:='Розмір, байт';
newcolumn:=columns.Add;
newcolumn.Caption:='Дата створення';
newcolumn:=columns.Add;
newcolumn.Caption:='Прихований';
newcolumn:=columns.Add;
newcolumn.Caption:='Системний';
for i:=0 to 4 do
columns[i].Width:=100
end;
end;
procedure TForm1.ListView1Compare(sender:TObject;Item1,Item2:TListItem;
Data:integer;var Compare:integer);
begin
if Item1.ImageIndex=Item2.ImageIndex then compare:=0 else
if item1.imageindex<item2.imageindex then compare:=-1
else compare:=1
end;
procedure TForm1.NewList;
var
f: TSearchRec;
number:string;
begin
ListView1.Clear;
if FindFirst(way,faAnyFile,f)<>0 then exit else
addnewfile(f);
while findnext(f)=0 do
addnewfile(f);
findclose(f);
ListView1.AlphaSort;
if length(way)=7 then
begin
str(listview1.Items.Count,number);
statusbar1.SimpleText:=' Елементів '+number
end
else begin
str(listview1.Items.Count-2,number);
statusbar1.SimpleText:=' Елементів '+number
end;
end;
procedure TForm1.AddNewFile(f:TSearchRec);
begin
with ListView1.Items.Add, f do
begin
caption:=name;
if (Attr and faDirectory)<>0
then
begin
ImageIndex:=0;
SubItems.Add('DIR');
subItems.Add(DatetimetoStr((filedatetodatetime(time))));
end
else
begin
ImageIndex:=1;
SubItems.Add(inttostr(size));
subItems.Add(DatetimetoStr((filedatetodatetime(time))));
end;
if (Attr and faHidden)<>0
then SubItems.Add('так')
else SubItems.Add('ні');
if (Attr and faSysFile)<>0
then SubItems.Add('так')
else SubItems.Add('ні');
end;
end;
procedure TForm1.dbclickfirstime;
var
i,listsize:integer;
way1:string;
begin
way1:=way;
delete(way1,length(way1)-2,3);
way:=way1+listview1.items.item[listview1.itemindex].caption+'/*.*'
var
i,linesize,listsize:integer;
way1:string;
begin
way1:=way2;
delete(way1,length(way1)-3,4);
linesize:=length(way1);
while linesize>0 do
begin
if way1[linesize]<>'/' then
delete(way1,linesize,1) else break;
linesize:=linesize-1;
end;
way2:=way1+'*.*';
if length(way2)=7 then
begin
newlist2;
label2.caption:=way2;
end
else
begin
newlist2;
with ListView2.Items.insert(0) do begin
caption:='[..]';
imageindex:=2;
end;
listsize:=listview2.Items.Count-1;
i:=0;
while i<=listsize do
begin
with listview2.Items.Item[i] do begin
if (Caption='.') or (Caption='..')
then
begin
Delete;
listsize:=listsize-1;
i:=i-1;
end;
end;
i:=i+1;
end;
label2.Caption:=way2;
end;
end;
procedure TForm1.dbclickthirdtime2;
var
way1,fname:string;
startinfo:tstartupinfo;
procinfo:tprocessinformation;
begin
fillchar(startinfo,sizeof(startinfo),#0);
startinfo.cb:=sizeof(startinfo);
way1:=way2;
delete(way1,length(way1)-2,3);
fname:=way1+listview2.items.item[listview2.itemindex].caption;
shellexecute(application.MainForm.Handle,nil,pchar(fname),'',pchar(way1),sw_show);
end;
procedure TForm1.DriveComboBox2Change(Sender: TObject);
begin
way2:=drivecombobox2.Drive+'://*.*';
NewList2;
label2.Caption:=way2;
end;
procedure TForm1.ListView2DblClick(Sender: TObject);
begin
try
case listview2.Items.item[listview2.itemindex].ImageIndex of
0: dbclickfirstime2;
1: dbclickthirdtime2;
2: dbclicksecondtime2
else exit
end;
except
exit;
end;
end;
procedure TForm1.Copy;
var
way1,way3:string;
begin
way1:=way;
way3:=way2;
delete(way1,length(way1)-2,3);
delete(way3,length(way3)-2,3);
try
if (lv1=true) and (lv2=false) then
begin
if fileexists(way3+listview1.Items.item[listview1.itemindex].Caption) then
begin
if MessageBox(0,'Копіювати файл?','Підтвердіть',
MB_YESNO+MB_ICONINFORMATION)=idyes then
begin
if CopyFile(Pchar(way1+listview1.Items.item[listview1.itemindex].Caption),
Pchar(way3+listview1.Items.item[listview1.itemindex].Caption),false) then
begin
ShowMessage('Файл вдало копійований!');
if length(way2)=7 then newlist2 else aftercopy1;
end
else ShowMessage('Не вдалось копіювоти файл!');
end;
end
else
begin
if MessageBox(0,'Копіювати файл?','Підтвердіть',
MB_YESNO+MB_ICONINFORMATION)=idyes then
begin
if CopyFile(Pchar(way1+listview1.Items.item[listview1.itemindex].Caption),
Pchar(way3+listview1.Items.item[listview1.itemindex].Caption),true) then
begin
ShowMessage('Файл вдало скопійований!');
if length(way2)=7 then newlist2 else aftercopy1;
end
else ShowMessage('Не вдалось копіювати файл!');
end;
end;
end;
if (lv1=false)and (lv2=true) then
begin
if fileexists(way1+listview2.Items.item[listview2.itemindex].Caption)=true then
begin
if MessageBox(0,'Копіювати файл?','Підтвердіть',
MB_YESNO+MB_ICONINFORMATION)=idyes then
begin
if CopyFile(Pchar(way3+listview2.Items.item[listview2.itemindex].Caption),
Pchar(way1+listview2.Items.item[listview2.itemindex].Caption),false) then
begin
ShowMessage('Файл вдало скопійований!');
if length(way)=7 then newlist else aftercopy2
end
else ShowMessage('Не вдалось копіювати файл!');
end
end
else
begin
if MessageBox(0,'Копіювати файл?','Підтвердіть',
MB_YESNO+MB_ICONINFORMATION)=idyes then
begin
if CopyFile(Pchar(way3+listview2.Items.item[listview2.itemindex].Caption),
Pchar(way1+listview2.Items.item[listview2.itemindex].Caption),true) then
begin
ShowMessage('Файл вдало скопійований!');
if length(way)=7 then newlist else aftercopy2
end
else ShowMessage('Не вдалось копіювати файл!');
end;
end;
end
except exit
end;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
form1.Close
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
form1.Close
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
copy;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
copy;
end;
procedure TForm1.mydelete;
var
way1,way3:string;
begin
way1:=way;
way3:=way2;
delete(way1,length(way1)-2,3);
delete(way3,length(way3)-2,3);
try
if (lv1=true) and (lv2=false) then
begin
if listview1.items.item[listview1.itemindex].imageindex=0 then
begin
if MessageBox(0,'Видалити директорію?','Підтвердить',
MB_YESNO+MB_ICONQUESTION)=idyes then
begin
if myremovedir(way1+listview1.items.item[listview1.itemindex].caption) then
begin
ShowMessage('Каталог вдало видалений!');
if (length(way2)=7) and (length(way)=7) then begin
newlist;
newlist2;
end;
if (length(way2)=7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy2
end;
if (length(way2)>7) and (length(way)=7) then begin
newlist;
newlist2;
aftercopy1;
end;
if (length(way2)>7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy1;
aftercopy2;
end
end
else ShowMessage('Не вдалося видалити!');
end;
end;
if listview1.items.item[listview1.itemindex].imageindex=1 then
end;
if (length(way2)=7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy2
end;
if (length(way2)>7) and (length(way)=7) then begin
newlist;
newlist2;
aftercopy1;
end;
if (length(way2)>7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy1;
aftercopy2;
end
end
else ShowMessage('Не вдалося видалити!');
end;
end;
if listview2.items.item[listview2.itemindex].imageindex=1 then
begin
if MessageBox(0,'Видалити файл? ',' Підтвердіть',
MB_YESNO+MB_ICONQUESTION)=idyes then
begin
if deletefile(way3+listview2.items.item[listview2.itemindex].caption) then
begin
ShowMessage('Файл успішно видалений!');
if (length(way2)=7) and (length(way)=7) then begin
newlist;
newlist2;
end;
if (length(way2)=7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy2
end;
if (length(way2)>7) and (length(way)=7) then begin
newlist;
newlist2;
aftercopy1;
end;
if (length(way2)>7) and (length(way)>7) then begin
newlist;
newlist2;
if (length(way2)>7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy1;
aftercopy2;
end
end
else showmessage('Не вдається створити каталог');
end;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
newdirectory;
end;
procedure TForm1.changeplace;
var
way1,way3:string;
begin
way1:=way;
way3:=way2;
delete(way1,length(way1)-2,3);
delete(way3,length(way3)-2,3);
newlist2;
aftercopy1;
aftercopy2;
end
end
else ShowMessage('Не вдалося перенести файл!');
end;
end;
end;
if (lv1=false)and (lv2=true) then
begin
if fileexists(way1+listview2.Items.item[listview2.itemindex].Caption)=true then
begin
if MessageBox(0,'Перенести файл? ',' Підтвердіть',
MB_YESNO+MB_ICONINFORMATION)=idyes then
begin
if CopyFile(Pchar(way3+listview2.Items.item[listview2.itemindex].Caption),
Pchar(way1+listview2.Items.item[listview2.itemindex].Caption),false) then
begin
deletefile(way3+listview2.Items.item[listview2.itemindex].Caption);
ShowMessage('Файл успішно перенесений!');
if (length(way2)=7) and (length(way)=7) then begin
newlist;
newlist2;
end;
if (length(way2)=7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy2
end;
if (length(way2)>7) and (length(way)=7) then begin
newlist;
newlist2;
aftercopy1;
end;
if (length(way2)>7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy1;
aftercopy2;
end
end
else ShowMessage('Не вдалося перенести файл!');
end
end
else
begin
if MessageBox(0,'Перенести файл? ',' Підтвердіть',
MB_YESNO+MB_ICONINFORMATION)=idyes then
begin
if CopyFile(Pchar(way3+listview2.Items.item[listview2.itemindex].Caption),
Pchar(way1+listview2.Items.item[listview2.itemindex].Caption),true) then
begin
deletefile(way3+listview2.Items.item[listview2.itemindex].Caption);
ShowMessage('Файл успішно перенесений!');
if (length(way2)=7) and (length(way)=7) then begin
newlist;
newlist2;
end;
if (length(way2)=7) and (length(way)>7) then begin
newlist;
newlist2;
aftercopy2
end;
if (length(way2)>7) and (length(way)=7) then begin
end;
end;
end;
procedure TForm1.ListView2KeyPress(Sender: TObject; var Key: Char);
begin
case key of
chr(13): begin try case listview2.Items.item[listview2.Itemindex].ImageIndex of
0: dbclickfirstime2;
1: dbclickthirdtime2;
2: dbclicksecondtime2
else exit
end;
except exit;
end;
end;
end;
end;
procedure TForm1.ListView1Editing(Sender: TObject; Item: TListItem;
var AllowEdit: Boolean);
begin
oldname:=listview1.items.item[listview1.itemindex].caption;
end;
procedure TForm1.ListView1Edited(Sender: TObject; Item: TListItem;
var S: String);
var oldway,newway,way1,way3:string;
begin
way1:=way;
way3:=way;
delete(way1,length(way1)-2,3);
delete(way3,length(way3)-2,3);
oldway:=way1+oldname;
newway:=way3+s;
renamefile(oldway,newway);
end;
procedure TForm1.ListView2Editing(Sender: TObject; Item: TListItem;
var AllowEdit: Boolean);
begin
oldname:=listview2.items.item[listview2.itemindex].caption;
end;
procedure TForm1.ListView2Edited(Sender: TObject; Item: TListItem;
var S: String);
var oldway,newway,way1,way3:string;
begin
way1:=way2;
way3:=way2;
delete(way1,length(way1)-2,3);
delete(way3,length(way3)-2,3);
oldway:=way1+oldname;
newway:=way3+s;
renamefile(oldway,newway);
end;
end.
Додаток 2
Блок-схема
Додаток 3
UML-діаграма
Размещено на Allbest.ru
Подобные документы
Принципи технології створення програмних продуктів. Набір файлів, необхідних для створення програми в Delphi, варіанти роботи з ними. Програмування графічного інтерфейсу користувача. Зовнішній вигляд і лістинг програми, використані команди і компоненти.
курсовая работа [550,5 K], добавлен 03.01.2014Призначення менеджеру пристроїв. Обґрунтування вибору мови програмування. Розробка структурної схеми і опис діалогового інтерфейсу програми. Блок-схема програмного додатку, основні функції і алгоритм його роботи. Методики і інструкція його тестування.
курсовая работа [3,4 M], добавлен 17.11.2014Актуальність розробки програми для відновлення помилково вилучених з диску комп'ютера файлів. Програма-аналог програми Dос Undelete на мові програмування ASM-86. Елементи каталогу, що стосуються відновлення стертих файлів. Алгоритм програми та її лістинг.
курсовая работа [33,2 K], добавлен 08.08.2009Створення комп'ютерної програми на мові програмування С++ для ведення обліку мобільних телефонів на складі-магазині. Вимоги до апаратного та програмного забезпечення. Схема зв'язку між складовими частинами програми. Інструкція користувача, тестування.
дипломная работа [4,2 M], добавлен 06.06.2012Створення програми, що видає результати голосування та підсумки виборів. Алгоритм розробки програми. Опис структури даних та вимоги до них, стандартних процедур та функцій, файлів та їх призначення. Приклад тестування та результати роботи програми.
курсовая работа [1,0 M], добавлен 28.06.2012Огляд Windows 95/98: загальні відомості, аналіз файлової системи. Розробка програми, що виконує всі основні функції файлового менеджера та може використовуватись як повноцінний програмний продукт даного типу. Установка та умови застосування програми.
курсовая работа [360,6 K], добавлен 17.10.2013Створення програми для роботи з файловою системою. Ступінь деталізації файлу. Структура файлової системи. Таблиця розміщення файлів. Розподіл пам'яті в FAT для типового диска MS DOS. Відповідність між FAT й областю файлів даних. Корневий каталог.
дипломная работа [32,6 K], добавлен 24.03.2009Огляд існуючих методів розробки компіляторів, детальний опис мови. Характеристика та специфіка процесу розробки програми компілятора на рівні блок-схем і тексту програми. Подання тексту компілятора, а також результатів тестування розробленої програми.
курсовая работа [510,2 K], добавлен 03.06.2011Історія розвитку Delphi (Object Pascal). Інтегроване середовище розробки Delphi. Ознайомлення з історією створення і використання логічної гри "Пазли". Реалізування ігрової комп’ютерної програми "Конструктор пазлів" в середовищі програмування Delphi 7.
курсовая работа [2,2 M], добавлен 10.11.2015Загальний алгоритм програми. Алгоритм проходження тесту. Алгоритм загрузки тесту в пам'ять програми. Програма "Тестер" на мові програмування TurboPascal в середовищі Borland Delphi 7. Інтерфейс програми "Тестер". Зовнішній вигляд вікна результату.
контрольная работа [177,0 K], добавлен 26.02.2010