AGB  ·  Datenschutz  ·  Impressum  







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

Komponenten-Entwicklung: xyz[i].name

Ein Thema von lkz633 · begonnen am 17. Jan 2004 · letzter Beitrag vom 17. Jan 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#11

Re: Komponenten-Entwcilung: xyz[i].name

  Alt 17. Jan 2004, 17:51
Hallo,
klar geht das. Da Du aber scheinbar Deinen Source nicht posten willst müsste ich jetzt
ein Beispiel selber machen. Also bitte zeige Deinen Source
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#12

Re: Komponenten-Entwcilung: xyz[i].name

  Alt 17. Jan 2004, 17:54
Danke für deine Hilfe, hier mal der Source:

Code:
type tcontactitem = class
  private
    Fname: string;
    procedure Setname(const Value: string);
  public
    property name: string read Fname write Setname;
end;


type tContactItemList = class(TList)
  private
    function GetItems(Index: Integer): tcontactitem;
    procedure SetItems(Index: Integer; const Value: tcontactitem);
  public
    property Items[Index : Integer]: tcontactitem read GetItems write SetItems;default;
end;


type
  Toutextract = class(TComponent)
  private
    procedure SetOutlookVersion(const Value: outlookversion);
    function Getcontacts(Index: Integer): TContactItemlist;
    procedure Setcontacts(Index: Integer; const Value: TContactItemlist);
  protected
  public
    constructor create(AOwner: TComponent); override;
    destructor destroy;
    property contacts[Index : Integer]: TContactItemList read Getcontacts write Setcontacts;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#13

Re: Komponenten-Entwcilung: xyz[i].name

  Alt 17. Jan 2004, 17:57
Hallo,
da scheint so einiges durcheinander zu sein. Ich bastel Dir mal ein Beispiel.
Bis gleich.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#14

Re: Komponenten-Entwcilung: xyz[i].name

  Alt 17. Jan 2004, 18:10
Hallo,
studiere mal das Beispiel
Angehängte Dateien
Dateityp: zip zip_901.zip (210,3 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#15

Re: Komponenten-Entwcilung: xyz[i].name

  Alt 17. Jan 2004, 18:44
Ich steh anscheinend grad auf dem Schlauch da ich es immer noch nicht hinbekomme:

Habe jetzt das hier:
Code:
type tcontactitem = class
  private
    Fname: string;
  public
    property name: string read Fname write Fname;
end;

type
  Toutextract = class(TComponent)
  private
    FList : TList;
    function Getcontacts(Index: Integer): TContactItem;
    function GetCount: Integer;
    procedure Setcontacts(Index: Integer; const Value: TContactItem);
  public
    constructor create(AOwner: TComponent); override;
    destructor destroy;override;
    property contacts[Index : Integer]: TContactItem read Getcontacts write Setcontacts; default;
    property Count : Integer read GetCount;
  end;
Also
Code:
Komponente.contacts[i].name
klappt jetzt, leider aber auch
Code:
Komponente.contacts.name
Warum?

Ausserdem sollte
Code:
komponente.contacts.count
funktionieren, es geht natürlich nicht sondern nur
Code:
komponente.count
aber wo soll ich denn sonst diese Deklaration hintun? Ich will ja auch nicht
Code:
contacts[1].count
Danke für deine Geduld und Mühe
lkz633
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#16

Re: Komponenten-Entwcilung: xyz[i].name

  Alt 17. Jan 2004, 18:55
Zitat von lkz633:
Ausserdem sollte
Code:
komponente.contacts.count
funktionieren, es geht natürlich nicht
Das kann auch nicht funktionieren, da contacts vom Type Tcontactitem ist und Tcontactitem keine
Count property hat.

Zitat von lkz633:
Code:
Komponente.contacts.name
Warum das klappt ist mir schleierhaft.

Wenn Du Deinen Code komplett (also mit Methoden usw) posten würdest schau ich mir das noch einmal an.
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#17

Re: Komponenten-Entwcilung: xyz[i].name

  Alt 17. Jan 2004, 18:58
Zitat von Jens Schumann:
Zitat von lkz633:
Ausserdem sollte
Code:
komponente.contacts.count
funktionieren, es geht natürlich nicht
Das kann auch nicht funktionieren, da contacts vom Type Tcontactitem ist und Tcontactitem keine
Count property hat.
Genau dies will ich aber ja erreichen, deswegen meine ganzen Umwege mit einer zusätzlichen TContactList, da diese dann eine Count Eigenschaft hätte.

Ich würde also gerne sowohl

Code:
Komponnete.contacts[i].name;
als auch
Code:
Komponente.contacts.count
erreichen.

Geht dies dann gar nicht?

Gruss lkz633
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#18

Re: Komponenten-Entwicklung: xyz[i].name

  Alt 17. Jan 2004, 19:07
Hallo,
da Du keine Source rausrückst muss ich jetzt mit meinen Beispiel kommen

Delphi-Quellcode:
  TMyListItems = class;

  TMyListItem = class(TObject)
  private
    function GetCount: Integer;
  private
    FName: String;
    FMyListItems : TMyListItems;
  public
    constructor Create(MyListItems : TMyListItems);
    property Count : Integer read GetCount;
    property Name : String read FName write FName;
  end;

...

function TMyListItems.Add(const aName : String): TMyListItem;
begin
  Result:=TMyListItem.Create(Self);
  Result.Name:=aName;
  FList.Add(Result);
end;

...

function TMyListItem.GetCount: Integer;
begin
  If Assigned(FMyListItems) then
    Result:=FMyListItems.Count
    else
      Result:=-1; // Zeigt dass das TMyListItem in keiner Liste hängt
end;
Der Trick ist , in jedem TMyListItem sich den entsprechenden TMyListItems zu merken.
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#19

Re: Komponenten-Entwicklung: xyz[i].name

  Alt 17. Jan 2004, 19:13
Aber dann kann ich doch immer noch nicht contacts.count machen oder?

Hier mein Code(mehr hab ich seit 3 Stunden nicht zustandegebracht )

Code:
type tcontactitem = class
  private
    Fname: string;
  public
    property name: string read Fname write Fname;
end;


type
  Toutextract = class(TComponent)
  private
    FList : TList;
    function Getcontacts(Index: Integer): TContactItem;
    function GetCount: Integer;
    procedure Setcontacts(Index: Integer; const Value: TContactItem);
  public
    constructor create(AOwner: TComponent); override;
    destructor destroy;override;
    property contacts[Index : Integer]: TContactItem read Getcontacts write Setcontacts; default;
    property Count : Integer read GetCount;
   end;
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#20

Re: Komponenten-Entwicklung: xyz[i].name

  Alt 17. Jan 2004, 19:16
Hallo,
Du hast mich immer noch nicht verstanden. Ich möchte die komplette unit !!!
Auch den Code für die Methoden !!! D.h. ich möchte z.B. sehen wie Du den Setter Setcontacts realisiert hast. Damit das ganze mal richtig testen kann.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 12:46 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