AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Array-Eigenschaft

Ein Thema von luckyluke80 · begonnen am 21. Sep 2005 · letzter Beitrag vom 21. Sep 2005
Antwort Antwort
luckyluke80

Registriert seit: 21. Sep 2005
Ort: Ilmenau
7 Beiträge
 
#1

Array-Eigenschaft

  Alt 21. Sep 2005, 21:05
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:
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.
Danke schonmal im Voraus für Eure Mühen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Array-Eigenschaft

  Alt 21. Sep 2005, 21:09
schon fast vollständig
Delphi-Quellcode:
function TLese.getFelder(Index: integer):char;
begin
   Result := FmeineFelder[Index];
end;
du bekommst bei der Funktion ja Index übergeben also musst du auch diesen Index zurück geben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#3

Re: Array-Eigenschaft

  Alt 21. Sep 2005, 21:10
Hi,

ich denke der Fehler liegt bei der Deklination. Du musst für dein Array einen eigenen Typ definieren:
Delphi-Quellcode:
type
  MyArray = array[0..100] of char;

// ...
property Eigenschaft:MyArray read GetIndex;
cu
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Array-Eigenschaft

  Alt 21. Sep 2005, 21:13
@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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
luckyluke80

Registriert seit: 21. Sep 2005
Ort: Ilmenau
7 Beiträge
 
#5

Re: Array-Eigenschaft

  Alt 21. Sep 2005, 21:17
sehr genial, es funktioniert

Danke @all
  Mit Zitat antworten Zitat
Benutzerbild von sECuRE
sECuRE

Registriert seit: 10. Apr 2003
Ort: Heidelberg
360 Beiträge
 
Delphi 7 Professional
 
#6

Re: Array-Eigenschaft

  Alt 21. Sep 2005, 21:20
Hi,

@SirThornberry: Stimmt, hab's eben noch mal ausprobiert, klappt tatsächlich so nicht.

@luckyluke: Sorry für die Verwirrung .

cu
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz