-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
18. Okt 2018
@Kodezwerg
Nope, da sind nur zwei Tippfehler hier im Forum drinn, im Quelltext is alles richtig geschrieben.
Außerdem würde da der Compiler auch Meckern. :)
Die Fehlermeldung ist:
"Bezeichner neu deklariert TGewicht.Implicit !"
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
17. Okt 2018
:gruebel:Öhmm.....jup.....nochmal getestet...nu tuts.....komisch.
Am Rande
Type
TGramm = -xxxxxx .. xxxxxx
usw.
TGewicht = record
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
17. Okt 2018
Ganz einfach.
Bei "private const" stehen die Konstanten nur in einer konkreten Instanz (sprich Variable) zur Verfügung.
Folglich (und das hat mir der Delphi-Compiler recht deutlich mitgeteilt) kann man sie so nicht in den
Operatoren verwenden.
Also hab ich mir ein Beispiel an Emba genommen und das ganze wie oben umgesetzt. Damit kann ich die Konstanten auch in den Operatoren verwenden.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
16. Okt 2018
@TiGü
Wie ich bereits, gefühlte 1000 mal geschrieben hab, ist das ein Beispiel. Ob du nun Gewichte, Zeit, Längen oder Engström nutzt ist fürs prinzipielle Vorgehen relativ wurscht.
@freimatz
Nein, da es kein "class const" gibt. Um die umrechnerei in den Class Operatoren unter zu kriegen, muss man den Umweg über "class var" in Verbindung mit dem Class Constructor gehen. Emba hats in...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
16. Okt 2018
Ich hab den Vorschlag von Uwe Raabe mal aufgegriffen und das ganze testhalber mal wie folgt
aufgebaut:
TYPE
TGramm = -9223372036854775807..9223372036854775807;
TKilo = -9223372036854775..9223372036854775;
TTonne = -9223372036854..9223372036854;
TMegat = -9223372036..9223372036;
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
15. Okt 2018
Jain.
Int64 hat, wie double auch, 64-Bit. Sein Ganzzahliger Wertebereich ist aber größer als der von Double. Dafür kann ich den kleineren Wertebereich von Double genauer auflösen. Alternativ kann man auch Extended verwenden, der dann 80 Bit(32-Bit win) hat und noch genauer auflöst.
Ob man nun Fließkomma oder Ganzzahlige Werte benutzt, kommt auf den Context an. u.U. ist auch eine Festkomma...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
12. Okt 2018
Jain. Ich denke ich hab mich da ein wenig zu Umgangssprachlich ausgedrückt. :)
Die Maßeinheiten Gramm und Kilogramm bezeichnen letztlich ein Gewicht. Der Unterschied besteht hier nur in der Granulierung oder dem Faktor mit Bezug zu den anderen Einheiten bei Gewichten.
Und richtig, es wurde ein Beispiel für die Impelentierung mit einem Typen genannt.
Leider konnte mir bisher keiner...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
12. Okt 2018
@Schokohase
Mein Post bezog sich insbesondere auf diese Aussage:
und die ist schlicht . :)
Klar sind 1000g = 1Kg ABER] 1000g <> 1000Kg <> 1000m <> 1000V
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
12. Okt 2018
Ok, einigen wir uns darauf, das es alles Gewichtsmaßeinheiten sind. Aber es sind sehr wohl unterschiedliche Maßeinheiten für Gewicht. Ansonsten wäre 1 kg = 1 g = 1ng.
Du wirst mir aber sicher zustimmen, das es sehr wohl einen Unterschied macht, ob dir 100 g oder 100 t auf den Kopf fallen.
@Jumpy
Bin ich voll bei dir, was die Objekte betrifft, aber die mögen in Delphi nunmal keine...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
12. Okt 2018
Das mit der direkten Zuweisung von verschiedenen Maßeinheiten ist eher Kontraproduktiv. Den dann wärs ja wieder möglich, bei Verwendung als Methoden-Parameter, bei Gramm, Kilogramm zu übergeben.
Das läst sich aber umgehen, in dem man statt Implizierter Typumwandlung die Explizite Variante wählt.
Was mich allerdings irretiert ist, wo der Vorteil liegen soll, das ganze in einem Typ zu...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
11. Okt 2018
Ich glaub ich hab dich da schon richtig verstanden. Klar kann ich das umrechnen (von T in kg oder g). Wenn es aber keine T gibt (aus welchen Gründen auch immer), dann kann das Tuwas nicht unterscheiden.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
11. Okt 2018
@Schokohase
Und wie stellst du sicher, das an Tuwas keine Tonnen übergeben werden, weil z.B. kein Preis dafür definiert ist ?
@Uwe
Naja...im Prinzip ists das gleiche, wenn ich alles in einen Typen reinschiebe. Außer das ich alles in einem Typen hab (der verdammt groß wird) hätte ich nicht wirklich was gewonnen. Die ganze Operator-Kombinationen müsst ich ja genauso implementieren und...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
11. Okt 2018
hmm...ok..mit Type of macht es zumindest schon mal keine Probleme bei überladenen Methoden.
Aber wie bastel ich dann entsprechende Operatoren ?
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
11. Okt 2018
Soweit schon richtig.
Und was machst du wenn Tuwas nur Gramm und Kilogramm verarbeiten soll nicht aber Tonnen oder Milligram ?
Wie ich grad oben erweitert hab, kann Tuwas das ganze nicht unterscheiden.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
11. Okt 2018
und woher weis Tuwas, was er nun übergeben bekommen hat ? :)
Wenn die Methode nur mit bestimmte Einheiten arbeiten soll, hab ich hier nur die Möglichkeit, das über einen weiteren Parameter (nämlich die Einheit) und unterscheidet dann diese innerhalb der Methode.
oder
Es gibt für die entsprechenden Einheiten, entsprechende Überladungen.
hmmmm...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
11. Okt 2018
Genaugenommen gibts 2:
1. Beispiel
Procedure Tuwas(const gramm:integer);overload;
Procedure Tuwas(const kilogram:integer);overload;
das tut so nicht, da der Compiler meint es wären die gleichen Parameter.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Ghostwalker,
11. Okt 2018
Moinmoin,
da hier Unittests generieren die Frage aufgekommen ist, ob das Konzept, das als eigene Typen zu implementieren, stell ich hier mal die Frage nach Alternativen (schließlich kann auch ein SE mal irren).
Dabei ist das ganze als Grundstock für ein größeres Bibleotheks-Projekt gedacht. Dabei gibts natürlich einige Anforderungen:
1. Die einzelnen Typen sollen sicher und eindeutig...