当前位置: 代码迷 >> PB >> 请问:pb的文件复制真难搞
  详细解决方案

请问:pb的文件复制真难搞

热度:149   发布时间:2016-04-29 09:25:37.0
请教:pb的文件复制真难搞啊
我要把 \dir1 下的文件 按条件部分地 动态地 复制到 dir2(也是动态生成)中 请问改怎么做 我用了api的copyfile函数,这个只能在同目录下操作,不行 pb自带的filecopy 一次都没用成功过 用run(xcopy)又是全部复制\dir1 下的文件和文件夹 

明天要交差,哭啊,但是太困了......

求救啊.....

------解决方案--------------------
用个比较笨的方法,先fileread,再filewrite。
integer sfn //源文件号
integer dfn //目标文件号
string bytes_read //文件数据缓冲区
integer bytes_num //读数据长度

sfn = fileopen (source, StreamMode!, Read!, Shared!)
IF sfn < 0 THEN
return sfn
END IF

dfn = fileopen (dest, StreamMode!, Write!, LockWrite!, Replace!)
IF dfn < 0 THEN
fileclose(sfn)
return dfn
END IF

//逐块读写数据
bytes_num = fileread(sfn, bytes_read)
DO WHILE bytes_num > 0
bytes_num = filewrite(dfn,bytes_read)
IF bytes_num <= 0 THEN
fileclose(sfn)
fileclose(dfn)
return bytes_num
END IF
bytes_num = fileread(sfn, bytes_read)
LOOP

fileclose(sfn)
fileclose(dfn)
return 0
------解决方案--------------------
fileopen (dest, StreamMode!, Write!, LockWrite!, Replace!) 在文件不存在时,可以自动创建文件的
  相关解决方案