再问TSHFileOpStruct的用法(50分)

E

estray2

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用ShFileOperation函数来拷贝多个文件,注意不是(*.*),<br>求问如何在TSHFileOpStruct中的pFrom中表示多个文件名?
 
各文件名用#0隔开。<br>如'c:/windows/command#0c:/dos/himem.sys#0'<br>没试过。<br>
 
pFrom必须是以两个空字符结尾, 并且每个文件之间要用空字符间隔.<br>var<br>&nbsp; sfrom:pchar;<br>begin<br>&nbsp; getmem(sfrom,100);<br>&nbsp; strcopy(sfrom,'file1');<br>&nbsp; strcat(sfrom,#0);<br>&nbsp; strcat(sfrom,'file2');<br>&nbsp; strcat(sfrom,#0#0);<br>&nbsp; strcopy(shfileopstrct.pFrom,sfrom);<br><br>
 
来晚了。补充一下。<br>pFrom和pTo是这样规定的,如果指定一个文件或目录,则只用 #0 结束即可,<br>如果指定多个并列,则需要分隔。指定用 #0 分隔所有的项目,但最后必须以<br>双 #0 结束即 #0#0,如:<br>pFrom := 'c:/abc.1' + #0 + 'c:/command.com' + #0 + 'c:/k.a' + #0#0;<br><br>顺便说一下,<br>由于pFrom与pTo的特殊关系,取决于操作的方法,所以相对地,pTo也是有不<br>同的值。象移动,pTo指定一个目录名,注意是一个,则全部文件移到该目录,<br>如果指定多个,与pFrom相同数目,则各自移动,不同数目则出错。<br>其它的就自己探索一下吧。
 
多人接受答案了。
 
顶部