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