TRect = packed record
case Integer of
0: (Left, Top, Right, Bottom: Longint);
1: (TopLeft, BottomRight: TPoint);
end;
看不懂这个定义呀。请大家帮我解释,谢谢大家。
case Integer of
0: (Left, Top, Right, Bottom: Longint);
1: (TopLeft, BottomRight: TPoint);
end;
看不懂这个定义呀。请大家帮我解释,谢谢大家。
解决方案 »
- ShellExecute返回错误值,为什么GetLastError返回0
- 怎么开发delphi的ocx控件
- 如何用PING测试一个网段的IP的情况
- 在Delphi中,除了下载第三方软件外,有没有给源代码加密的办法?
- 高分求救 delphi中的Pchar型 和vb中那个参数 相同
- SGIP 联通短信网关问题,高分求解,如果解决我的问题,再送200分
- 不难的问题,但小的初学不懂..先谢了,
- 如何在SpinEdit中嵌入时间,改变的值是时间?在线等待!
- 问题 有关rave,delphi自带的
- 24个不同数据库进行数据采集然后插入到一个中心数据库中的问题。
- 如何利用流将存放在INTERNET空间上的一个PDF文件读到内存中并将其在本地器上用PDF阅读器打开?
- 请问Delphi中什么控件能打开*.inp格式的图形文件
PPoint = ^TPoint;
TPoint = record
x: Longint;//8Bytes
y: Longint;
end;
TRect = packed record
case Integer of
0: (Left, Top, Right, Bottom: Longint); //A存储方案
1: (TopLeft, BottomRight: TPoint);//B存储方案 TRect总共使用的内存字节就是16Bytes;当你这样使用时
var
rect:trect;
rect.left:=100;
rect.top:=100;
rect.right:=200;
rect.bottom:=200;
//这样使用的话,表示你使用A存储方案
var
p1,p2:tpoint;
p1.x:=100;
p1.y:=100;
p2.x:=200;
p2.y:=200;
rect.TopLeft:=p1;
rect.BottomRight:=p2;
//这样使用的话,表示你使用B存储方案
不论你使用的哪种方案,你使用的内存大小不会超过16Bytes,编译器会知道你使用哪种方案的。
其他相关的资料你可以看看帮助。