Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Копирование

Автор: Deeonis 11.04.2003 1:23

Как скопировать файл в паскале? Я делаю так:
SwapVectors;
Exec(GetEnv('comspec'),'/c copy'+Prog+' '+dir.name+' )NUL');
SwapVectors;
но он чето не хочет. С памятью все впорядке.

Автор: ozzy 11.04.2003 8:28

Надо так:

Uses Crt;
Var       FromF, ToF : File;
NumRead, NumWritten : Word;
                Buf : Array [1..2048] Of Char;
Begin
{ Открываем входной файл }
Assign(FromF, ParamStr(1));
Reset(FromF, 1);  { Размер буфера записи = 1 байт }
{ Открываем выходной файл }
Assign(ToF, ParamStr(2));
ReWrite(ToF, 1);  { Размер буфера записи = 1 байт }
WriteLn('Копирую ', FileSize(FromF), ' байт...');
Repeat
 BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
 BlockWrite(ToF, Buf, NumRead, NumWritten);
Until (NumRead = 0) Or (NumWritten <> NumRead);
Close(FromF);
Close(ToF);
End.