Home

Page 126
Page 126
background image

Система

файл приемника. Если он существовал, то без каких-либо предупреждений
файл будет перезаписан. Дальше запускается цикл, в котором из файла ис-

точника считываются данные по 8 192 байт и тут же записываются в файл

приемника. Таким образом, в цикле происходит копирование файла не-

большими порциями. Чем больше порция, тем быстрее будет происходить

копирование.

Процедура копирования — очень хороший пример использования функций

работы с файлами. Все сделано очень грамотно и великолепно работает, хо-

тя и не очень универсально. Например, нет вызова предупреждения о суще-

ствовании результирующего файла перед его уничтожением. Но это не так

УЖ СЛОЖНО

 С ПОМОЩЬЮ ФУНКЦИИ  F i l e E x i s t s .

Теперь посмотрим на реализацию функции перемещения файлов (листинг 3.14).

 истин г 3.14. Перемещение файла

procedure

 string);

var

Destination: string;

begin

Destination :=

if not

 Destination) then

begin

if

 then

raise

 могу переместить файл');

 Destination);

end;

end;

Эта функция также получает в качестве параметров два имени файла:
источника и приемника. В начале функции происходит попытка переиме-

новать файл источника в приемник. Если оба файла находятся на одном

диске, то такая операция произойдет успешно, и файл-источник без копи-

рования превратится в файл-приемник с помощью простого изменения пути

расположения.
Если источник и приемник находятся на разных дисках, то такой трюк не
пройдет, поэтому процедура вызовет функцию

 описанную выше,

для копирования источника в новое место, а потом удалит файл

 запуска файла можно использовать следующую универсальную функ-

цию (листинг 3.15).


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.