首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符转换为AnsiChar或WideChar (Delphi)

将字符转换为AnsiChar或WideChar (Delphi)
EN

Stack Overflow用户
提问于 2011-02-15 04:54:42
回答 3查看 24.7K关注 0票数 2

我正在将一个非常旧的( Delphi )应用程序升级到最新的10+ XE。有很多错误,我不断得到这样的

代码语言:javascript
复制
Incompatible types: 'WideChar' and 'AnsiChar'

我只是将字符转换为正确的类型: ex。AWideChar = WideChar(fncReturnsChar);

这会造成问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-15 05:12:57

你可能会遇到一些问题。这是Marco Cant?的一份关于Delphi中Unicode的白皮书。

http://edn.embarcadero.com/article/38980

票数 6
EN

Stack Overflow用户

发布于 2012-07-18 18:21:19

代码语言:javascript
复制
var
    Initials: String[10];
    FullName: String;

begin

    Initials[1] := FullName[1]; // Error here after Delphi 2009

end;

问题是,在后来的Delphi版本中,String10是AnsiString的类型。在上面的代码中,您将为ANSI字符分配一个Unicode字符。

解决方案是一个简单的类型转换:

代码语言:javascript
复制
Initials[1] := AnsiChar(FullName[1]);

请参考Mikael Eriksson答案中推荐的文档。这是至关重要的。

票数 2
EN

Stack Overflow用户

发布于 2013-10-10 14:12:01

代码语言:javascript
复制
var
  C : Char;
  AC : AnsiChar;
begin
  AC := '1';
  // C := AC; Delphi does not know how to convert ANSI to Unicode without a codepage
  C := String(AC)[1]; // Any way we can do that by default ANSI decoder
end.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4997142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档