Type
TPersonlRecord2 = Record
id:string;
case Duty:integer of
1,2,3,4: (Uni:integer;
Sale:integer);
5,6,7,8: (Uni2:integer;
Sale2:integer;
TOTAL:integer);
end;
Type
TPersonlRecord1 = Record
id:string;
case Duty:integer of
1: (Uni:integer;
Sale:integer);
2: (Uni2:integer;
Sale2:integer;
TOTAL:integer);
end;//请说出两个记录的区别
//个人观点:他们没有任何区别,希望得到正面或者反面的证实
//希望大家畅所欲言//参加讨论的朋友假定您已经对c中的union完全掌握
TPersonlRecord2 = Record
id:string;
case Duty:integer of
1,2,3,4: (Uni:integer;
Sale:integer);
5,6,7,8: (Uni2:integer;
Sale2:integer;
TOTAL:integer);
end;
Type
TPersonlRecord1 = Record
id:string;
case Duty:integer of
1: (Uni:integer;
Sale:integer);
2: (Uni2:integer;
Sale2:integer;
TOTAL:integer);
end;//请说出两个记录的区别
//个人观点:他们没有任何区别,希望得到正面或者反面的证实
//希望大家畅所欲言//参加讨论的朋友假定您已经对c中的union完全掌握
解决方案 »
- $是什么意思
- 利用Delphi查询SQL相关数据,然后再利用Delphi控件导出为Excel文档
- StringGrid编辑状态如何让文字换行
- 新手有问题求助,何时要用到TiniFile类
- 钩子函数无法捕获WM_VSCROLL,求助!
- 请教,我想求两个日期之间一共有多少个月,比如1955-6-10,到2004-4-1日之间一共有多少个月
- 关于确认计算机是否安装某个软件的问题。
- 高手请教,关于得到当前窗口的函数
- Delphi5.5能否在windows2000和windows NT下用,用它编的网络数据库能否在windows2000Server 和 Windows NT Server下应用
- 求助:怪事!ACCESS的实际记录数与RecordCount不一样
- 简单的类型转换问题,却一直解决不了,急!!!
- 目前对软件防盗版,除了加密狗以外,还有其它那些加密措施?
TTypeData = packed record
case TTypeKind of
tkUnknown, tkLString, tkWString, tkVariant: ();
//这里是否和tkUnknown: (); 等价?
……
case Duty:integer of...什么时候用到Duty??? 所以“没有任何区别”!
你随便写一个,说说什么时候有区别谢谢
Type
TPersonlRecord3 = Record
id:string;
case integer of //记录里将没有Duty元素
1: (Uni:integer;
Sale:integer);
2: (Uni2:integer;
Sale2:integer;
TOTAL:integer);
end;//如下定义又一样了~~
Type
TPersonlRecord4 = Record
id:string;
Duty:Integer;
case integer of
1: (Uni:integer;
Sale:integer);
2: (Uni2:integer;
Sale2:integer;
TOTAL:integer);
end;function StrToHex(mStr: string): string;
var
I: Integer;
begin
Result := '';
for I := 1 to Length(mStr) do
Result := Format('%s%.2x', [Result, Ord(mStr[I])]);
end; { StrToHex }procedure TForm1.Button1Click(Sender: TObject);
var
vPersonlRecord1: TPersonlRecord1;
vPersonlRecord2: TPersonlRecord2;
vPersonlRecord3: TPersonlRecord3;
vPersonlRecord4: TPersonlRecord4;
vBuffer: array[0..255] of Char;
begin
Memo1.Clear;
vPersonlRecord1.id := $11111111;
vPersonlRecord1.Duty := $22222222;
vPersonlRecord1.Uni2 := $33333333;
vPersonlRecord1.Sale2 := $44444444;
vPersonlRecord1.TOTAL := $55555555;
Memo1.Lines.Add(IntToStr(SizeOf(TPersonlRecord1)));
StrLCopy(vBuffer, PChar(@vPersonlRecord1), SizeOf(TPersonlRecord1));
Memo1.Lines.Add(StrToHex(string(vBuffer))); vPersonlRecord2.id := $11111111;
vPersonlRecord2.Duty := $22222222;
vPersonlRecord2.Uni2 := $33333333;
vPersonlRecord2.Sale2 := $44444444;
vPersonlRecord2.TOTAL := $55555555;
Memo1.Lines.Add(IntToStr(SizeOf(TPersonlRecord2)));
StrLCopy(vBuffer, PChar(@vPersonlRecord2), SizeOf(TPersonlRecord2));
Memo1.Lines.Add(StrToHex(vBuffer)); vPersonlRecord3.id := $11111111;
// vPersonlRecord3.Duty := $22222222;
vPersonlRecord3.Uni2 := $33333333;
vPersonlRecord3.Sale2 := $44444444;
vPersonlRecord3.TOTAL := $55555555;
Memo1.Lines.Add(IntToStr(SizeOf(TPersonlRecord3)));
StrLCopy(vBuffer, PChar(@vPersonlRecord3), SizeOf(TPersonlRecord3));
Memo1.Lines.Add(StrToHex(vBuffer)); vPersonlRecord4.id := $11111111;
vPersonlRecord4.Duty := $22222222;
vPersonlRecord4.Uni2 := $33333333;
vPersonlRecord4.Sale2 := $44444444;
vPersonlRecord4.TOTAL := $55555555;
Memo1.Lines.Add(IntToStr(SizeOf(TPersonlRecord4)));
StrLCopy(vBuffer, PChar(@vPersonlRecord4), SizeOf(TPersonlRecord4));
Memo1.Lines.Add(StrToHex(vBuffer));
end;
{\urtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fscript\fprq2\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fmodern\fprq6\fcharset134 \'cb\'ce\'cc\'e5;}}
{\colortbl ;\red120\green30\blue190;\red240\green230\blue0;\red250\green180\blue0;\red100\green200\blue250;}
\viewkind4\uc1\pard\cf1\lang2052\i\f0\fs72 Thank \fs92 You\cf0\i0\f1\pard
}