<div dir="auto"><div dir="auto"><span style="font-family:sans-serif;font-size:12.8px">Just because someone is bound to suggest it, might as well be me.</span></div><div dir="auto"><span style="font-family:sans-serif;font-size:12.8px"><br></span></div><div><span style="font-family:sans-serif;font-size:12.8px">type</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> TRecA = record</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> a: string;</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> b: string;</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> end;</span><br style="font-family:sans-serif;font-size:12.8px"><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px">type</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> TRecB = record</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> A: TRecA</span><span style="font-family:sans-serif;font-size:12.8px">;</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> c: integer;</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> d: integer;</span><br style="font-family:sans-serif;font-size:12.8px"><span style="font-family:sans-serif;font-size:12.8px"> end;</span></div><div dir="auto"><font face="sans-serif"><span style="font-size:12.8px"><br></span></font></div><div dir="auto"><font face="sans-serif"><span style="font-size:12.8px">RecB.A := RecA;</span></font></div><div dir="auto"><font face="sans-serif"><span style="font-size:12.8px"><br></span></font>Jeff</div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Mon, Jul 9, 2018, 12:23 PM Ryan Joseph <<a href="mailto:ryan@thealchemistguild.com">ryan@thealchemistguild.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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.<br>
<br>
type<br>
TRecA = record<br>
a: string;<br>
b: string;<br>
end;<br>
<br>
type<br>
TRecB = record<br>
a: string;<br>
b: string;<br>
c: integer;<br>
d: integer;<br>
end;<br>
<br>
<br>
for field in recA.GetFields do<br>
recB.GetFieldByName(<a href="http://field.name" rel="noreferrer noreferrer" target="_blank">field.name</a>).value := field.value<br>
<br>
<br>
Regards,<br>
Ryan Joseph<br>
<br>
_______________________________________________<br>
fpc-pascal maillist - <a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-pascal@lists.freepascal.org</a><br>
<a href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal" rel="noreferrer noreferrer" target="_blank">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal</a></blockquote></div></div></div>