delphi 'Char' and 'AnsiChar'报错问题

[DCCError]自动关机.pas(51):E2010Incompatibletypes:'Char'and'AnsiChar' 这个报错貌似在delphi7... [DCC Error] 自动关机.pas(51): E2010 Incompatible types: 'Char' and 'AnsiChar' 这个报错貌似在 delphi7里面是不会报错的吧?请问能不能详细的告诉我一下 这个错误的解决办法?Char 和 AnsiChar 怎么变成了不同类型呢 要用函数转换吗? 展开
 我来答
zyjying520
2012-08-13 · TA获得超过225个赞
知道小有建树答主
回答量:436
采纳率:100%
帮助的人:369万
展开全部
Char和AnsiChar本来就不是同一类型的

Char只占一个字节属于字符型的,而 AnsiChar是 Char的字符数组指针,可以存数N个字符, Char不需要转换就可以成为 AnsiChar
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
0xCEA4
推荐于2018-04-10 · TA获得超过310个赞
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:312万
展开全部
楼上说错了还能推荐?看他的描述应该把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;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mit1208
2012-08-13 · TA获得超过2347个赞
知道大有可为答主
回答量:2743
采纳率:0%
帮助的人:1846万
展开全部
2010后使用的是unicode字符,char ansichar 可以互换一下。你可以百度搜索看看他们的区别就明白了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
98...3@qq.com
2012-08-13 · 超过39用户采纳过TA的回答
知道答主
回答量:147
采纳率:0%
帮助的人:91.4万
展开全部
不知道你用的哪个版本,2010之前的版本,他们是一模一样的,只是名字不一样而已。

没代码,不好说。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式