zoukankan      html  css  js  c++  java
  • Delphi 遍历类中的属性

    Delphi 遍历类中的属性
    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.
    View Code
  • 相关阅读:
    html与app交互
    算法:算法的时间与空间复杂度
    php加解密函数集合
    redis主要用法
    【原创】RabbitMQ教程:php实现
    安装RabbitMq
    mysql复制表和字段
    vim文本操作
    JAVA学习(常量)
    JAVA学习(变量)
  • 原文地址:https://www.cnblogs.com/studycode/p/11821872.html
Copyright © 2011-2022 走看看