怎样读取数据(100分)

  • 主题发起人 主题发起人 chen_xl
  • 开始时间 开始时间
C

chen_xl

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个表的其中一个字段的类型是bytes,我不知怎样使用delphi读取.敬请大家帮助.
 
bytes -->integer
 
我是使用8字节的bytes,存储一个条码号,
例如 02 03 44 F3 2D 00 10 FE
 
还是可以先把它做为一个整数读出来,然后再分解。
 
使用 C 语言的联合(union)指针。
在 Delphi 中,可这样定义:
type
PByteUnion = ^TByteUnion;
TByteUnion = packed record
case Integer of
0: (IntValue: DWORD);
1: (ByteValue: array [0..7] of Byte);
end;

把该字段读入一个DWORD中,然后用一个PByteUnion指向它即可。
var
DW: DWORD;
pBU: PByteUnion;
begin
DW := FieldValue;
pBU := @DW;
pBU.ByteValue[]...
end;
 
但DWORD只有4字节长
 
var
S:String;
begin
Table1.Close;
Table1.Open;
S :=VarToStr(Table1.FieldByName('FieldName').AsVariant);
Edit1.Text :=S;
end;
 
多人接受答案了。
 
后退
顶部