Est-il possible d'obtenir la liste des éléments ou des champs d'un enregistrement similaire à une liste des propriétés publiées d'une classe via type info?Liste l'élément de l'enregistrement fields
Merci!
Est-il possible d'obtenir la liste des éléments ou des champs d'un enregistrement similaire à une liste des propriétés publiées d'une classe via type info?Liste l'élément de l'enregistrement fields
Merci!
En fonction de votre version de Delphi, si vous utilisez Delphi 2010 ou plus récent, vous pouvez utiliser les nouvelles améliorations rtti.
vérifierons ce code
program ProjectTestRtti;
{$APPTYPE CONSOLE}
uses
Rtti,
SysUtils;
type
MyRecord=record
Field1 : integer;
Field2 : boolean;
Field3 : string;
end;
var
ctx : TRttiContext;
t : TRttiType;
field : TRttiField;
begin
try
ctx := TRttiContext.Create;
for field in ctx.GetType(TypeInfo(MyRecord)).GetFields do
begin
t := field.FieldType;
writeln(Format('Field : %s : Type : %s',[field.Name,field.FieldType.Name]));
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.
Je suis sur Delphi 2006 ... bummer. – Rick
Il est toujours sage d'inclure la version Delphi dans votre question, en particulier des questions sur la fonction des questions spécifiques (le RTTI a été refondu en Delphi 2010) comme cette question. –