Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   arctan(x) -> incompatible types (https://www.delphipraxis.net/161420-arctan-x-incompatible-types.html)

Noobmaster 3. Jul 2011 14:55

Delphi-Version: 5

arctan(x) -> incompatible types
 
Hallo!

Möchte eine Steigung in einen Steigungswinkel umrechnen.
Logischerweise: Winkel = arctan(m)

Folgender Code jedoch führt zur Fehlermeldung "incompatible types: got "extended", expected "LongInt", was ich nicht verstehe, da arctan ja eigentlich mit Kommazahlen rechnen können sollte...

Die Unit "math" ist eingebunden. Ich benutze Lazarus...

Delphi-Quellcode:
        m := Vektor.y / Vektor.x; //entspricht tan(alpha)
        Result := arctan(m);
        Result := RadToDeg(Result);
"RadToDeg" bringt die gleiche Fehlermeldung.

Danke schonmal für die Hilfe

blackfin 3. Jul 2011 14:58

AW: arctan(x) -> incompatible types
 
als was ist "m" und der Result der Funktion denn deklariert?

rollstuhlfahrer 3. Jul 2011 15:06

AW: arctan(x) -> incompatible types
 
Hast du sonst irgendwelche Units, die dir die Berechnung abnehmen (außer der Delphi-eigenen Math)?

Deine Beschreibung klingt sehr komisch, denn
a)
Delphi-Quellcode:
function ArcTan(X: Extended): Extended;
nimmt ArcTan ausschließlich Fließkommazahlen an und
b) ist LongInt ein signed 32bit-Integer, den Delphi implizit in Extended konvertieren kann.

ADD: Das müsste bei Lazarus eigentlich genau so sein.

Bernhard

Noobmaster 3. Jul 2011 15:12

AW: arctan(x) -> incompatible types
 
m ist vom Typ Real,
aber Result war aus Versehen ein Integer (habe als gedacht Real..)...
Da sucht man eine Ewigkeit nach Fehlern und dann ist es so was einfaches, sry...

rollstuhlfahrer 3. Jul 2011 15:18

AW: arctan(x) -> incompatible types
 
Zitat:

Zitat von Noobmaster (Beitrag 1109777)
m ist vom Typ Real,

Wäre es nicht sinnvoller, Single, Double oder Extended zu verwenden?

Bernhard

Noobmaster 3. Jul 2011 16:14

AW: arctan(x) -> incompatible types
 
Real entspricht doch meines Wissens nach Single oder Double...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 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