From ac2cd091e9242d4c6d329e928138e1a1b16cd9f5 Mon Sep 17 00:00:00 2001 From: joost Date: Sun, 2 May 2010 16:26:41 +0000 Subject: [PATCH] * Patch from Ladislav Karrach (Lacak2) to implement TBooleanField.AsInteger, bug #14751 git-svn-id: trunk@15206 - --- packages/fcl-db/src/base/db.pas | 2 ++ packages/fcl-db/src/base/fields.inc | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/packages/fcl-db/src/base/db.pas b/packages/fcl-db/src/base/db.pas index 382b797681..3abb6bd26e 100644 --- a/packages/fcl-db/src/base/db.pas +++ b/packages/fcl-db/src/base/db.pas @@ -664,10 +664,12 @@ type function GetAsBoolean: Boolean; override; function GetAsString: string; override; function GetAsVariant: variant; override; + function GetAsInteger: Longint; override; function GetDataSize: Integer; override; function GetDefaultWidth: Longint; override; procedure SetAsBoolean(AValue: Boolean); override; procedure SetAsString(const AValue: string); override; + procedure SetAsInteger(AValue: Integer); override; procedure SetVarValue(const AValue: Variant); override; public constructor Create(AOwner: TComponent); override; diff --git a/packages/fcl-db/src/base/fields.inc b/packages/fcl-db/src/base/fields.inc index d0ccae92ce..bc90310ac3 100644 --- a/packages/fcl-db/src/base/fields.inc +++ b/packages/fcl-db/src/base/fields.inc @@ -1920,6 +1920,19 @@ begin Result:=Length(FDisplays[false,True]); end; +function TBooleanField.GetAsInteger: integer; +begin + if GetAsBoolean then + Result:=1 + else + Result:=0; +end; + +procedure TBooleanField.SetAsInteger(AValue: Integer); +begin + SetAsBoolean(avalue<>0); +end; + procedure TBooleanField.SetAsBoolean(AValue: Boolean); var b : wordbool;