一个我很迷惑的api问题和一个文件复制问题(50分)

  • 主题发起人 主题发起人 wuan
  • 开始时间 开始时间
W

wuan

Unregistered / Unconfirmed
GUEST, unregistred user!
var lp:pchar;s:integer;<br>begin<br>&nbsp; s:=gettemppath(30,lp);<br>&nbsp; edit1.Text:=copy(lp,1,s);<br>end;<br>上面的代码,如果响应buttonclick时edit1没有任何反应,但响应formcreat时,<br>就可以得到临时文件夹路径。对了即使响应formcreat时得到了,在关闭程序时<br>还会报错,为什么呢? <br>&nbsp; 第二.我想用流复制文件中的一段(不是全部),我发现从其他文件中复制一部分是可以的,<br>但是要从自身复制时就会出错,怎样才能从自身复制一块.(因有些文件是多个合成在一起的<br>我想运行第一个文件时,自动分离后面的文件.与病毒无关啊!).
 
在运行上述的api函数时,应该先为它分配内存空间<br>比如<br>var<br>&nbsp;lp:array[0..255] of char;<br>&nbsp;s:integer;<br>begin<br>&nbsp; s:=gettemppath(255,lp);<br>&nbsp; edit1.Text:=copy(lp,1,s);<br>end;<br>这样就可以了,<br>对于第二个问题,你可以尝试用fileopen, fileread, filewrite 函数试试,如果还<br>不行,建议你巴要分离的文件当成res文件处理<br><br><br>
 
var lp:pchar;<br>s:integer;<br>begin<br>&nbsp; getmem(lp,255);<br>&nbsp; s:=gettemppath(255,lp);<br>&nbsp; edit1.Text:=copy(lp,1,s);<br>end;<br><br>在delphi6.0,win2000下通过
 
var<br>&nbsp;lp:pchar;<br>begin<br>&nbsp; gettemppath(30,lp);<br>&nbsp; edit1.text:=string(pchar); //typecast pchar to string<br>end;
 
<br>&nbsp; netxeyes的答案好像行不通!<br>&nbsp; 再上两层的答案是正确的。不过还有一个问题没解决,所以分数要少一点啦。请见谅,<br>&nbsp; &nbsp; 在此表示感谢!
 
To:wuan<br>我试过了,可以的呀!你留个E_mail,我把源代码和可执行文件都发给你!
 
netxeyes:<br>那可能是我那个地方没设好!总之谢谢,<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;wuzhongan1@sina.com<br>&nbsp;对了第二个问题我已经自己解决了。<br>
 
多人接受答案了。
 
后退
顶部