On 7/9/2018 9:22 AM, Ryan Joseph wrote:
Could I do some RTL magic on a record to loop over its fields and set them to
another record by name? In the example below I want to set all the fields in
TRecA to matching named fields in TRecB. Just curious if we can do this
automatically using RTL.
type
TRecA = record
a: string;
b: string;
end;
type
TRecB = record
a: string;
b: string;
c: integer;
d: integer;
end;
for field in recA.GetFields do
recB.GetFieldByName(field.name).value := field.value
If you make sure that any variable of tRecB is declared first, you can use
Var RecB : tRecB;
RecA : tRedA ABSOLUTE RecB;
Quite obviously, it doesn't work the other way around as tRecB is larger
than tRecA...
Ralf
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal