3

是否有可能結合兩個BytesWideChar如果是的話,那麼如何?
例如,二進制中的字母「ē」是00010011 = 1900000001 = 1275在一起。結合兩個字節WideChar

var 
    WChar: WideChar; 
begin 
    WChar := WideChar(275); // Result is "ē" 


var 
    B1, B2: Byte; 
    WChar: WideChar; 
begin 
    B1 := 19; 
    B2 := 1; 
    WChar := CombineBytesToWideChar(B1, B2); // ??? 

我如何WideChar從德爾福兩個字節?

回答

8
WChar := WideChar(MakeWord(B1, B2)); 
+0

我不知道哪個回答接受:d –

+0

啊我忘了MakeWord,好:) – Lloyd

+0

我會接受這一點,更加簡潔。 – Lloyd

2

你應該只能夠創建一個類型和投:

type 
    DoubleByte = packed record 
    B1: Byte; 
    B2: Byte; 
    end; 

var 
    DB: DoubleByte; 
    WC: WideChar; 
begin 
    DB.B1 := 19; 
    DB.B2 := 1; 

    WC = WideChar(DB); 
end; 

失敗鑄造你可以使用Move()代替,簡單地複製內存。