전산기초상식이 부족함이 만천하에 공개되는것같아
가슴아프나 도저히 제힘으로 풀 수가 없어서......
Buffer : array of Byte;
ANum, BNum: Integer;
Buffer에 값이 이렇게 찍혀왔는데
DA 00 5C FB.....
Move(Buffer[0], ANum, SizeOf(Word));
Move(Buffer[2], BNum, SizeOf(Word));
이렇게 하니 ANum에는 원하는 값인 218이 넘어왔고
BNum에는 -1188이 아닌 64348이 넘어옵니다.
(Word가 unsigned Integer이니 쩝......)
어떻게 하면 원하는 음수값을 버퍼에서 긁어올 수 있나요?
이것때문에 타들어가는 가슴을 안고
Integer형은 4바이트짜리구 Word형은 2바이트짜리입니다. 2바이트정수형은 Smallint입니다.
-1188은 Integer로 $FFFFFB5C, SmallInt로 $FB5C입니다.
Integer를 SmallInt형으로 바꾸세요...
^^ 항상 즐코하세요...