原来那东西和C++里面的
struct{
...;
union{
...
};
}
基本是一回事啊,真实晕死了,可由哪个高手能给解释一下,那个所谓的标志位除了标示作用以外还有什么用处阿?
struct{
...;
union{
...
};
}
基本是一回事啊,真实晕死了,可由哪个高手能给解释一下,那个所谓的标志位除了标示作用以外还有什么用处阿?
解决方案 »
- 这个控件我已经安装了,怎么还报错啊?
- edit3.Text:=Data.ADOQMback.
- delphi的官方论坛有吗
- 在cxGrid的cxGrid1DBTableView1的指定字段中,如何加入一个像DBGrid的表格浏览控件?
- 如何读取出MP3文件的信息?
- 急***在线等***如何查找一个目录下的文件
- 一个小问题
- 关于qldbgrid的问题,100分
- 散分 + 交换链接 www.wentrip.com 广州特价宾馆预定宾馆预订宾馆饭店订房广交会特价酒店预定酒店预订酒店
- 如何在程序中压缩Access 2000 的数据厍!
- 如果用SocketConnecttion连接,怎么传回数据集呢?(自定义函数)
- 小赏168分请教关于 DBchart 的 打印 的问题,有识之士来漏一手呀。
序列號??我的水平还够,能否详细一点?
// 数据包头
structClientPackHead = Record
uPackLength : longword; // 包长度
uFlag : longword; // 包标志
cRequire : byte; // 请求
cAnswer : byte; // 应答
cCRC : array[0..5] of byte; // CRC校验
end;
呵呵,还是没看出来和标志位有什么关系阿?比较苯,希望大虾不要烦,呵呵,
变体记录,其实和c中的联合union实则是一个概念
不敢苟同,其实还是有一些差别的,如:
C/C++
union{
int o;
int a;
char b;
}CTest;
sizeof(Ctest) = 4 //在32位操作系统下delphi
TTest = packed record
other : integer;
case test:boolean of
true : (a:integer;) ;
false: (b:char;);
end; sizeof(TTest) = 9 //在32位操作系统下呵呵,因为对于变体纪录只有case of 部分与c/c++的union是相对应的 呵呵
不变部分同struct
c中的union也应该加上了
>>那个所谓的标志位除了标示作用以外还有什么用处阿?没有任何作用
如果有作用的话
c中的union也应该加上了
呵呵,我想也不错可是不知道你注意到过这段代码吗?TMessage = packed 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;
呵呵,这段代码就有一些蹊跷了,这个integer类型根本就没有实例,或者说在传递这个参数时,你能告诉我他是怎么转换的呢?
应该是变体的情况数量。
一般情况下就Boolean (True/False)两种情况就可以了
如果情况多的话,也可以用Integer啦!
不是什么序列号吧!
应该是变体的情况数量。
一般情况下就Boolean (True/False)两种情况就可以了
如果情况多的话,也可以用Integer啦!
呵呵,谢谢这位大虾的支持,不过我猜你肯定发现了其实这个标志位基本上没有什么用的,所以对他进不进行实例化都是无所谓的,其实他就是给编译器发出一个信息,告诉编译器从这里以后到本record定义结束之间的这块数据去分配空间的时候注意一些。制分配最大的那一块就够了,呵呵。可是这样却会浪费一个标志位的空间阿,在现在看来当然是没什么问题了,就一个字节而已,可是在上世纪60年代也会这么认为吗?^o^开个玩笑,呵呵。不过他倒是对内存空间重新解释提供了足够的方便,在重新解释这块内存的时候省了声明一个指针,又节省一个指针空间,抵消损失?^o^呵呵,开个玩笑又。
最近来csdn到delphi板块一转发现竟然把基础类给合并了,感觉不太爽,希望能开个头,提提人气^o^,反正吹牛又不上税,^o^……
指靠我给csdn、delphi基础类提人气,口气太大怕有误会,特此声明^o^……
来接分的http://lysoft.7u7.net
共享一下楼主的经验了!