Es gibt eine Möglichkeit, dabei musst du einen pointer auf die Strings speichern und kannst dann über diese zugreifen.
Beispiel:
Delphi-Quellcode:
procedure ShowTheString(AElement: TElement; AOffset: Cardinal);
begin
ShowMessage(PString(Cardinal(@AElement.nachname) + AOffSet)^);
end;
[...]
type
PString = ^String;
var LElement: TElement;
LOffSet: Cardinal;
begin
LElement.nachname := 'Nachname';
LElement.vorname := 'Vorname';
LElement.strasse := 'Straße';
LElement.plz := 'PLZ';
LElement.ort := 'Ort';
LElement.email := 'Email';
//LOffSet := 0; //Nachname
//LOffSet := 4; //Vorname
//LOffSet := 8; //Straße
LOffSet := 12; //PLZ
//LOffSet := 16; //Ort
//LOffSet := 20; //Email
ShowTheString(LElement, LOffSet);
end;
Je nach dem welchen wert "LOffSet" hat würdest du einen anderen String des Records angezeigt bekommen. Anstelle des Showmessage brauchst du also nur deinen vergleich in der "ShowTheString" machen.