Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Formatierte numerische Ausgabe von Datensätzen (https://www.delphipraxis.net/66138-formatierte-numerische-ausgabe-von-datensaetzen.html)

hsbc 25. Mär 2006 13:40

Datenbank: Firebird • Version: 1.5.3 • Zugriff über: ZEOS

Formatierte numerische Ausgabe von Datensätzen
 
Hallo allerseits,

Ich lese meine Datensätze in TDBEdit-Felder bzw. in ein TDBGrid. Die Ausgabe eines NUMERIC(12,2) - Feldes von Firebird bringt mir z.B. den Wert 12345 und nicht 12345,00 bzw. 12.345,00 wie ich es gerne hätte.

Ich suche vergeblich nach einem DisplayFormat im DBGrid bzw. DBEdit - Gibt es das nicht bzw. wie kann man sonst noch eine formatierte Ausgabe von numerischen Werten erzielen?

Kann man vielleicht in der Datenbank schon einstellen, wie die Ausgabe erfolgen soll?

mfg
Herbert

marabu 25. Mär 2006 13:49

Re: Formatierte numerische Ausgabe von Datensätzen
 
Hallo Herbert,

vergeblich suchst du, weil du an der falschen Stelle suchst. DisplayFormat ist eine Eigenschaft der TNumericField-Komponente, die deinem TDBEdit unterliegt.

Grüße vom marabu

hsbc 25. Mär 2006 13:57

Re: Formatierte numerische Ausgabe von Datensätzen
 
Hallo marabu,

wie könnte ich doch noch zu einer formatierten Ausgabe kommen? Wo finde ich die TNumericField-Komponente?

Übrigens, deinen Vorschlag von gestern habe ich bereits implementiert, läuft ganz hervorragend.

mfg
Herbert

marabu 25. Mär 2006 14:04

Re: Formatierte numerische Ausgabe von Datensätzen
 
Ich arbeite zwar nicht mit den Zeos-Komponenten, aber ich erwarte, dass dies hier funktioniert:

Delphi-Quellcode:
with ZQ.FieldByName('NUMFELD') as TNumericField do
  DisplayFormat := '#.###.##0.00';
marabu

hsbc 25. Mär 2006 14:24

Re: Formatierte numerische Ausgabe von Datensätzen
 
Super marabu,

funktioniert auf alle Fälle - muss nur noch die geeignete Stelle im Programm suchen, wo ich es vernünftig einbinden kann.

Wieder einmal herzlichen Dank für deine schnelle und professionelle Hilfe.

mfg
Herbert

Sharky 26. Mär 2006 05:17

Re: Formatierte numerische Ausgabe von Datensätzen
 
Zitat:

Zitat von hsbc
... muss nur noch die geeignete Stelle im Programm suchen, wo ich es vernünftig einbinden kann...

Hai Herbert,

einfach im Delphi-Referenz durchsuchenAfterOpen deines DataSets (Table oder Query).

Zum Beispiel so:
Delphi-Quellcode:
procedure TDemoForm.ZQuery1AfterOpen(DataSet: TDataSet);
begin
  with (DataSet.FieldByName('nummfeld') as TNumericField) do
  begin
    DisplayFormat := '#.###.##0.00';
  end;
end;
Oder für alle:
Delphi-Quellcode:
procedure TDemoForm.ZQuery1AfterOpen(DataSet: TDataSet);
var
  ndx: Integer;
begin
  with DataSet do
  begin
    for ndx := 0 to Pred(Fields.Count) do
    begin
      if (Fields[ndx] is TNumericField) then
      begin
        (Fields[ndx] as TNumericField).DisplayFormat := '#.###.##0.00';
      end;
    end;
  end;
end;

hsbc 26. Mär 2006 09:13

Re: Formatierte numerische Ausgabe von Datensätzen
 
Hallo Sharky,

ja, genau so habe ich es gemacht, funktioniert prima.

Danke nochmals an alle.

mfg
Herbert


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz