Achso. Jetzt versteh' ich. Nein, mit einer property geht das meines Wissens nicht, hierzu ist eine function erforderlich.
Zum Beispiel so:
Delphi-Quellcode:
type
TSearchFlag = (sfVorname, sfName, sfStrasse, sfOrt, sfTel, sfMail);
TAdresse = record
..
function ToSearchIn(const SearchFlag: TSearchFlag): string;
end;
..
function TAdresse.ToSearchIn(const SearchFlag: TSearchFlag): string;
begin
case SearchFlag of
sfVorname:
Result := Vorname;
sfName:
Result := Name;
sfStrasse:
Result := Strasse;
sfOrt:
Result := Ort;
sfTel:
Result := Tel;
sfMail:
Result := Mail;
else
Result := '';
end;
end;
function CDatabase.Search(const SearchString: String; const StartPos, EndPos: Integer;
const SearchFlag: TSearchFlag): TIntArray;
Begin
..
If _RAdresse.ToSearchIn(SearchFlag) = SearchString then // Um diese Zeile geht es
..
end;