在英文系統下,如Windows 2003,中使用Delphi 7。如何將String 轉換為WideString,......。高手快來。在線等 (100分)

  • 主题发起人 主题发起人 juson
  • 开始时间 开始时间
J

juson

Unregistered / Unconfirmed
GUEST, unregistred user!
在英文系統下,如Windows 2003,中使用Delphi 7。
如何將String轉換為WideString,然後通過函數得到改String第一個中文字的Unicode碼
Function GetCode(Sr: String): String;
var
W1, W2: Byte;
WStr: WideString;
begin
WStr := WideString(Sr)
//這裡我用了很多轉換函數都不能正確的轉換,但在中文系統中可以
W1 := word(WStr[1]) shr 8;
W2 := word(WStr[1]) and $FF;
...
End;


如果分不夠,可以在[red]加[/red]
 
用代码页及MultiByteToWideChar转换
这个我在英文系统中试过了,可以用。
950时代码页,可根据需要更改。
var
TempStr: WideChar;
W1, W2: Byte;
WStr: WideString;
begin
TempStr := src;
u_Length:=MultiByteToWideChar(950,0,PChar(TempStr),length(TempStr),@TempBuf,1);
WStr := TempBuf;
W1 := word(WStr[1]) shr 8;
W2 := word(WStr[1]) and $FF;
end;
 
看到了,我測試成功後就給你分。謝謝!
 
接受答案了.
 
后退
顶部