+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

LL_NUMERIC_INTEGER Felder werden mit Nachkommastellen ausgegeben


(Guest) #1

Mit LL_NUMERIC_INTEGER definierte Variablen werden in Berichtscontainern trotzdem mit zwei Nachkommastellen ausgegeben. In Textfeldern werden sie ohne Nachkommastellen ausgegeben.
Hier ein Bild][/url] davon:

Um][/url] das zu erreichen musste ich ll18db.pas wie folgt patchen, da sonst alle Integer als LL_NUMERIC definiert werden:

procedure TDBL18_.DefineFieldContent(bDummy: Integer; Source: TDataSource; i: Integer; var handled: Boolean; DefHandled: Boolean; SFieldName: TString; var para: Integer; var content: TString; bAsFields: Boolean); var BlobStream: TStream; BufferStream: TMemoryStream; sDummy: TString; const DigitBool: array[Boolean] of string = ('0', '1'); begin case Source.DataSet.Fields[i].DataType of ftInteger, ftsmallint, ftAutoInc, ftWord: {integer} begin para := LL_NUMERIC_INTEGER; {Flag null value} if Source.DataSet.Fields[i].IsNull then content := '(NULL)' else content := Source.DataSet.Fields[i].AsString; end; ftFloat: {numeric} begin para := LL_NUMERIC; {Flag null value} if Source.DataSet.Fields[i].IsNull then content := '(NULL)' else content := Source.DataSet.Fields[i].AsString; end; ftDate, ftDateTime: {date}

Tschüß Frank