使用SHFileOperation拷贝文件后,怎样得到拷贝后的真实文件命?(30分)

  • 主题发起人 主题发起人 blueberry
  • 开始时间 开始时间
B

blueberry

Unregistered / Unconfirmed
GUEST, unregistred user!
var shellinfo: TSHFileOpStructA;<br>&nbsp; with shellinfo do<br>&nbsp; begin<br>&nbsp; &nbsp; Wnd:=handle;<br>&nbsp; &nbsp; wFunc:=FO_COPY;<br>&nbsp; &nbsp; pFrom:=PChar(files);<br>&nbsp; &nbsp; pTo:=PChar(destination);<br>&nbsp; &nbsp; fFlags:=FOF_SIMPLEPROGRESS or FOF_RENAMEONCOLLISION;<br>&nbsp; end;<br>&nbsp; SHFileOperation(shellinfo);<br><br>copy文件abc.exe,如果abc.exe已存在,<br>将会被换名为复件(1)abc.exe,或复件(2)abc.exe诸如此类,<br>我怎么能得到copy后真正的文件名呢?<br><br>第一次发问,请多帮忙
 
谁能帮帮我,谢谢了
 
&nbsp; &nbsp;pTo:=PChar(destination);<br>&nbsp; &nbsp; fFlags:=FOF_SIMPLEPROGRESS ;//or FOF_RENAMEONCOLLISION; <br>&nbsp; end; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//有同名文件会报出来.<br>&nbsp; SHFileOperation(shellinfo);<br><br>看以下两个函数的帮助.<br>fileexists<br><br>copyfile &nbsp;help--&gt;ms sdk help files--&gt;win32 programmer's reference<br><br><br>borland为了让视窗平台的Delphi以及Linux平台上的Kylix有着共通的资料存取引擎,因此决定开发新一代的资<br>料存取引擎,那就是dbExpress。DbExpress是一组存取各种不同关连资料库的原生驱动程序,以及以组统一的<br>组件。由于原生驱动程序和组件都是以跨平台的考量开发的,因此Delphi和Kylix都可以使用这组驱动程序和组<br>件。程式师藉由统一的组件来存取不同的资料库,以方便开发资料库应用系统,<br>
 
TO:ljf945<br>如果我坚持写<br> fFlags:=FOF_SIMPLEPROGRESS or FOF_RENAMEONCOLLISION;<br>&nbsp; end;<br>&nbsp; SHFileOperation(shellinfo);<br><br>能有返回值告知我COPY了那些文件吗?<br>因为我想自动换名,不用用户再次确定。<br><br>另:<br>如果写成这样<br> pTo:=PChar(destination);<br>&nbsp; &nbsp; fFlags:=FOF_SIMPLEPROGRESS ;//or FOF_RENAMEONCOLLISION; <br>&nbsp; end; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//有同名文件会报出来.<br>&nbsp; SHFileOperation(shellinfo);<br>程序会得到实际的文件名吗?<br>这么写?newfilename:=SHFileOperation(shellinfo); ??<br><br><br>我比较弱<br><br>
 
接受答案了.
 
后退
顶部