레코드 선언은 아래와 같습니다.
Type
Tmyrecord = record
Var1: string[20];
Var2: string[20];
Var3: Integer;
end;
이렇게 선언하고 다음과 같이 값을 넣었습니다.
Procedure
Var
REC : Tmyrecord;
Buffer : TIdBytes;
Begin
REC.Var1 := '한글';
REC.Var2 := '잘보여?';
REC.Var3 := MaxInt;
Buffer := RawToBytes(REC, RECSizeInt);
End;
이렇게 값을 넣고 Byte형으로 변환을 하면 다음은 구조를 가집니다.
0x04C7D1B1DB0000000000000000000000000000000007C0DFBAB8BFA93F000000000000000000000000000000FFFFFF7F
이 데이터 구조를 살펴 보면
0x : 데이터가 Hex값임
04 : REC.Var1가 4Byte임
C7D1B1DB00000000000000000000000000000000 : '한글'
07 : REC.Var1가 7Byte임
C0DFBAB8BFA93F00000000000000000000000000 : '잘보여?'
0000 : 이 값이 무슨 값인지 모르겠습니다.
FFFFFF7F : MaxInt
특히 '0000' 이 값은 레코드 구조에 따라 있을때도 있고 없을때도 있고 도데체 뭔지 모르겠습니다.
이 값이 어떤 값인지 알려주시면 감사하겠습니다.
|