Hier liegt ein besonderes Property vor; nämlich ein
Array-Propery.
Delphi-Quellcode:
TProfil = record
Name, Option1, Option2 : String;
Wert: integer;
end;
Profilspeicher = Array[1..30] of TProfil;
TSpeicher = class
private
FProfile: Profilspeicher;
function GetProfile(Index: Integer): TProfil;
procedure SetProfile(Index: Integer; P:TProfil);
public
property Profile[Index:Integer]: TProfil read GetProfile write SetProfile;
end;
function TSpeicher.GetProfile(Index: Integer): TProfil;
begin
if (Index >= Low(FProfile)) and (Index<=High(FProfile)) then
Result := FProfile[index]
else
raise ERangeError.Create('ungültiger Index TSpeicher.Profile['+IntToStr(Index)+']');
end;
Am Besten du lässt zunächst die Methoden GetProfile und SetProfile weg und drückst dann STRG+C.
Delphi generiert dann automatisch dir richtigen Methodenrümpfe.