![]() |
Array-Eigenschaft
Ich habe demnächst eine Delphi Klausur und habe schon alle möglichen Hilfen gewälzt. Ich bin mir noch etwas unsicher in folgendem Bereich.
Es soll eine Klasse entworfen werden die über die Eigenschaft "meineFelder" ein Array (array[1..100]of Char veröffentlicht. Es soll lediglich lesender Zugriff auf diese Eigenschaft gestattet werden. mein erster Ansatz war const --> nicht so ganz richtig (Nur bei Methoden wird lesender Zugriff gewährt, aber ich glaube es geht hier um Klasseneigenschaften also properties) mein zweiter Ansatz war Schutzklassen --> klar die werde ich auch brauchen, aber selbst der strengste Schutz (private) gewährt noch eine Veränderung der Eigenschaft Dadurch bin ich zu property gekommen. Dann bin ich in der Hilfe auf Array Eigenschaften gestossen. Leider lässt sich hier nicht so einfach ein statisches Array definieren. Der Compiler meckert rum, wenn man das nach dem altbewährtem Schema array[1..100] of ... versucht. Und aus der Hilfe werde ich auch nicht ganz schlau. Ich hab mal so angefangen, leider komm ich nicht weiter und ich glaube es ist auch nicht so ganz richtig.
Delphi-Quellcode:
Danke schonmal im Voraus für Eure Mühen
type
TForm1 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; type TLese = class private FmeineFelder :array[1..100] of char; function getFelder(Index :integer):char; public property meineFelder[Index:integer]:char read getFelder; end; var Form1: TForm1; implementation {$R *.dfm} function TLese.getFelder(Index: integer):char; begin Result := FmeineFelder[Char]; end; end. |
Re: Array-Eigenschaft
schon fast vollständig
Delphi-Quellcode:
du bekommst bei der Funktion ja Index übergeben also musst du auch diesen Index zurück geben.
function TLese.getFelder(Index: integer):char;
begin Result := FmeineFelder[Index]; end; |
Re: Array-Eigenschaft
Hi,
ich denke der Fehler liegt bei der Deklination. Du musst für dein Array einen eigenen Typ definieren:
Delphi-Quellcode:
cu
type
MyArray = array[0..100] of char; // ... property Eigenschaft:MyArray read GetIndex; |
Re: Array-Eigenschaft
@sECuRE: So ist es vollkommen falsch weil ja dein property bereits das ganze array ist und du somit bei der GetMethode das ganze array zurück liefern müsstest. Der Fragesteller hat es an sich schon richtig, nur seine GetMethode hatte eben einen kleinen Fehler.
|
Re: Array-Eigenschaft
sehr genial, es funktioniert
Danke @all |
Re: Array-Eigenschaft
Hi,
@SirThornberry: Stimmt, hab's eben noch mal ausprobiert, klappt tatsächlich so nicht. @luckyluke: Sorry für die Verwirrung ;). cu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz