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
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.120 Beiträge
 
Delphi 11 Alexandria
 
#1

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

  Alt 17. Jan 2004, 16:25
Moin lkz,

ist halt die Frage, ob xyz bei Dir wiederum ein Objekt, oder einfach nur ein Recordtyp sein soll.
In jedem Falle müsstest Du wohl ein (dynamisches) Array für xyz vorsehen

Beispiel:

Delphi-Quellcode:
type
  TMyRecord = packed record
    name : string;
    id : integer;
  end;

  TMyComponent = class(TObject)
  private
    FMyList : array of TMyRecord;
      function Getxyz(index: integer): TMyRecord;
      procedure Setxyz(index: integer; const Value: TMyRecord);
  public
    constructor Create;
    procedure Add(const AsName : string;AiId : integer);
    property xyz[index : integer] : TMyRecord read Getxyz write Setxyz;
  end;

implementation

{$R *.DFM}

{ TMyComponent }

procedure TMyComponent.Add(const AsName: string; AiId: integer);
begin
  SetLength(FMyList,length(FMyList)+1);
  FMyList[high(FMyList)].name := AsName;
  FMyList[high(FMyList)].Id := AiId;
end;

constructor TMyComponent.Create;
begin
  inherited;
  SetLength(FMyList,0);
end;

function TMyComponent.Getxyz(index: integer): TMyRecord;
begin
  Result := FMyList[index];
end;

procedure TMyComponent.Setxyz(index: integer; const Value: TMyRecord);
begin
  FMyList[index] := Value;
end;
Das Beispiel enthält keinerlei Sicherheitsprüfungen (Index), und das Array immer um einen Wert zu vergrössern, ist auch nicht besonders geschickt, aber es zeigt einen Weg auf, wie es grundsätzlich machbar wäre.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 06:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz