AGB  ·  Datenschutz  ·  Impressum  







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

Property für Element eines Arrays

Ein Thema von HeikoAdams · begonnen am 4. Mai 2009 · letzter Beitrag vom 4. Mai 2009
Antwort Antwort
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#1

Property für Element eines Arrays

  Alt 4. Mai 2009, 09:31
Hallo,
ist es möglich, eine Property zu definieren, die auf ein bestimmtes Elemen eines Arrays zeigt?

Beispiel:
Delphi-Quellcode:
type
  TMyThread = class(TThread)
  private
    FListen: array of TStringList;
  public
    destructor Destroy; override;

    property Liste1: TStringList: read FListen[1] write FListen[1];
  protected
    constructor Create();
  end;
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

Re: Property für Element eines Arrays

  Alt 4. Mai 2009, 09:34
naja gehn wirds schon, aber wozu soll das gut sein?
Delphi-Quellcode:
private
  function GetElement: string;
public
  property MyStrings: TStringList read GetElement;

...

function MyClass.GetElement: string;
begin
  result := FMyStrings[1];
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#3

Re: Property für Element eines Arrays

  Alt 4. Mai 2009, 09:54
also gehen würde das auch so
Delphi-Quellcode:
property Liste[Index: Integer]: TStringList read GetListe;


function MyClass.GetListe(Index: Integer): TStringList;
begin
  result := FListen[Index];
end;
PS: READ reicht vollkommen, da nur die Objektinstanz zurückgegeben werden muß ... Änderungen kann man in der Liste selber ja vornehmen

und wenn unbedingt mit Setter, dann besser so,
denn sonst hast du ein süßes Speicherleck, da die schon enthaltene Listen-Variable einfach überschrieben, aber die enthaltene Instanz nicht freigegeben wird
Delphi-Quellcode:
property Liste[Index: Integer]: TStringList read GetListe write SetListe;


function MyClass.GetListe(Index: Integer): TStringList;
begin
  result := FListen[Index];
end;

Procedure MyClass.SetListe(Index: Integer; Liste: TStringList);
begin
  FListen[Index].Assign(Liste);
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Property für Element eines Arrays

  Alt 4. Mai 2009, 10:21
Zitat von Meflin:
naja gehn wirds schon, aber wozu soll das gut sein?
Ganz einfach: Die Nachfahren von TMyThread arbeiten alle mit mehreren TStringLists und ich möchte die Verwaltung der Listen im Ahnen steuern, um mir Arbeit in den Erben zu ersparen.
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  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 20: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