Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Eigene Operatoren definieren? (https://www.delphipraxis.net/142727-eigene-operatoren-definieren.html)

himitsu 2. Nov 2009 20:18

Re: Eigene Operatoren definieren?
 
gute Frage ... FreePascal scheint es zu können ...
http://community.freepascal.org:1000...forum_id=24084

sirius 2. Nov 2009 20:38

Re: Eigene Operatoren definieren?
 
Zitat:

Zitat von himitsu
Class Operator für Klassen und Interfaces bekommt man auch hin ... man muß nur ein bissl Arbeit reinstecken :angel2:

--> TCustomVariantType :mrgreen:

himitsu 2. Nov 2009 20:54

Re: Eigene Operatoren definieren?
 
TCustomVariantType ist aber nur 'ne Verwaltungsklasse für einen eigenen "Variant"-Typen

und Variants sind schon ganz schön große "Records".

Aber man bekommt ein Objekt auch so mit Operatoren versehn, so daß es auch noch wie ein eigenständiges/normales Objekt reagieren kann.

Teekeks 2. Nov 2009 20:56

Re: Eigene Operatoren definieren?
 
Hmmm, ich hab jetzt das
Delphi-Quellcode:
operator + (a,b:integer ):string;//da bleibt er stehen
implementation
operator + (a,b:integer ):string;
begin
  result:=inttostr(a+b);
end;
Aber ich bekomme gesagt:
Zitat:

unit1.pas(20,33) Error: Impossible operator overload
Warum?

Gruß Teekeks
[Edit]
Das hier steht in der Graphmath.pp von lazarus:
Delphi-Quellcode:
Operator + (Addend1, Addend2 : TFloatPoint) : TFloatPoint;
implementation
Operator + (Addend1, Addend2 : TFloatPoint) : TFloatPoint;
begin
// irgendwas
end;
Also scheint die Syntax korrekt zu sein... :gruebel:

mkinzler 2. Nov 2009 21:02

Re: Eigene Operatoren definieren?
 
Delphi-Quellcode:
operator + (a,b:integer ) Result: Integer;
Das Ergebnis ist natürlich vom selben Typ

sirius 2. Nov 2009 21:02

Re: Eigene Operatoren definieren?
 
Zitat:

Zitat von himitsu
Aber man bekommt ein Objekt auch so mit Operatoren versehn, so daß es auch noch wie ein eigenständiges/normales Objekt reagieren kann.

Aber nicht in D7 :)

himitsu 2. Nov 2009 21:03

Re: Eigene Operatoren definieren?
 
hast du dir mal den Link in #11 angesehn?
(vorallem die Antwort ... weil das war genau das gleiche Problem)

[add]
nee, ab D2006 (@sirius)

Teekeks 2. Nov 2009 21:12

Re: Eigene Operatoren definieren?
 
@himitsu: hab ich und geht nicht...

Und in der graphmath.pp steht auch folgendes:
Delphi-Quellcode:
Operator + (Addend1 : TFloatPoint; Addend2 : Extended) : TFloatPoint;
implementation
Operator + (Addend1 : TFloatPoint; Addend2 : Extended) : TFloatPoint;
begin
// irgentwas
end;
Also sollte die Syntax korrekt sein. (die genannte Unit gehört zur LCL)

himitsu 2. Nov 2009 21:28

Re: Eigene Operatoren definieren?
 
probier einfach mal "add" statt "+"

Teekeks 2. Nov 2009 21:38

Re: Eigene Operatoren definieren?
 
Hmmm, neee ich hab gerade den Fehler gefunden:
Es muss ein selbst-definierter Type sein!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 Uhr.
Seite 2 von 3     12 3      

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