这个问题把我折腾了几天,请各位大虾帮我看看。现在我没分有分之后一定高分送出!!(0分)

  • 主题发起人 主题发起人 sjhasp
  • 开始时间 开始时间
S

sjhasp

Unregistered / Unconfirmed
GUEST, unregistred user!
...............
if OpenDialog1.Execute then
begin
AssignFile(fileRemote, OpenDialog1.FileName);
filemode := 0;
Reset(fileRemote,1);
filemode := 2;
AssignFile(fileLocal, strFullFileName);
Rewrite(fileLocal,1);
repeat
BlockRead(fileRemote, Buf, SizeOf(Buf), NumRead);
BlockWrite(fileLocal, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(fileRemote);
CloseFile(fileLocal);
end;
...............
请问这段代码是什么意思?它能得到什么?请高手赐教!
 
文件复制
 
能详细点吗?
 
if OpenDialog1.Execute then
begin
AssignFile(fileRemote, OpenDialog1.FileName); //打开一个文件
filemode := 0;
Reset(fileRemote,1); //指向文件起始位置
filemode := 2;
AssignFile(fileLocal, strFullFileName); //打开目标文件,文件名为strFullFileName变量的值
Rewrite(fileLocal,1); //准备写入文件
repeat
BlockRead(fileRemote, Buf, SizeOf(Buf), NumRead); //从源文件读到缓冲中
BlockWrite(fileLocal, Buf, NumRead, NumWritten); //从缓冲写到目标文件中
until (NumRead = 0) or (NumWritten <> NumRead); //源文件读完或写入错误则终止
CloseFile(fileRemote);
CloseFile(fileLocal);//关闭两个文件型变量
end;
 
文件复制 。
FileMode 没有用 ?
 
...............
if OpenDialog1.Execute then //显示文件对话框
begin //这个就是开始咯 ^_^
AssignFile(fileRemote, OpenDialog1.FileName); //在对话框中选择文件,其中fileRemote应该是file类型
filemode := 0; //设置文件只读
Reset(fileRemote,1); //打开已有的文件(远程?)
filemode := 2; //设置文件可写
AssignFile(fileLocal, strFullFileName); //给文件赋一外部文件名
Rewrite(fileLocal,1); //打开一已分配的文件(本地?)
repeat //这个单词怎么读? 重复?
BlockRead(fileRemote, Buf, SizeOf(Buf), NumRead); //大块吃肉,大块读
BlockWrite(fileLocal, Buf, NumRead, NumWritten); //大口喝酒,大口说
until (NumRead = 0) or (NumWritten <> NumRead); //直到太阳落山,读得累死了,还要比较谁更帅 ^_^
CloseFile(fileRemote); //走了要记得关门 ^_^
CloseFile(fileLocal); //自己的门更要关好 ^_^
end; // Game is OVER ...
...............

呵呵!现在你应该明白这段代码的作用了吧?
看起来有点类似比较两个文件异同。 为什么不直接用Eof呢?简单多了!
 
后退
顶部