Type
MyRecord=Record
case field:integer of
1:(name:string);
2:(Avg:integer);
end;对上面的变体写法不太明白用意,是不是只是为初始化的时间不用分配太多的内存?谁能详细说它的好处及用法吗?
MyRecord=Record
case field:integer of
1:(name:string);
2:(Avg:integer);
end;对上面的变体写法不太明白用意,是不是只是为初始化的时间不用分配太多的内存?谁能详细说它的好处及用法吗?
解决方案 »
- dbgrid中的问题!
- 饭桶超人 进来接分!!!
- 怪异的问题,不知道有没有人遇到过
- COMBOBOX默认显示第一个数据的问题
- 关于SQL Server数据库地备份和恢复问题
- 高分求一个FTP软件制作的完整代码例程
- 界面设计工作室
- 通过注册表读主板BIOS的怪事
- 用delphi和sql server写三层数据库,当保存记录,怎样更新主键字段
- hookapi WriteProcessMemory写入的字符串比原来的长度长怎么办??? 大多数操作系统正常。win8.1 x64不正常 出错 move b
- 求DELPHI中的解rar压缩文件包的代码,希望不是直接调用EXE可执行文件,可以在没有安装RAR的时候也可以解压。
- 一个网页页面 进去后 过一段不固定的时间 会刷新出现一个固定的字符串 怎么模拟等待网页刷新?
是根据field的取值,来确定record的内部字段的
学习变体结构 ,参考一下
Msg: Cardinal;
case Integer of
0: (
WParam: Longint;
LParam: Longint;
Result: Longint);
1: (
WParamLo: Word;
WParamHi: Word;
LParamLo: Word;
LParamHi: Word;
ResultLo: Word;
ResultHi: Word);
end;是最能说明的问题了。其实他就是C里面的联合体。当初设计是为了节约存储空间,我们都知道,若干年前内存条是多么的珍贵,可以说是比处女膜都还贵,所以当时在C里提倡了联合体的设计。
Seamour ,说的对,这个是编译不过去的,string这类非固定长度的类型,是不行的
MyRecord=Record
case field:integer of
1:(name:string[100]);//纠正一下
2:(Avg:integer);
end;