Sign in Join
Wiki copytemporary

CopyFile/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-[[Unit|Модуль]]: Lazarus [[fileutil/ru|fileutil]] ([[UTF-8]] замена для кода FPC [[RTL]] и дополнительная обработка файлов/каталогов)
2-```
1+[[Unit|Модуль]]: Lazarus [[fileutil/ru|fileutil]] ([[UTF-8]] замена для кода FPC [[RTL]] и дополнительная обработка файлов/каталогов)
2+
3+``` pascal
34// флаги для копирования
4- type
5- TCopyFileFlag = (
6- cffOverwriteFile,
7- cffCreateDestDirectory,
8- cffPreserveTime
9- );
10- TCopyFileFlags = set of TCopyFileFlag;
11-
12- function CopyFile(const SrcFilename, DestFilename: string): boolean;
13- function CopyFile(const SrcFilename, DestFilename: string; PreserveTime: boolean): boolean;
14- function CopyFile(const SrcFilename, DestFilename: string; Flags: TCopyFileFlags=[cffOverwriteFile]): boolean;
15-```
5+type
6+ TCopyFileFlag = (
7+ cffOverwriteFile,
8+ cffCreateDestDirectory,
9+ cffPreserveTime
10+ );
11+ TCopyFileFlags = set of TCopyFileFlag;
1612
17-**copyfile** копирует файл из места _SrcFilename_ в место _DestFilename_. При желании можно сохранить метку времени файла (флаг _cffPreserveTime_).
13+function CopyFile(const SrcFilename, DestFilename: string): boolean;
14+function CopyFile(const SrcFilename, DestFilename: string; PreserveTime: boolean): boolean;
15+function CopyFile(const SrcFilename, DestFilename: string; Flags: TCopyFileFlags=[cffOverwriteFile]): boolean;
16+```
1817
19-
18+**copyfile** копирует файл из места *SrcFilename* в место *DestFilename*. При желании можно сохранить метку времени файла (флаг *cffPreserveTime*).
2019
2120## Windows example
2221
23-Пример:
24-```
22+Пример:
23+
24+``` pascal
2525uses
26- ...
27- fileutil
28- ...
29- CopyFile('c:\autoexec.bat','c:\windows\temp\autoexec.bat.backup');
26+...
27+fileutil
28+...
29+CopyFile('c:\autoexec.bat','c:\windows\temp\autoexec.bat.backup');
3030```
3131
32-**Результат работы функции** \- вернёт [[True/ru|True]] при успешном копировании и [[False/ru|False]] в противном случае.
32+**Результат работы функции** - вернёт [[True/ru|True]] при успешном копировании и [[False/ru|False]] в противном случае.
3333
34-![Light bulb](https://upload.wikimedia.org/wikipedia/commons/d/d8/Nuvola_apps_ktip.png) **Примечание:** Если вы хотите использовать данную функцию в консольных программах, вам необходимо добавить модуль **LazUtils** , который не будет _тянуть_ за собой весь пакет [[LCL/ru|LCL]]
34+> **Note:** Если вы хотите использовать данную функцию в консольных программах, вам необходимо добавить модуль **LazUtils**, который не будет *тянуть* за собой весь пакет [[LCL/ru|LCL]]
3535
3636## Lazarus example
3737
38-В этом примере используются следующие компоненты или функции:
38+В этом примере используются следующие компоненты или функции:
3939
40- * [[TOpenDialog]] [![topendialog.png](/wiki-images/1/1c/topendialog.png)](</File:topendialog.png>)
41- * [[TSaveDialog]] [![tsavedialog.png](/wiki-images/4/4a/tsavedialog.png)](</File:tsavedialog.png>)
42- * [[Dialog Examples|MessageDlg]]
40+- [[TOpenDialog]] ![](/wiki-images/9/90/Topendialog.png)
41+- [[TSaveDialog]] ![](/wiki-images/e/e1/Tsavedialog.png)
42+- [[Dialog Examples|MessageDlg]]
4343
44-
44+``` pascal
4545
46-```
4746procedure TForm1.Button1Click(Sender: TObject);
48- var
49- ok:boolean;
50- begin
51- ok := false;
52- if OpenDialog1.Execute then
53- if SaveDialog1.Execute then
54- ok := CopyFile(OpenDialog1.FileName, SaveDialog1.FileName);
55- if ok then MessageDlg('Файл '+OpenDialog1.FileName+' успешно скопирован в ' +
56- SaveDialog1.FileName,mtInformation,[mbOk],0)
57- else MessageDlg('Копирование не удалось',mtWarning,[mbOk],0);
58- end;
47+var
48+ ok:boolean;
49+begin
50+ ok := false;
51+ if OpenDialog1.Execute then
52+ if SaveDialog1.Execute then
53+ ok := CopyFile(OpenDialog1.FileName, SaveDialog1.FileName);
54+ if ok then MessageDlg('Файл '+OpenDialog1.FileName+' успешно скопирован в ' +
55+ SaveDialog1.FileName,mtInformation,[mbOk],0)
56+ else MessageDlg('Копирование не удалось',mtWarning,[mbOk],0);
57+end;
5958```
6059
6160---
62-*From the Free Pascal wiki, page "CopyFile/ru", as the Internet Archive kept it on 2025-02-09. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
61+*From the Free Pascal wiki, page "CopyFile/ru", as it stood on 2021-07-26 after a change by Zoltanleo, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history