德尔福 - > LongInt的字节数组

时间:2012-11-30 00:26:43

标签: delphi move

我想从

获取4个字节
Source : Array[0..500] of Byte;

,其中

c : integer; // Start Point

v : LongInt;

Move(Source[c], v, 4);

只给我1个字节。我的错在哪里?

再次感谢。

2 个答案:

答案 0 :(得分:4)

这个来源完美无缺。但是,如果只有第一个字节(索引为c的字节)包含0以外的值,它可能看起来只返回一个字节。

Sertac Akyuz已经建议的这个替代方案也很好:

v := PLongInt(@Source[c])^;

答案 1 :(得分:1)

我怀疑行动失败了:

试试这段代码:

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)。