Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Formatierung von Floatfeldern in der Anzeige (https://www.delphipraxis.net/56144-formatierung-von-floatfeldern-der-anzeige.html)

jan138 1. Nov 2005 12:47

Datenbank: MySQL • Version: 5 • Zugriff über: ODBC

Formatierung von Floatfeldern in der Anzeige
 
Moin,

ahbe mit Delphi6, ADO-Table über eine ODBC-Schnittstelle auf eine MYSQL-Datenbank zugegriffen. Daten werden sauber geschrieben und stehen auch richtig in der Datenbank. Überprüft mit SQL-Statement.

Wenn ich in Delphi eine nackte sicht auf die Daten anzeige, um die Daten kontrollieren zu können, dann haben die Float-Felder ewig viele Nachkommastellen. In der Datenbank steht aber nur eine Nachlommastelle.

Wie kann ich es hinbekommen, das nur die wirklichen Nachkommastellen angezeigt werden?

Vielen Dank im vorraus.

Jan

Jelly 1. Nov 2005 13:30

Re: Formatierung von Floatfeldern in der Anzeige
 
Klick mal recht auf deine ADO Table und wähle Feldeditor, und füge dort erst mal alle Tabellenfelder hinzu. Danach kannst du für dein Float Feld im Object inspector die Eigenschaft DisplayFormat anpassen, und z.B. auf ,0.00 setzen, um tausendertrennzeichen und 2 Kommastellen zu erhalten.

jan138 2. Nov 2005 13:58

Re: Formatierung von Floatfeldern in der Anzeige
 
ist eine Möglichkeit. Möchte aber einfach nur die Daten aus der Datenbank und irgentwo muß es da eine falsche Übersetzung geben. Kann man das nicht generell irgentwo einstellen?

mfg Jan

shmia 2. Nov 2005 14:17

Re: Formatierung von Floatfeldern in der Anzeige
 
Der Fehler liegt wahrscheinlich am ODBC-Treiber.
Es wird statt einem TBCDfield ein TFloatField erzeugt.
Oder es wird [TBCDfield].Precision nicht auf den korrekten Wert gesetzt.
Wie wird denn dein Feld nun abgebildet ?
Delphi-Quellcode:
ShowMessage(ADOQuery1.FieldByName('DasFeld').Classname);

jan138 8. Dez 2005 10:11

Re: Formatierung von Floatfeldern in der Anzeige
 
Moin,

hast Recht es ist ein TFloatField.

Was kann man machen, damit man das richtige Format bekommt?

mfg Jan

shmia 8. Dez 2005 12:15

Re: Formatierung von Floatfeldern in der Anzeige
 
Zitat:

Zitat von jan138
hast Recht es ist ein TFloatField.
Was kann man machen, damit man das richtige Format bekommt?

Delphi-Quellcode:
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
   (DataSet.FieldByName('DasFeld') as TFloatField).DisplayFormat := '##0.0';
end;

Thanatos81 8. Dez 2005 14:36

Re: Formatierung von Floatfeldern in der Anzeige
 
Oder, für die ganz Schreibfaulen:
Delphi-Quellcode:
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
   TFloatField(DataSet.FieldByName('DasFeld').DisplayFormat := '##0.0';
end;
bzw.
Delphi-Quellcode:
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
   TFloatField(DataSet.FieldByName('DasFeld').DisplayFormat := '#,##0.00 €';
end;
für einen Euro-Wert mit Tausendertrennzeichen und zwei Nachkommastellen.

jan138 12. Dez 2005 18:39

Re: Formatierung von Floatfeldern in der Anzeige
 
Vielen Dank für die Hilfe.

mfg jan


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr.

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