Autor Beitrag
Nait
Hält's aus hier
Beiträge: 10



BeitragVerfasst: So 26.09.10 19:20 
Hallo Leute,

zuerst einmal: Wenn es ne Unit für dreidimensionale Vektoren gibt, sagt das bitte gleich, dann kann ich mir Arbeit sparen ^^

In jedem Fall würde mich aber interessieren, wie man für seine Klassen Standarteigenschaften definiert. Sodass ich zum Beispiel bei
ausblenden Delphi-Quelltext
1:
2:
3:
4:
TVektor = class(TObject)
public
  Koordinaten: Array[0..2of Integer;
end;

die Koordinaten über zwei Möglichkeiten aufrufen kann:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var 
  Vektor: TVektor;

procedure DoSomething;
begin
  Vektor.Koordinaten[0] := 18//gleichbedeutend mit
  Vektor[0] := 18;
end:


Sowas gibt es bei manchen vordefinierten Klassen und ich wollte wissen, ob man das (und wie) selbst festlegen kann.
glotzer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 393
Erhaltene Danke: 49

Win 7
Lazarus
BeitragVerfasst: So 26.09.10 19:25 
ausblenden Delphi-Quelltext
1:
2:
type
     TVector = Array[0..2of Integer;


dann geht halt NUR die 2.
Tryer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 226
Erhaltene Danke: 7



BeitragVerfasst: So 26.09.10 19:41 
Ungetestet nach langer Abstinenz aus der hohlen Rübe:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
type
  TCoordRange = 0..2;
  TCoords = array[TCoordRange] of Integer;

  TVektor = class
  private
   FCoords: TCoords;
  public
    property Coords[Index: TCoordRange]: Integer read GetCoord write SetCoord; default;
  end;


Codeverfollständigung von TVektor mit Ctrl-Shift-C sollte dann den Rest erklären.

Grüsse, Dirk

Für diesen Beitrag haben gedankt: Nait
Nait Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: So 26.09.10 20:18 
Danke Tryer, so passts ^^