summaryrefslogtreecommitdiff
path: root/packages/rtl-objpas/src/inc/fmtbcd.pp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/rtl-objpas/src/inc/fmtbcd.pp')
-rw-r--r--packages/rtl-objpas/src/inc/fmtbcd.pp22
1 files changed, 11 insertions, 11 deletions
diff --git a/packages/rtl-objpas/src/inc/fmtbcd.pp b/packages/rtl-objpas/src/inc/fmtbcd.pp
index f26041d984..293bc346fc 100644
--- a/packages/rtl-objpas/src/inc/fmtbcd.pp
+++ b/packages/rtl-objpas/src/inc/fmtbcd.pp
@@ -797,10 +797,12 @@ INTERFACE
{$endif}
function __get_null : tBCD; Inline;
+ function __get_zero : tBCD; Inline;
function __get_one : tBCD; Inline;
PROPERTY
NullBCD : tBCD Read __get_null;
+ ZeroBCD : tBCD Read __get_zero;
OneBCD : tBCD Read __get_one;
//{$define __lo_bh := 1 * ( -( MaxFmtBCDFractionSize * 1 + 2 ) ) }
@@ -887,16 +889,20 @@ IMPLEMENTATION
OneBCD_ : tBCD;
function __get_null : tBCD; Inline;
-
begin
__get_null := NullBCD_;
- end;
+ end;
- function __get_one : tBCD; Inline;
+ function __get_zero : tBCD; Inline;
+ begin
+ __get_zero := NullBCD_;
+ __get_zero.Precision := 1;
+ end;
+ function __get_one : tBCD; Inline;
begin
__get_one := OneBCD_;
- end;
+ end;
type
range_digits = 1..maxfmtbcdfractionsize;
@@ -1584,7 +1590,7 @@ IMPLEMENTATION
begin
_SELECT
_WHEN aValue = 0
- _THEN result := NullBCD;
+ _THEN result := ZeroBCD;
_WHEN aValue = 1
_THEN result := OneBCD;
_WHEN aValue = low ( myInttype )
@@ -4130,12 +4136,6 @@ begin
else { array or something like that }
not_implemented;
end;
- // peephole, avoids problems with databases, mantis #30853
- if (Result.Precision = 0) and (Result.SignSpecialPlaces = 0) then
- begin
- Result.Precision := 10;
- Result.SignSpecialPlaces := 2;
- end;
end;
function VarToBCD ( const aValue : Variant ) : tBCD;