Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ordinaltyp erforderlich (https://www.delphipraxis.net/192546-ordinaltyp-erforderlich.html)

derseitzer 28. Apr 2017 11:41

Ordinaltyp erforderlich
 
Bei der Zeile (siehe unten) kommt die im Titel genannte Fehlermeldung.
Dummy1.RotationAngle.X sollte ein "Single" sein und Orientationsensor1.Sensor.HeadingZ sollte ein "double" sein..
Wenn ich das "round" weglasse, kommt die gleiche Fehlermeldung.. kann also nicht am round liegen.. wo liegt der Fehler?:/

Code:
Dummy1.RotationAngle.X := round([8*OrientationSensor1.Sensor.HeadingZ]);

Sherlock 28. Apr 2017 11:45

AW: Ordinaltyp erforderlich
 
Was soll die eckige Klammer? Das macht aus dem Wert eine Aufzählung.... oder war es eine Menge?

Sherlock

Michael II 28. Apr 2017 12:58

AW: Ordinaltyp erforderlich
 
Ein Tipp: Du musst nicht runden, ausser du willst es.

Du kannst also schreiben:
Dummy1.RotationAngle.X := 8*OrientationSensor1.Sensor.HeadingZ;

oder wenn du wirklich runden willst:
Dummy1.RotationAngle.X := round(8*OrientationSensor1.Sensor.HeadingZ);

(( Und die eckigen Klammern hast du evt. aus dem Beispielcode für den Orientationsensor - dort geht es aber um die Funktion format(..) und nicht um die Zahl selbst. ))

Double und Single sind einfach verschieden genaue Real-Typen.

Ich empfehle dir:
http://docwiki.embarcadero.com/RADSt...ormate_(Delphi)

Du kannst eine double Zahl einer single Zahl zuordnen, musst dir aber [je nach Anwendungszweck] evt. bewusst sein, was du dabei an Genauigkeit verlierst.

Beispiel:
Wenn du die Doublezahl d=-32.2424 einer single Zahl s zuordnest, dann wirst du sehen, dass die Nachkommastellen 2424 durch die single Zahl nicht genau abgebildet werden können.

Delphi-Quellcode:
var s : single;
    d : double;
begin
  d := -32.2424;
  s := d;

  showmessage(floattostr(s));
end;

Genau gleich:

Delphi-Quellcode:
var s : single;
begin
  s := -32.2424;

  showmessage(floattostr(s));
end;

Michael II 28. Apr 2017 13:14

AW: Ordinaltyp erforderlich
 
Nur noch kurz zu deiner Zuweisung:

Dummy1.RotationAngle.X := 8*OrientationSensor1.Sensor.HeadingZ;

Bist du sicher, dass das Sinn macht?

Auf der linken Seite hast du einen Winkel x und auf der rechten Seite den z Wert des Magneotmeter - Vektors (in MikroTesla).

Ein Beispiel im R^2=RxR: Wenn du einen Vektor v=(x,y) hast, dann kannst du nicht einfach den y Wert nehmen um den Winkel (v,x-Achse) zu bestimmen.

a.def 28. Apr 2017 13:40

AW: Ordinaltyp erforderlich
 
embarcadero.com:
Zitat:

Diese Seite enthält momentan noch keinen Text, du bist auch nicht berechtigt diese Seite zu erstellen. Du kannst ihren Titel auf anderen Seiten suchen oder die zugehörigen Logbücher betrachten.

Uwe Raabe 28. Apr 2017 13:49

AW: Ordinaltyp erforderlich
 
Zitat:

Zitat von a.def (Beitrag 1369399)

Es ist offenbar schwierig, bei den Links die schließende Klammer mit aufzunehmen. Das ist jetzt in kurzer Zeit das zweite Mal, daß sowas passiert.

Michael II 28. Apr 2017 14:15

AW: Ordinaltyp erforderlich
 
Hey Uwe und a.def - Danke fürs Melden! :thumb:

Ganz offensichtlich setzt das delphipraxis.net Skript die abschliessende URL Klammer nicht korrekt, wenn man selbst keine einfügt.

Ich mein damit... wenn ich eine URL schreibe und Vorschau klicke, dann ergänzt das Skript automatisch die URL Brackets. Dabei wir die abschliessende Klammer vom Skript falsch gesetzt, wenn ide Adresse mit dem Zeichen ) endet. Die Klammer ) fällt hinter die abschliessende URL Klammer.

Es wäre gut, wenn das ans Quality Portal von delphipraxis.net gemeldet würde. Ich finde den Link gerade nicht.

Hier noch einmal der Link auf double, single und Co, dieses Mal mit korrekter abschliessender Klammer.

http://docwiki.embarcadero.com/RADSt...rmate_(Delphi)

ganz brav via den schönen ToolButton gesetzt.

Sherlock 28. Apr 2017 14:20

AW: Ordinaltyp erforderlich
 
Mich würde jetzt mal interessieren, obs das weglassen der eckigen Klammern nun gelöst hat, oder nicht.

Sherlock

Sherlock 2. Mai 2017 14:52

AW: Ordinaltyp erforderlich
 
Schade... ist wohl keine Antwort wert.

Sherlock


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