AGB  ·  Datenschutz  ·  Impressum  







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

Komponente property index

Ein Thema von SvB · begonnen am 3. Mai 2007 · letzter Beitrag vom 3. Mai 2007
Antwort Antwort
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Komponente property index

  Alt 3. Mai 2007, 10:32
Hallo,

bin gerade dran mir selbst eine Komponente zu schreiben und habe in verschiedenen Quellcodes folgendes gesehen

    property Cut: Boolean index 0 read GetState write SetState; Für was ist dieses "index 0" denn genau. Habe irgendwie keine Dokumentation gefunden, wo das erklärt wird. Würde mich interessieren, für was das gut ist.

Danke Sven
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Komponente property index

  Alt 3. Mai 2007, 10:43
Mit dem Index kann man mehrere Properties über ein und dieselbe Getter/Setter-Funktion lesen/schreiben.

Zitat von Die Delphihilfe ©Borland:
Indexbezeichner
Mithilfe von Indexbezeichnern können mehrere Eigenschaften dieselbe Zugriffsmethode verwenden, auch wenn sie unterschiedliche Werte repräsentieren. Indexbezeichner bestehen aus der Direktive index und einem Integer-Wert zwischen -2.147.483.647 und 2.147.483.647. Bei Eigenschaften mit Indexbezeichnern muss auf die Direktiven read und write eine Methode (kein Feld) folgen. Zum Beispiel:
Delphi-Quellcode:
 type
   TRectangle = class
     private
       FCoordinates: array[0..3] of Longint;
       function GetCoordinate(Index: Integer): Longint;
       procedure SetCoordinate(Index: Integer; Value: Longint);
     public
       property Left: Longint index 0 read GetCoordinate write SetCoordinate;
       property Top: Longint index 1 read GetCoordinate write SetCoordinate;
       property Right: Longint index 2 read GetCoordinate write SetCoordinate;
       property Bottom: Longint index 3 read GetCoordinate write SetCoordinate;
       property Coordinates[Index: Integer]: Longint read GetCoordinate write SetCoordinate;
       ...
   end;
Eine Zugriffsmethode für eine Eigenschaft mit einem Indexbezeichner benötigt einen zusätzlichen Wert-Parameter vom Typ Integer. Bei einer read-Funktion muss dies der letzte, bei einer write-Prozedur der vorletzte Parameter sein. Diese Konstante (der Index) wird beim Zugriff auf die Eigenschaft automatisch an die Zugriffsmethode übergeben.

Wenn Rectangle ein Objekt der zuvor deklarierten Klasse TRectangle ist, dann ist die Anweisung
Rectangle.Right := Rectangle.Left + 100; mit der folgenden Anweisung identisch:
Rectangle.SetCoordinate(2, Rectangle.GetCoordinate(0) + 100);
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Komponente property index

  Alt 3. Mai 2007, 11:02
Alles klar, das habe ich im Quellcode irgendwie nicht beachtet, dass es die selben Getter-Setter sind.
Ich hatte gedacht, das ist vielleicht irgendeine Sortierung für den Objektinspektor

Danke Sven
  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 11:41 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