文件拷贝问题?(50分)

  • 主题发起人 xuejinlong
  • 开始时间
X

xuejinlong

Unregistered / Unconfirmed
GUEST, unregistred user!
FUNCTION DCF(s,t:String):Boolean;
VAR
ShFileopStruct: TShFileOpStruct;
BEGIN
WITH ShFileOpStruct DO BEGIN
Wnd:=0;
wFunc:=Fo_Copy;
pFrom:=PChar(s);
pTO:=PChar(t);
fFlags:= FOF_NOCONFIRMATION OR FOF_ALLOWUNDO ;

END;
DCF := ShFileOperation(ShFileOpStruct)=0;
END;

执行这个代码时总是出现如下错误信息:
无法复制文件:文件系统错误(1026)。

这些代码那里有问题吗?
 
这段函数代码没问题啊,是不是调用有问题? 不行你可以直接用copyfile函数来拷内文件。
copyfile('c:/work/b.mdb','d:/test/a.mdb',false);
 
唉!别让我看到你…………。
我只想知道答案,请您不要………………。
如果您觉得没问题您可以说:“我觉得没什么问题呀!”之类的,不要乱来好不好?呜~~~~~
 
估计问题出在s和t上.
如果是一次拷贝多个文件,请加FOF_MULTIDESTFILES属性,
并且s和t要求有两个'/0'结束,而不是一个.
 
我现在拷贝的都是单个文件。我调试时文件路径和文件名是没什么问题的。

另外拷贝多个文件时怎么做?那个'/0'怎么加上?
我加了chr(0)结果是 'C:/test.txt'+ Char(0) + 'test2.txt';调试一看成了'C:/test.txt'了 。
后面的就看不到了。拷贝也不对。
 
拷贝一个文件不用加/0,转换成PChar时自动加了一个.
 
用copyFiel();轻松多了
 
顶部