请教一个类型定义

zhourongbiao 2005-10-11 02:05:37
ColorConvert 是个什么呀?不太明白。
function SetShaddow(color:TColor):TColor;
type
ColorConvert = record
case byte of //这是什么意思?
0 : (z:TColor);
1 : (a,b,c,d : byte);
end;
begin
ColorConvert(result).a:=ColorConvert(color).a div 2;
ColorConvert(result).b:=ColorConvert(color).b div 2;
ColorConvert(result).c:=ColorConvert(color).c div 2;
ColorConvert(result).d:=ColorConvert(color).d div 2;
end;
...全文
38 点赞 收藏 1
写回复
1 条回复
chinasdp 2005年10月11日
ColorConvert = record
case byte of //这是什么意思?
0 : (z:TColor);
1 : (a,b,c,d : byte);
end;
可变记录,和C中的共用体(union)一样。

借用Delphi5开发人员指南中的一段话:

Object Pascal也支持可变记录,它允许在记录中不同的数据共同覆盖相同的内存。不要跟Variant数据类型相混淆,可变记录允许彼此覆盖的数据能被单独访问。如果对C / C + +语言很熟悉,你一眼就
能看出来它跟C / C + +中的union概念一样
回复 点赞
发动态
发帖子
语言基础/算法/系统设计
创建于2007-08-02

3418

社区成员

3.3w+

社区内容

Delphi 语言基础/算法/系统设计
社区公告
暂无公告