Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TOBjectList mit zwei itemlists (https://www.delphipraxis.net/113390-tobjectlist-mit-zwei-itemlists.html)

angos 7. Mai 2008 08:11


TOBjectList mit zwei itemlists
 
Hi,

ich möchte ein Objekt, was zwei unterschiedliche Listen beinhaltet
kann ich in einer TObjectList zwei Listen unterbringen? Und wie würden dann die Methoden SetItem2 und GetItem2 aussehen?

Delphi-Quellcode:
unit Unit2;

                                                                                       
interface                                                                              
                                                                                       
uses                                                                                  
  Contnrs,
  Windows;

type
  TMyItem = Class(TObject)
  private
    FName: String;
  public
    property Name: String read FName write FName;
  end;

  TMyItemList = class(TObjectList)
  protected
    function GetItem(ndx: Integer): TMyItem;
    procedure SetItem(ndx: Integer; const Value: TMyItem);
  public
    property Items[Index: Integer]: TSatz read GetItem write SetItem;
    property Items2[Index: Integer]: TSatz read GetItem2 write SetItem2;
  end;

implementation

function TMyItemList.GetItem2(ndx: Integer): TMyItem;
begin
  // ???
end;


procedure TMyItemList.SetItem2(ndx: Integer; const Value: TMyItem);
begin
  // ???
end;

function TMyItemList.GetItem(ndx: Integer): TMyItem;
begin
  result := inherited GetItem(ndx) as TMyItem;
end;

procedure TMyItemList.SetItem(ndx: Integer; const Value: TMyItem);
begin
  inherited SetItem(ndx, Value);
end;
                                                                                       
end.
Oder ist das alles Unsinn und ich sollte eher ein solches Kosntrukt verwenden?:

Delphi-Quellcode:
  TMyDoubleList = class(Tobject)
  private
    FMyItemList1: TMyItemList;
    FMyItemList2: TMyItemList;
  public
    property MyItemList1: TMyItemList read FMyItemList1 write FMyItemList1;
    property MyItemList2: TMyItemList read FMyItemList2 write FMyItemList2;
  end;

Gruß

angos

NickelM 7. Mai 2008 08:22

Re: TOBjectList mit zwei itemlists
 
Ich würde Methode 2 nehmen

Dadurch musst du nicht unnötig die Get und SetItem Methoden schreiben.

Delphi-Quellcode:
TMyDoubleList = class(Tobject)
  private
    FMyItemList1: TMyItemList;
    FMyItemList2: TMyItemList;
  public
    property MyItemList1: TMyItemList read FMyItemList1 write FMyItemList1;
    property MyItemList2: TMyItemList read FMyItemList2 write FMyItemList2;
  end;
Dann kanst du nämlich so direkt zugreifen:
Delphi-Quellcode:
var MyDoubleList : TMyDoubleList;
begin
MyDoubleList := TMyDoubleList.Create(); //Weiß grad nicht aus dem Kopf welche Parameter gebraucht werden
MyDoubleList.MyItemList1.add //weiß jetzt nicht ab jetzt die so heißt oder nicht
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 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