2017-06-23 11 views
3

検索に使用する単語がわかりません。検索語句を分割できません

私は4バイトのLongIntを持っています。最初の2バイトの値をIntegerとして取得し、最後の2バイトを別の整数として取得する必要があります。

ここに古いおならの記憶があります。 :)

私はそれが少なくとも重要な、最も重要なことと関係があると思いますが、良い検索用語は私を暗示しています。

+2

低・高言葉は私の知る限り、使用されているものです。 –

答えて

5
uses Winapi.Windows; 

var 
    L : longint; // DWORD 
    lsw : word; 
    msw : word; 

begin 
    lsw := LoWord(L); 
    msw := HiWord(L); 
end; 
+0

Arrrghhh、額を叩く。ありがとうございました。 – X10WannaBe

5

この取り組みにはさまざまな方法があります。一般的に

uses 
    Windows; 

var 
    Value : Longint; 
    l : Word; 
    h : Word; 
begin 
    Value := ...; 
    l := LOWORD(Value); 
    h := HIWORD(Value); 
end; 

uses 
    SysUtils; 

var 
    Value : Longint; 
    l : Word; 
    h : Word; 
begin 
    Value := ...; 
    l := LongRec(Value).Lo; 
    h := LongRec(Value).Hi; 
end; 

var 
    Value : Longint; 
    l : Word; 
    h : Word; 
begin 
    Value := ...; 
    l := Word(Value); 
    h := Word(Value shr 16); 
end; 
関連する問題