Delphi既然引入了WideChar类型,为什么又不能直接象Char类型一样使用?请看下面的例子,c:='x'是对的但后面两句对wideChar赋值却出错:Incompatible types:'WideChar' and 'String'。既如此,WideChar还有什么用,该怎么用?procedure TForm1.Button1Click(Sender: TObject);
var
wc: WideChar;
c: Char;
begin
c:='x';
wc:='伟';
wc:='П';
showMessage(wc);
end;
var
wc: WideChar;
c: Char;
begin
c:='x';
wc:='伟';
wc:='П';
showMessage(wc);
end;
showMessage(wc[1]);
var
wc: WideChar;
ws: WideString;
begin
ws := 'П';
wc:= ws[1];
showMessage(wc);
end;你可以用:{$R-}躲过范围检查。可以声明常量:const
x: WideString = 'П';来用,但是还是很麻烦。没有见到好方法。
showMessage(wc[1]);也就是说WideChar非要通过WideString来使用?
wc:WideChar;
begin
wc:=#65;
end;WideChar的范围是#0..#65535,这之间的都可以用。
'伟'超过一个字节就被看成string类型了。
x: WideString = 'П';取出来的x[1]就不是正确的。还得转化。就得用一步WideString变量转化一下,忍忍吧。没办法的事情