delphi 'Char' and 'AnsiChar'报错问题
答案:4 悬赏:0 手机版
解决时间 2021-04-05 23:01
- 提问者网友:沉默的哀伤
- 2021-04-05 12:39
delphi 'Char' and 'AnsiChar'报错问题
最佳答案
- 五星知识达人网友:拾荒鲤
- 2021-04-05 13:19
楼上说错了还能推荐?看他的描述应该把AnsiChar看成pchar了.在Delphi2009之前,Char就是AnsiChar,Delphi2009后delphi支持unicode,所以char默认成了widechar,占两个字节.
象楼主出现的这种错误是把一个AnsiChar赋给一个char(WideChar)引起的,测试代码:
var a:char;
b:Ansichar;
begin
b:='a';
a:=b;//这里出现和楼主一样的错误
self.Caption:=a;
end;
处理方法:
var a:char;
b:Ansichar;
begin
b:='a';
a:=WideChar(b);//加WideChar强制转换
self.Caption:=a;
end;
象楼主出现的这种错误是把一个AnsiChar赋给一个char(WideChar)引起的,测试代码:
var a:char;
b:Ansichar;
begin
b:='a';
a:=b;//这里出现和楼主一样的错误
self.Caption:=a;
end;
处理方法:
var a:char;
b:Ansichar;
begin
b:='a';
a:=WideChar(b);//加WideChar强制转换
self.Caption:=a;
end;
全部回答
- 1楼网友:老鼠爱大米
- 2021-04-05 16:15
不知道你用的哪个版本,2010之前的版本,他们是一模一样的,只是名字不一样而已。
没代码,不好说。。
没代码,不好说。。
- 2楼网友:佘樂
- 2021-04-05 15:52
2010后使用的是unicode字符,char ansichar 可以互换一下。你可以百度搜索看看他们的区别就明白了
- 3楼网友:神也偏爱
- 2021-04-05 14:12
Char和AnsiChar本来就不是同一类型的
Char只占一个字节属于字符型的,而 AnsiChar是 Char的字符数组指针,可以存数N个字符, Char不需要转换就可以成为 AnsiChar
Char只占一个字节属于字符型的,而 AnsiChar是 Char的字符数组指针,可以存数N个字符, Char不需要转换就可以成为 AnsiChar
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯