Delphi 遍历类中的属性
2023-09-11 14:20:27 时间
http://blog.csdn.net/easyboot/article/details/8004954
Delphi 遍历类中的属性
![](http://static.blog.csdn.net/images/category_icon.jpg)
版权声明:本文为博主原创文章,未经博主允许不得转载。
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls,TypInfo;
- type
- TForm1 = class(TForm)
- Button2: TButton;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- {$M+} //如果不用 {$M+} 则需要继承TPersistent
- TTest = class(TObject)
- public
- FName,FSex,FScholl:string;
- published
- property Name :string read FName write FName;
- property Sex :string read FSex write FSex;
- property Scholl :string read FScholl write FScholl;
- end;
- {$M-}
- var
- Form1: TForm1;
- implementation
- {$R *.dfm}
- procedure TForm1.Button2Click(Sender: TObject);
- var
- PropCount, I: SmallInt;
- PropList: PPropList;
- PropStr,sValues: string;
- AClass:TTest;
- AStrings:TStrings;
- begin
- AStrings:=TStrings.Create;
- AClass:=TTest.Create;
- AClass.Name:='MyTest';
- AClass.Sex:='Male';
- AClass.Scholl:='Scholl';
- PropCount := GetTypeData(AClass.ClassInfo).PropCount;
- GetPropList(AClass.ClassInfo, PropList);
- for I := 0 to PropCount - 1 do
- begin
- case PropList[I]^.PropType^.Kind of
- tkClass : PropStr := '[Class] ';
- tkMethod : PropStr := '[Method]';
- tkSet : PropStr := '[Set] ';
- tkEnumeration: PropStr := '[Enum] ';
- else
- PropStr := '[Field] ';
- end;
- PropStr := PropStr + PropList[I]^.Name;
- PropStr := PropStr + ': ' + PropList[I]^.PropType^.Name;
- sValues:=GetPropValue(AClass,PropList[I].Name,True);
- ShowMessage(sValues);
- ShowMessage(PropStr);
- end;
- FreeMem(PropList);
- end;
- end.
相关文章
- Java当中List集合根据对象某个属性进行去重
- C#中遍历类的属性和值
- C#类的属性遍历及属性值获取
- 《SpringBoot篇》07.@ConfigurationProperties注解实现第三方bean加载属性
- CSS3-border-radius 属性
- django之创建第4-2个项目-访问class类属性和类方法
- react 中的路由 属性exact
- java方法里的属性
- spring的bean标签属性
- css 计算属性 calc的使用
- SuperMap iObject入门开发系列之五管线属性查询
- js中遍历对象的属性和值
- 浅析如何借助content属性显示CSS var变量值及计数器counter-reset和counter-increment介绍
- js中的问题(this)(遍历对象中的属性)
- React 属性和状态具体解释
- 初学者对Vue中computed计算属性的理解
- FlyCaptureProperty 摄像机属性