AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche hilfe bei Property

Ein Thema von SimStar001 · begonnen am 3. Jul 2009 · letzter Beitrag vom 3. Jul 2009
Antwort Antwort
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#1

Brauche hilfe bei Property

  Alt 3. Jul 2009, 09:48
Hallo,

ersteinmal meine Klassen:


Delphi-Quellcode:
Type TMyclass2 = class
  private
  FData1 : integer;
  FData2 : integer;
  public
  constructor create;
  destrutor destroy; override;

  property Data1 : integer read FData1;
  property Data2 : integer read FData2;
  end;

Type TMyClass = Class
  private
  FDaten : array of TMyClass2;
  function GetDaten (Index : integer): integer;
  public;
  construcotr create;
  destructor destroy; override;

  property Data1[index : integer] : array of TMyclass2 : read GetDaten;
  end;

implementation

function TMyClass.getDaa1;
begin
  result := self.fDaten[index].Data1;
end;
Soweit jetzt mal meine Beispielstruktur.

Jetzt kann ich ja über die property Data1 auf Fdata1 in TMyClass2 zugreifen.

Doch wie muss ich jetzt das ganze anstellen, damit ich auf in TMyClass dann ebenfalls auf Data1 zugreifen kann, welches sich ja dann im Array befindet.

Zugriff sollte so aussehen -->
Delphi-Quellcode:
var Test : Tmyclass;
...
Test.Daten[0].Data1;
ist das überhaupt möglich?

[EDIT] Im Prinzip soll es eine property werden, bei der ich einen Index angebe, und dann auf die property des objectes im Array zugreifen kann
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#2

Re: Brauche hilfe bei Property

  Alt 3. Jul 2009, 10:34
Ich würde an deiner Stelle eine TObjectList verwenden.

Delphi-Quellcode:
uses
  ..., ContNrs;

type
  TMyList = class;
  TMyItem = class;

  TMyList = class(TObjectList)
  protected
    function GetItem(Index: integer):TMyItem;
  public
    property Items[Index: Integer]: TMyItem read getItem; default;
  end;

  TMyItem = class(TPersistent)
  private
    FFeld1: Integer;
  published
     property Feld1: Integer read FFeld1;
  end;

//Verwendung:

var
  List: TMyList;
begin
  List := TMyList.Create;
  try
    IrgendeineVariable := List[0].Feld1;
  finally
    List.Free;
  end;
end;
1
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#3

Re: Brauche hilfe bei Property

  Alt 3. Jul 2009, 16:28
Ich denke mal die Property Data1 sollte vom Typ TMyClass2 sein. Dann kannst du über Index auf ein Element des Array of TMyClass2 zugreifen. Die beiden Datenfelder Data1 und Data2 sind dann wieder Propertys auf die du zugreifen kannst.


Delphi-Quellcode:
Type TMyClass = Class
  private
  FDaten : array of TMyClass2;
  function GetDaten (Index : integer): integer;
  public;
  construcotr create;
  destructor destroy; override;

  property Data[index : integer] : TMyclass2 : read GetDaten;
  end;

implementation

function TMyClass.getData;
begin
  result := self.fDaten[index];
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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:43 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