当前位置:首页 > 网络编程 > 软件语言 > DELPHI > 实现高速文件拷贝

实现高速文件拷贝

点击次数:47 次 发布日期:2008-11-09 08:37:47 作者:源代码网
源代码网推荐
广告载入中
program FastCopy;
源代码网推荐 {$A ,B-,D-,E ,F ,G ,I-,L-,N ,P-,Q-,R-,S-,T-,V-,X-,Y-}
源代码网推荐 {$M 16384,$10000}
源代码网推荐
源代码网推荐 const
源代码网推荐 MaxBufCnt = 1000;
源代码网推荐 type
源代码网推荐 BufPtr = ^BufRec;
源代码网推荐 BufRec = array[0..8190] of byte;
源代码网推荐
源代码网推荐
源代码网推荐 var
源代码网推荐 InFile, OutFile : file; {IF is In File, OF is OutFile}
源代码网推荐 Buffer : array[1..MaxBufCnt] of BufPtr;
源代码网推荐 BufLen : array[1..MaxBufCnt] of word;
源代码网推荐 BufSiz : array[1..MaxBufCnt] of word;
源代码网推荐 BufCnt : byte;
源代码网推荐 Total : longint;
源代码网推荐 SizeofFile : longint;
源代码网推荐 IndexR,IndexW : byte;
源代码网推荐 BytesWritten : word;
源代码网推荐 BR, BW : longint;
源代码网推荐 Timer1,Timer2 : longint;
源代码网推荐 Ticks : ^Longint;
源代码网推荐
源代码网推荐 begin
源代码网推荐 Ticks := Ptr(Seg0040, $006c);
源代码网推荐 if paramcount < 2 then begin
源代码网推荐 writeln("Usage:", paramstr(0), "
源代码网推荐
源代码网推荐 ");
源代码网推荐 halt;
源代码网推荐 end;
源代码网推荐 assign(InFile, paramstr(1));
源代码网推荐 assign(OutFile, paramstr(2));
源代码网推荐 writeln;
源代码网推荐 writeln("Copying ", paramstr(1), " to ", paramstr(2));
源代码网推荐 reset(InFile, 1);
源代码网推荐 rewrite(OutFile, 1);

源代码网推荐 BufCnt := 0;
源代码网推荐 SizeOfFile := filesize(InFile);
源代码网推荐 Total := 0;
源代码网推荐 while (MaxAvail>8192) and (BufCnt
源代码网推荐 BufLen[IndexW] then begin
源代码网推荐 writeln;
源代码网推荐 writeln("Error writing to file... Disk might be full");
源代码网推荐 Halt;
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐 Close(InFile);
源代码网推荐 Close(OutFile);
源代码网推荐 Timer2 := ticks^;
源代码网推荐 writeln;
源代码网推荐 writeln("Copy took ", Timer2-Timer1, " timer ticks to complete");
源代码网推荐 writeln("Throughput is ", SizeOfFile div (Timer2-Timer1), " bytes/tick");
源代码网推荐 writeln("or if you prefer ", (SizeOfFile div (Timer2-Timer1)) * 18.2:8:0, "
源代码网推荐 bytes/second"); for IndexR := 1 to BufCnt do
源代码网推荐 freemem(Buffer[IndexR], BufSiz[IndexR]);
源代码网推荐 writeln;
源代码网推荐 writeln("Copy complete");
源代码网推荐 end.


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华