Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TChart Balkendiagramm Frage (https://www.delphipraxis.net/215587-tchart-balkendiagramm-frage.html)

TurboMagic 31. Jul 2024 19:27

TChart Balkendiagramm Frage
 
Hallo,

ich habe in meinem Programm jetzt einen Fehler bei der Verwendung eines TChart Balkendiagramms
gefunden. Das Diagramm soll im Endeffekt auf einer per FastReports (EMBT Edition) erzeugten PDF
erscheinen. Dort knallt es jetzt, weil irgend wer versucht einen Währungstext in eine Fließkommazahl
zu verwandeln.

Ich kann den Crash umgehen, in dem ich die Konvertierung der anzuzeigenden Werte in diesen
Währungsstring in ein einfaches .ToString, also ohne € Zeichen ändere.

Nur steht dann am Balken der Zahlenwert ohne €-Zeichen.
Hier etwas Code:

Delphi-Quellcode:
for Item in LastPercentStats do
begin
  Product := ProductManager.GetProductEntryByID(Item.ProductID);
  Chart.SeriesData[0].XSource := Chart.SeriesData[0].XSource + ';' +
                                 Product.DisplayOnlyName;

  Chart.SeriesData[0].YSource := Chart.SeriesData[0].YSource + ';' + Item.Revenue.ToString;
  // Das war die Methode die € mit anfügt: GetFormattedCurrency(Item.Revenue);

  // Bei horizontalen Bar Charts ist es nicht Source3 wie bei Pie Charts
  // sondern Source 4
  Chart.SeriesData[0].Source4 := Chart.SeriesData[0].Source4 + ';' + '$' +
                                 IntToHex(Product.ButtonColor, 6);
end;
Gibt es irgend einen anderen Weg wie ich die Werte ins Chart bekomme, aber so, dass am Balken
nicht einfach die Zahl, sondern die Zahl zusammen mit dem Währungszeichen darstellt?

TurboMagic 31. Jul 2024 19:54

AW: TChart Balkendiagramm Frage
 
Ich habe mal noch das hier versucht:

Delphi-Quellcode:
Chart.SeriesData[0].YSource := Chart.SeriesData[0].YSource + ';' + Item.Revenue.ToString;
Chart.Chart.Series[0].Labels[i] := GetFormattedCurrency(Item.Revenue);
Aber ohne Erfolg.

=> wie muss ich das machen, dass ich den Wert so setze, dass es nicht crasht, am Balken
selbst der Wert aber mit € steht?

TurboMagic 1. Aug 2024 07:24

AW: TChart Balkendiagramm Frage
 
Was mir noch als Ergänzung zu meinem Code eingefallen ist:

Chart ist ein TfrxChart.

Grüße

TurboMagic

det33 1. Aug 2024 10:58

AW: TChart Balkendiagramm Frage
 
Bei den Series-Objekten zu TfrxChartView gibt es die Eigenschaft ValueFormat. Dort kam man das €-Zeichen eintragen und es wird dann im Chart angezeigt.

TurboMagic 1. Aug 2024 18:00

AW: TChart Balkendiagramm Frage
 
Danke, das probiere ich nacher gleich mal aus!

TurboMagic 1. Aug 2024 20:37

AW: TChart Balkendiagramm Frage
 
Danke, funktioniert!
Man muss aber das Format mit ## als Platzhalter für die Stellen angeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 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