から4バイトを取得したい
Source : Array[0..500] of Byte;
どこ
c : integer; // Start Point
に
v : LongInt;
しかし
Move(Source[c], v, 4);
1バイトしか返されません。私のせいはどこですか?
再度、感謝します。
このソースは完全に正常に機能します。c
ただし、最初のバイト(インデックスにあるバイト)のみに。以外の値が含まれている場合は、1バイトのみを返すように見える場合があります0
。
Sertac Akyuzによってすでに提案されているこの代替手段は、同様に正常に機能します。
v := PLongInt(@Source[c])^;
移動が失敗しているとは思えません。
このコードを試してください:
procedure TForm1.Button1Click(Sender: TObject);
var
source: array[0..500] of Byte;
C: Integer;
V: LongInt;
begin
source[0] := $55;
source[1] := $55;
source[2] := $55;
source[3] := $55;
C := 0;
Move(Source[C], V, SizeOf(V));
ShowMessage(IntToStr(V));
end;
メッセージに番号1431655765($ 55555555)が表示されます。