Копиране и изтриване на файлове в Делфи, различни статии, статии, програмиране - програмиране

В най-простия случай е въпрос на копиране на файлове е много лесно (въпреки че са получили много заявки, за да го говорят за това)! Това е достатъчно, за да се търси в помощта на Delphi :))

Параметрите предадени на тази функция:
  1. Указател към името на съществуващ файл (нулев прекратено низ, който е тип PChar!)
  2. Указател към името на файла, който ще бъде създаден / презаписани след копиране (нулев прекратено низ, който е тип PChar!)
  3. Ако тази опция е вярно, както и файл със същото име вече съществува, функцията връща False. Ако даден файл с името, посочена във втория параметър съществува като третият параметър премина към False - функцията ще презапише файла и ще бъде завършен успешно.

Ето един малък пример за използване на тази функция. Създаване на диск C: \ "1.TXT" файла. и формата на бутона за установяване:

За да научите по-точно, когато възникне грешка, това е все едно настъпило, е необходимо да използвате функцията GetLastError. която връща последния код за грешка (DWORD формат). Сега ние леко модифициране на примера:

Така натискане на бутона за втори път ще получите съобщение: "Грешка Ето кода: 80". Това ни казва, че файлът съществува.

Кодове на грешки могат лесно да бъдат намерени в помощта.

За задълбочаване на проблема, ще дам един пример за копиране на файлове с помощта на поток файл (TFileStream). В таблица, дефинирана от потребителя функция два допълнителни параметри От и граф, който посочи, съответно, от какво и за какво байта, за да копирате файла. Ако трябва да копирате целия файл, трябва да прехвърлите нули. Това е кодът на тази функция:

За да изтриете файлове в Делфи като специална процедура DeleteFile. Като параметър предава на функцията, действа като вид PChar низ като се посочи името на който искате да изтриете файла. Веднага ви предложа един прост пример за използването на тази функция:

процедура TForm1.Button1Click (Sender: TObject);
започвам
ако DeleteFile ( "C: \ 2.txt"), след това
ShowMessage ( 'File изтрит успешно! ")
още
ShowMessage ( "Грешка Това е кодът :! '+ IntToStr (GetLastError));
приключи;

Премахване на празна директория

За да премахнете празна директория с Delphi достатъчно, за да се хареса на функция RemoveDir.

функция RemoveDir (конст Dir: низ): булева;

Тази функция връща True, ако директорията, посочена в единствен параметър премина, за да функционира успешно отстранен, в противен случай функцията връща False.

Често е необходимо да се премахне, която не е празна папка, която не съдържа само файлове, но също и други подпапки. За това е написано потребителски дефинирана функция, изтриване на папки с всички файлове и поддиректории. Ето го:

функция MyRemoveDir (sDir. String). булева;
Var
iIndex. Цяло число;
SearchRec. TSearchRec;
sFileName. String;
започвам
Резултат: = False;
sDir: = sDir +. \ * ";
iIndex: = FindFirst (sDir, faAnyFile, SearchRec);

докато iIndex = 0 започвайте
sFileName: = ExtractFileDir (sDir) + '\' + SearchRec.Name;
ако след това SearchRec.Attr = faDirectory започне
ако (SearchRec.Name <> '') И
(SearchRec.Name <> '.') И
(SearchRec.Name <> ".."), след това
MyRemoveDir (sFileName);
сложи край на друг да започне
ако SearchRec.Attr <> faArchive след това
FileSetAttr (sFileName, faArchive);
Ако не се DeleteFile (sFileName), след това
ShowMessage ( "не може да изтрие '+ sFileName);
приключи;
iIndex: = FindNext (SearchRec);
приключи;

RemoveDir (ExtractFileDir (sDir));
Резултат: = True;
приключи;

Сега, един пример за използване на тази функция:

процедура TForm1.Button1Click (Sender: TObject);
започвам
ако MyRemoveDir ( "C: \ testDir"), след това ShowMessage ( "Directory бе успешно изтрита")
останало ShowMessage ( "Не може да се премахне директория ');
приключи;

  • Винаги се уверете, имената на файловете, които се използват във функциите. Обърнете внимание на абсолютни и относителни пътеки. Поради това, често има грешки, които е трудно да се следи!
  • Е, това е най-вероятно всичко бих искал да ви разкажа за копиране и изтриване в Делфи.