TBACurrency¶
A currency attribute
Unit: BoldAttributes
Declaration¶
Hierarchy¶
- TObject
TBoldMemoryManagedObjectTBoldFlaggedObject- TBoldSubscribableObject
- TBoldElement
- TBoldDomainElement
- TBoldMember
- TBoldAttribute
- TBANumeric
- TBACurrency
Description¶
This attribute uses the delphi Currency type to represent a decimal point value. The advantages of Currency is better handling of rounding-effects in monetary calculations. It is stored as a 64-bit integer with the last 4 decimal digits representing decimal places.
Properties¶
| Name | Summary | Notes |
|---|---|---|
| AsCurrency | ||
| AsFloat | ||
| AsInteger |
AsCurrency¶
This is the native delphi represenation of the currency value, it is both read- and writeable.
AsFloat¶
This property is the currency value converted to a delphi float (double). It can be both read and written. Writing this property may introduce unwanted rounding effects.
AsInteger¶
This property is only writeable, since reading this property would loose all the decimals. If you want the integer value of a TBACurrency, you should use round(AsCurrency) or trunc(AsCurrency).
Methods¶
| Name | Summary | Notes |
|---|---|---|
| Assign | override | |
| AssignContentValue | protected, override | |
| AssignValue | override | |
| CanSetValue | ||
| CompareToAs | override | |
| GetAsCurrency | protected | |
| GetAsFloat | protected, override | |
| GetAsVariant | override | |
| GetStringRepresentation | protected, override | |
| MaySetValue | Override to affect the result of CanSetValue . | protected, virtual |
| ProxyClass | protected, override | |
| ProxyInterface | override | |
| SetAsCurrency | protected | |
| SetAsFloat | protected, virtual | |
| SetAsInteger | protected, override | |
| SetAsVariant | override | |
| SetStringRepresentation | protected, override | |
| ValidateCharacter | override | |
| ValidateString | override |
Assign¶
This will copy the numeric value of any TBANumeric subclass (using the AsCurrency value if the source is a TBACurrency).
AssignContentValue¶
AssignValue¶
CanSetValue¶
Use this function to test if it is allowed to set the attribute to a specific value.
If a subscriber is sent to the function, this subscriber will be notified if the conditions have changed (so that an illegal value is now legal). It is OK to send a nilpointer instead.
CompareToAs¶
function CompareToAs(CompType: TBoldCompareType; BoldElement: TBoldElement): Integer; override; See also Ancestor Method
This will compare the numeric values of the TBACurrency itself and the compare element.
These are the result codes:
self.AsCurrency < BoldElementreturns -1self.AsCurrency = BoldElementreturns 0self.AsCurrency > BoldElementreturns 1
If BoldElement is a TBACurrency, the AsCurrency (or subclass) will be used when comparing. If BoldElement is a TBAFloat (or subclass), the AsFloat property will be used.
GetAsCurrency¶
GetAsFloat¶
GetAsVariant¶
GetStringRepresentation¶
function GetStringRepresentation(Representation: TBoldRepresentation): string; override; See also Ancestor Method
MaySetValue¶
A subclass of TBACurrency may override this method to prohibit setting the attribute to a specific value. If the result value is false, the setting will be aborted. If it is true, there may still be other reasons why the changing of the value is not allowed.
ProxyClass¶
ProxyInterface¶
function ProxyInterface(const IId: TGUID; Mode: TBoldDomainElementProxyMode; out Obj): Boolean; override; See also Ancestor Method
SetAsCurrency¶
SetAsFloat¶
SetAsInteger¶
SetAsVariant¶
SetStringRepresentation¶
procedure SetStringRepresentation(Representation: TBoldRepresentation; Value: string); override; See also Ancestor Method
ValidateCharacter¶
function ValidateCharacter(C: AnsiChar; Representation: TBoldRepresentation): Boolean; override; See also Ancestor Method
Returns True if C is one of '0'..'9', '-', '+', 'e', 'E' or the decimal separator as specified by the OS.
ValidateString¶
function ValidateString(Value: string; Representation: TBoldRepresentation): Boolean; override; See also Ancestor Method
Returns true if the string can be converted to a currency. The method uses Delphi's internal routines to determine this.
Generated from the Bold 4.0 help (Help/BfD.chm) by Tools/chm2mkdocs.py; member lists reflect Bold 4.0, see the source for members added since.