博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi 2010 新增功能之: Rtti 单元(4): TRttiRecordType
阅读量:6341 次
发布时间:2019-06-22

本文共 962 字,大约阅读时间需要 3 分钟。

  hot3.png

下面以 TPoint 为例, 用 TRttiRecordType 读取了结构的信息.

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Memo1: TMemo;    Button1: TButton;    procedure Button1Click(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}uses Rtti;procedure TForm1.Button1Click(Sender: TObject);var  t: TRttiRecordType;  f: TRttiField;begin  Memo1.Clear;  t := TRttiContext.Create.GetType(TypeInfo(TPoint)).AsRecord;  Memo1.Lines.Add(t.QualifiedName);  Memo1.Lines.Add(Format('Size: %d', [t.TypeSize]));  Memo1.Lines.Add(EmptyStr);  Memo1.Lines.Add(Format('字段数: %d', [Length(t.GetFields)]));  Memo1.Lines.Add(Format('方法数: %d', [Length(t.GetMethods)]));  Memo1.Lines.Add(Format('属性数: %d', [Length(t.GetProperties)]));  Memo1.Lines.Add(EmptyStr);  Memo1.Lines.Add('全部字段:');  for f in t.GetFields do Memo1.Lines.Add(f.ToString);end;end.

转载于:https://my.oschina.net/hermer/blog/319465

你可能感兴趣的文章
SVN被锁定的几种解决方法
查看>>
182在屏幕中实现网格化视图效果
查看>>
Dundas 系列
查看>>
巧用AJAX技术,通过updatePanel控件实现局部刷新
查看>>
20140420技术交流活动总结
查看>>
SaltStack配置salt-api
查看>>
各种情况下block的类型
查看>>
ThinkPHP 3.2.x 集成极光推送指北
查看>>
js作用域链
查看>>
java中如何选择Collection Class--java线程(第3版)
查看>>
为运维人员插上腾飞更远的翅膀!
查看>>
Word 2003中编辑标记与格式标记大讨论
查看>>
调试网页PAIP HTML的调试与分析工具
查看>>
路径工程OpenCV依赖文件路径自动添加方法
查看>>
玩转SSRS第七篇---报表订阅
查看>>
WinCE API
查看>>
Linux常用基本命令[cp]
查看>>
CSS 相对|绝对(relative/absolute)定位系列(一)
查看>>
关于 Nginx 配置 WebSocket 400 问题
查看>>
Glide和Govendor安装和使用
查看>>