AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Generische Array-Propertys

Ein Thema von zappa2 · begonnen am 23. Feb 2021 · letzter Beitrag vom 23. Feb 2021
Antwort Antwort
zappa2

Registriert seit: 12. Apr 2015
8 Beiträge
 
#1

Brett vorm Kopf

  Alt 23. Feb 2021, 11:46
Heureka, man ich hatte ja so ein Brett vorm Kopf

Klar, es muss natürlich einmal noch ein simpler Setter/Getter pro benutztem Array geschrieben werden.

Mann, wie kann man nur
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.075 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Generische Array-Propertys

  Alt 23. Feb 2021, 11:49
Ah, du hast die Antwort schon selber gefunden.

Aber falls der Nächste in achtdreiviertel Jahren beim Googlen hier lang kommt:

Obigen Code aus meiner Antwort ergänzen mit:
Delphi-Quellcode:
type
  TTest = class
  private
    aStr: TAStr;
    aInt: TAInt;
  public
    constructor Create;
    destructor Destroy; override;
    function GetInteger(const Index: Integer): Integer;
    function GetString(const Index: Integer): String;
    procedure SetInteger(const Index, Value: Integer);
    procedure SetString(const Index: Integer; const Value: String);
  published
    property s0: String index 0 read GetString write SetString;
    property i0: Integer index 0 read GetInteger write SetInteger ;
  end;

...

constructor TTest.Create;
begin
  inherited;
  aStr := TAStr.Create;
  aInt := TAInt.Create;
end;

destructor TTest.Destroy;
begin
  aStr.Free;
  aInt.Free;
  inherited;
end;

function TTest.GetInteger(const Index: Integer): Integer;
begin
  Result := Self.aInt.i0;
end;

function TTest.GetString(const Index: Integer): String;
begin
  Result := Self.aStr.s0;
end;

procedure TTest.SetInteger(const Index, Value: Integer);
begin
  Self.aInt.i0 := Value;
end;

procedure TTest.SetString(const Index: Integer; const Value: String);
begin
  Self.aStr.s0 := Value;
end;
Delphi-Quellcode:
procedure TestTest;
var
  MyTest: TTest;
begin
  MyTest := TTest.Create;
  MyTest.s0 := 'Huhu';
  MyTest.i0 := 123;
  Writeln(MyTest.s0);
  Writeln(MyTest.i0);
  MyTest.Free;
end;

Geändert von TiGü (23. Feb 2021 um 11:59 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:16 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-2025 by Thomas Breitkreuz