TURBO PASCAL

Новости           

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности

От автора

 

Q:> 2.4.3 Как скопировать файл?

A:> Читать его в буфер через BlockWrite, а затем записывать через
BlockWrite. Hапример:

procedure FileCopy(fileFrom, fileTo: string);
var
f1,f2:file;
p:pointer;
rb:word;
Begin
Assign(f1,fs); FileMode:=0; Reset(f1,1);
Assign(f2,fd); ReWrite(f1,1);
GetMem(p,32768);
If p=nil then begin WriteLn('Not enough memory !'); Halt; end;
Repeat
BlockRead(f1,p^,32768,rb);
BlockWrite(f2,p^,rb);
Until rb<>32768;
FreeMem(p,32768);
Close(f2); Close(f1);
End;

A:> Есть и более изящный вариант, реализованный в следующей проге:

Uses Objects;
Var
S1, S2: TBufStream;
Begin
If ParamCount <> 2 Then Halt(1);
S1.Init(ParamStr(1), stOpenRead);
S2.Init(ParamStr(2), stCreate);
S2.CopyFrom(S1, S1.GetSize);
S2.Done;
S1.Done;
End.


На первую страницу
Rambler's Top100 Яндекс цитирования Rambler's Top100 PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросампрошу писать на электронный адрес

Hosted by uCoz