Was natürlich auch gehen würde:
Delphi-Quellcode:
function getValueFromRecord(fieldname: string; rec: TTestRecord): integer;
var index: Integer;
begin
if TryStrToInt(copy(fieldname, 5, length(fieldname)-4), index) then
Result:=PInteger(Cardinal(@rec)+(index-1)*4)^
else
Result:=0;
end;
Müsste gehen. Aber natürlich nur, wenn die Zahl drinsteht.
Ansonsten könntest du dir einfach eine Funktion basteln, die per if den Parameter fieldname auf bestimmte Werte überprüft und dann das richtige zurückgibt.