Lade...
 

CX_VALUE_PER - Bereichs-Wert

CX_VALUE_PER

Klassenhierarchie
Beschreibung:

Die Klasse erlaubt es, einen Wert an einen anderen Wert zu koppeln. Dieses ist üblicherweise bei Preisangaben, wie z.B. "10 DM pro 5 STÜCK", der Fall. Rechenoperationen sind nur dann möglich, falls sich das andere Objekt auf die gleiche Bezugsgröße richtet.

Code-Beispiel:
...

 

Darstellung am Bildschirm

Zur Darstellung von Objekten dieser Klasse existieren folgende Möglichkeiten:

1. Verwendung eines Oberflächenobjektes vom Typ String. In diesem Fall wird das Objekt in einem einzigen Eingabefeld angegeben. Dabei werden die beiden Werte ("Zähler" und "Nenner") durch den im System definierten Trenner für Brüche getrennt eingegeben bzw. angezeigt wie z.B. in der folgenden Abbildung (Programmcode):     

dvalp1.gif

2. Die Verwendung von zwei Oberflächenobjekten vom Typ String, wobei in dem einen Feld der "Zähler" und in dem anderen der "Nenner" eingegeben wird (Programmcode):    

dvalp2.gif

Anmerkung:   Da die Bestandteile eines Bereichs-Wertes Werte sind, gelten für diese die entsprechenden Ein- und Ausgabemöglichkeiten. D.h., dass z.B. der Zähler über zwei Oberflächenobjekte angesprochen werden kann, wobei das eine für die Zahl und das andere für die Einheit zuständig ist.

Verhalten bei Put

Wird der Wert eines CX_VALUE_PER-Objekts mit einem String gesetzt, gelten folgende Regeln:

  • Existiert kein Nenner, wird der bestehende Nenner auf 1 gesetzt. Die Einheit im Nenner wird nicht verändert.
    Die Präzision im Nenner wird auf die gerade eingestellte System-Präzision gesetzt.
    223665 wird die Präzision im Nenner nicht mehr verändert, da das Verhalten nicht zum Verhalten beim Import von "#x/y" gepasst hat.
  • Existiert kein Zähler (Bsp: "/3kg"), dann wird der Zähler mit "0" importiert (Einheit bleibt erhalten) und der Nenner mit "3kg".
  • Die Präzision des Zählers bleibt erhalten.
  • Die Präzision des Nenners bleibt erhalten, wenn der String einen Nenner enthält.
  • Der Import von Nenner und Zähler wird auf das Verhalten von Put auf CX_VALUE zurückgeführt.
    Achtung: Im Unterschied zum Import von CX_VALUE werden numerische Werte immer mit voller Präzision importiert. Bei CX_VALUE bestimmt die im Objekt gesetzte Präzision die Anzahl der Nachkommastellen, die importiert werden.
  • Der Import eines Leerstrings ist äquivalent zum Import von "0/1"
Operatoren
Operator Kurzbeschreibung
+, -, *, /   Arithmetik
+=, -=, *=, /=   Arithmetik
>, <, =   Vergleiche

 

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
abs     OBJECT Wert ohne Vorzeichen
Denominator     OBJECT Rückgabe des Nenners
Get1Value     OBJECT Rückgabe: Wert mit Nenner 1 und Zähler 1
GetFraction     OBJECT Wert in Bruchzahl-Form
GetNumeric     OBJECT Rückgabe: Objekt als reelle Zahl 
GetValue     OBJECT Rückgabe: Objekt als Wert 
Numerator     OBJECT Rückgabe des Zählers
NumericNumeratorMA *   OBJECT Rückgabe des Zählers als CX_NUMERIC
Reciprocal     OBJECT Kehrwert bilden
RoundAutomatically     OBJECT Runden der Zahl mit der Präzision, die sich aus der Einheit ergibt
RoundByPrecision       Runden mit aktueller Präzision
SetValuePer
231532
  STRING, INTEGER   Bereichswert aus der Zeichenkette importieren
UnitNumeratorMA *   STRING Rückgabe der Einheit des Zählers als STRING
Add   CX_AMOUNT CX_AMOUNT Operator + als Funktion
AddAssign   CX_AMOUNT   Operator += als Funktion
AdjustPrecision       Anpassen der Genauigkeit des Zählers
Amount     OBJECT Rückgabe des Objektswertes
AmountWeak   CX_AMOUNT    
Autoformat   INTEGER, INTEGER CX_AMOUNT Liefert ein, entsprechend der gegeben Anzahl von Vor- und Nachkommastellen, formatiertes Objekt zurück (nur bei CX_VALUE oder abgeleiteten Klassen, sonst das Objekt selbst).
DivAssign   CX_AMOUNT   Operator /= als Funktion
Divide   CX_AMOUNT CX_AMOUNT Operator / als Funktion
IsZero     INTEGER Zahl auf Null testen
MulAssign   CX_AMOUNT   Operator *= als Funktion
Multiply   CX_AMOUNT CX_AMOUNT Operator * als Funktion
Precision *     Verändern der Genauigkeit des Zählers
PrecisionAdjusted     OBJECT wie AdjustPrecision, nur mit Rückgabe des Objektes 
Rounded   (INTEGER)    
SetNumeric   STRING, INTEGER   Zähler als CX_NUMERIC aus der Zeichenkette importieren
SetPrecision   (INTEGER)   Anzahl an Nachkommastellen für den Zähler setzen
SetValue   STRING, INTEGER   Zähler als CX_VALUE aus der Zeichenkette importieren
SetZero       Zahl auf Null setzen
string   INTEGER CX_STRING Liefert die String-Darstellung des Objektes
SubAssign   CX_AMOUNT   Operator -= als Funktion
Subtract   CX_AMOUNT CX_AMOUNT Operator - als Funktion
Unit *     Ein-/Ausgabesteuerung der Einheit des Zählers
ValueNumeratorMA *     Zugriff auf Zähler-Value

* MA = Member-Access-Funktion

 

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
this CX_VALUE     Der Wert
val CX_VALUE     Der Bezugswert bzw. Nenner
denominator CX_VALUE     wie 'val'

* I = Indizierbares Datenfeld

 

Verwendung in AppsWH
Modul Kurzbeschreibung