今天遇到一个问题,请各位帮忙看下问题所在。
var
url:PChar;
url1:PChar;
qqno:string;begin
qqno:='1234';
url:=pchar(qqno);
url1:=pchar('1550983476'); if(url1=url)then
begin
showmessage('一样');
end else
begin
showmessage('不一样');
end;结果:打印出不一样!!
问题:都是string 为什么这两种转换 会不一样呢 请解惑!
var
url:PChar;
url1:PChar;
qqno:string;begin
qqno:='1234';
url:=pchar(qqno);
url1:=pchar('1550983476'); if(url1=url)then
begin
showmessage('一样');
end else
begin
showmessage('不一样');
end;结果:打印出不一样!!
问题:都是string 为什么这两种转换 会不一样呢 请解惑!
String是字符数组,以字符#0结尾;它是Delphi专用字符。
二者结构不一样。qqno:='1234';
url:=pchar(qqno);
url1:=pchar('1550983476');
url的值是1234,url1的值是1550983476,两者是不一样啊。
uses
IdURI;
...... Respon:=TidURI.URLDecode(Http.Get(TIdURI.URLEncode(URLStr)));URLEncode编码
URLDecode解码当然,得先引用
对不起 打错了 应该是
qqno:='1234';
url:=pchar(qqno);
url1:=pchar('1234');
url: PChar;
url1: PChar;
qqno: string;begin
qqno := '1234';
url := pchar(qqno);
url1 := pchar('1234'); if lstrcmp(url, url1) = 0 then
begin
showmessage('一样');
end else
begin
showmessage('不一样');
end;
end;
var
url:PChar;
url1:PChar;
qqno:string;
begin
qqno:='1234';
url:=pchar(qqno);
url1:=pchar('1234'); if strpas(url)=strpas(url1) then
begin
showmessage('一样');
end
else begin
showmessage('不一样');
end;
end;
if (url1=url) then 是比较指针地址,应该修改为比较字符串值: if strpas(url)=strpas(url1) then