首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

大小写变换不一样

2013-08-20 
大小写转换不一样大小写转换不一样?什么原因?Ts :圐圙LowerCase(TS)UpperCase(TS)[解决办法]调试一

大小写转换不一样
大小写转换不一样?什么原因?

          Ts :='圐圙';
        LowerCase(TS);
        UpperCase(TS);
[解决办法]
调试一下LowerCase就知道了。
function LowerCase(const S: string): string;
var
  Ch: Char;
  L: Integer;
  Source, Dest: PChar;
begin
  L := Length(S);
  SetLength(Result, L);
  Source := Pointer(S);
  Dest := Pointer(Result);
  while L <> 0 do
  begin
    Ch := Source^;
    if (Ch >= 'A') and (Ch <= 'Z') then Inc(Ch, 32);
    Dest^ := Ch;
    Inc(Source);
    Inc(Dest);
    Dec(L);
  end;
end;

ShowMessage('圐圙'[4]);
第4个字符是G,调用LowerCase转换后变成g,所以第2个汉字“圙”就变成了“坓”。

解决办法就是2楼所说的,用WideLowerCase和WideUpperCase替换LowerCase和UpperCase。

热点排行