string转为pchar后不能用,怎么办 ( 积分: 20 )

  • 主题发起人 主题发起人 mydelphibbs8848
  • 开始时间 开始时间
M

mydelphibbs8848

Unregistered / Unconfirmed
GUEST, unregistred user!
再说明一下<br>procedure TFormMain.N3Click(Sender: TObject);<br>var sou,det,oo:string;<br> &nbsp; &nbsp;i,j:Pchar;<br>begin<br>GetDir(0,sou);<br>showmessage(sou);<br>sou:=trim(sou)+'/DATA/SFQC.sqf';<br>oo:='F:/mydoc/myquaity/5new/DATE/SFQC.sqf';<br>showmessage(sou);<br>if &nbsp;sou=oo &nbsp;then &nbsp;showmessage('ok')else showmessage('nono');//这里总是弹出NO<br>i:=pchar(sou);<br>j:=pchar(det);<br>copyfile(i,j,true);<br>end;<br>我查看oo:='F:/mydoc/myquaity/5new/DATE/SFQC.sqf';<br>showmessage(sou);<br>看到两个串是一样的,即OO和SOU是一样的,可是<br>if &nbsp;sou=oo &nbsp;then &nbsp;showmessage('ok')else showmessage('nono');//这里总是弹出NO<br>这就是问题所在,不是copyfile的问题
 
再说明一下<br>procedure TFormMain.N3Click(Sender: TObject);<br>var sou,det,oo:string;<br> &nbsp; &nbsp;i,j:Pchar;<br>begin<br>GetDir(0,sou);<br>showmessage(sou);<br>sou:=trim(sou)+'/DATA/SFQC.sqf';<br>oo:='F:/mydoc/myquaity/5new/DATE/SFQC.sqf';<br>showmessage(sou);<br>if &nbsp;sou=oo &nbsp;then &nbsp;showmessage('ok')else showmessage('nono');//这里总是弹出NO<br>i:=pchar(sou);<br>j:=pchar(det);<br>copyfile(i,j,true);<br>end;<br>我查看oo:='F:/mydoc/myquaity/5new/DATE/SFQC.sqf';<br>showmessage(sou);<br>看到两个串是一样的,即OO和SOU是一样的,可是<br>if &nbsp;sou=oo &nbsp;then &nbsp;showmessage('ok')else showmessage('nono');//这里总是弹出NO<br>这就是问题所在,不是copyfile的问题
 
i:=pchar(sou);<br>j:=pchar(det);<br>copyfile(i,j,true);<br>showmessage(i);<br>showmessage(j);
 
i:=pchar(sou);<br>j:=pchar(det);<br>showmessage(sou);<br>showmessage(det);// 看看sou和det都对了没有,特别是路径方面<br>copyfile(i,j,true);// 我这里执行没有问题
 
调试-》查看本地变量
 
sou:=trim(sou)+'/DAT[red]A[/red]/SFQC.sqf';<br>oo:='F:/mydoc/myquaity/5new/DAT[red]E[/red]/SFQC.sqf';<br>一个是A一个是E,怎么可能一样?再说,字符串比对还有很重要的就是大小写,如果你忽略大小写,应该调用SameText函数!
 
还是楼上的细心
 
开头我也怀疑是大小写,搞了下不行又花了几小时搞不好就发上来了,刚才又看了下,确是大小写问题,气死了,这么简单的问题费了我这么多时间,谢各位了
 
多人接受答案了。
 
后退
顶部