AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FastReport und Font-Color

Ein Thema von harfes · begonnen am 27. Nov 2023 · letzter Beitrag vom 30. Nov 2023
Antwort Antwort
Seite 1 von 2  1 2      
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
180 Beiträge
 
Delphi 11 Alexandria
 
#1

FastReport und Font-Color

  Alt 27. Nov 2023, 14:33
Ich muss einen (statischen) Text in einer bestimmten Farbe anzeigen. Als Vorgabe habe ich einen HEX-Code #0073A5 - wenn ich diesen nun für ein TfrxMemoView in den Bereich Font -> Color eingebe (als $0073A5), dann macht mir FastReport daraus $000073A5 und zeigt eine völlig andere Farbe an. Eigentlich kenne ich das ja so, das #0073A5 eingegeben wird, aber da meckert FastReport, das sei kein Integer-Wert.
Da ich weder in der Internetsuche noch bei FastReport etwas dazu finden konnte, also hier die Frage: was mache ich falsch? Oder: was muss da überhaupt korrekt eingegeben werden?

Hartmut
Hartmut
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.296 Beiträge
 
Delphi 12 Athens
 
#2

AW: FastReport und Font-Color

  Alt 27. Nov 2023, 14:50
# ist auch kein Wert für einen "Integer"



HTML-Color?

RGB vs BGR
bzw. big-endian vs. little-endian (wenn man nur die 3 Bytes der Farben betrachtet)
https://htmlcolorcodes.com/#color-codes
https://docwiki.embarcadero.com/Libr...r#Beschreibung
https://learn.microsoft.com/de-de/wi...uide/vis-color

Ein Integer $112233 bzw $00112233 (oder 0x00112233)
beedeutet $33 $22 $11 $00 im Speicher


also $A57300
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Nov 2023 um 14:58 Uhr)
  Mit Zitat antworten Zitat
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
180 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FastReport und Font-Color

  Alt 27. Nov 2023, 15:04
Der HEX-Code stammt aus einer RGB-Angabe: 0/115/165. Wenn ich das an verschiedenen Stellen - wo es möglich ist - direkt eingebe, kommt auch die korrekte Farbe dabei raus. Aber offensichtlich will FastReport keinen HEX- sondern einen Integer-Wert. Es stellt sich also die Frage, wie bekomme ich den?

Hartmut
Hartmut
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.296 Beiträge
 
Delphi 12 Athens
 
#4

AW: FastReport und Font-Color

  Alt 27. Nov 2023, 15:14
Es kommt auf die Art der Umwandlung an, aber

TColor = Integer (nicht wirklich, aber mit selben Wertebereich)

IntToStr nimmt Dezimalzahlen, aber auch Hexadezimal (mit $ davor)

StringToColor nimmt bestimmte Zahlnamen, aber auch alles, was IntToStr nimmt.

Und Fastreport wird bestimmt TColor verwenden (also den Standard-Property-Editor des TColor, mit StringToColor)



Zitat:
Es stellt sich also die Frage, wie bekomme ich den?
[win] calc [enter]
auf "Progammierer" umstellen
und ... na siehst'e dann schon
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Nov 2023 um 15:24 Uhr)
  Mit Zitat antworten Zitat
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
180 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: FastReport und Font-Color

  Alt 27. Nov 2023, 15:16
@himitsu: Ok, einen Converter habe ich nicht gefunden - aber zumindest den Weg zum Umrechnen von RGB in Integer:

RGB = R + G * 256 + B * 256*256

R=0
G=115=>29440
B=165=>10813440

-> Integer-Wert=>10842880

Jetzt passt Die Farbe!

Trotzdem peinlich, dass es bei FastReport keinen Hinweis dazu gibt...

Hartmut
Hartmut
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.296 Beiträge
 
Delphi 12 Athens
 
#6

AW: FastReport und Font-Color

  Alt 27. Nov 2023, 15:22
TColor ist nichts vom FastReport ... das ist überall im Delphi so.
Auch im Quellcode, wobei der Quellcode in aktuellen Delphis nun auch Binär kann.


PS: siehe mein [Edit] oben in der #4
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
harfes

Registriert seit: 25. Jun 2006
Ort: Rand der Scheibe
180 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: FastReport und Font-Color

  Alt 27. Nov 2023, 16:25
@himitsu: Dein Edit ist seeehr interessant - hab' ich vorher auch noch nicht gesehen...

@mytbo: auch interessant - aber da ich das nicht programmieren möchte, sondern nur den Wert nutzen will, könnte es aber für andere interessant sein. Danke.

Hartmut
Hartmut
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
461 Beiträge
 
#8

AW: FastReport und Font-Color

  Alt 27. Nov 2023, 16:22
@himitsu: Ok, einen Converter habe ich nicht gefunden - aber zumindest den Weg zum Umrechnen von RGB in Integer
ShowMessage(Winapi.Windows.RGB(0, 115, 165).ToString);

Bis bald...
Thomas
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
631 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: FastReport und Font-Color

  Alt 29. Nov 2023, 13:00
Ich muss einen (statischen) Text in einer bestimmten Farbe anzeigen. Als Vorgabe habe ich einen HEX-Code #0073A5 - wenn ich diesen nun für ein TfrxMemoView in den Bereich Font -> Color eingebe (als $0073A5), dann macht mir FastReport daraus $000073A5 und zeigt eine völlig andere Farbe an. Eigentlich kenne ich das ja so, das #0073A5 eingegeben wird, aber da meckert FastReport, das sei kein Integer-Wert.
Da ich weder in der Internetsuche noch bei FastReport etwas dazu finden konnte, also hier die Frage: was mache ich falsch? Oder: was muss da überhaupt korrekt eingegeben werden?

Hartmut
Das Format #xxxxx kommt von HTML und ist ein HTML Farbwert. Den kannst du nicht direkt so in Delphi verwenden, weil Windows hier ein anderes Format für Farbwerte hat. Wie bereits von himitsu geschrieben, musst du die Reihenfolge der 2 stelligen HEX Werte ändern und kannst diese dann in Delphi mittels $xxxxx angeben. Das # darf hier nicht sein, da wir hier keine HTML-Farbwerte nutzen können. Dein Wert wäre also korrekt: $A57300, den du genau so in Fastreport oder jeder anderen Stelle wo du eine Frabe angeben kannst, einfügen kannst. Mit dem $ sagst du Delphi, dass das Folgende eine HEX-Zahl ist. Das heisst, das ist genauso ein Integer wie dein dezimaler Wert 10842880. Gibt übrigens auch noch eine binäre Schreibweise, wie du im folgenden Beispiel sehen kannst.

Hier ein Beispiel der verschiedneen Zahlensysteme und wie man die in Delphi angeben kann:
Delphi-Quellcode:
var i: Integer; // oder TColor
begin
  i := 10842880; // Dezimal
  i := $A57300; // HEX
  i := %1010_0101_0111_0011_0000_0000; // Binär (geht so erst ab Delphi 11)
  // i hat hier immer den selben Wert in verschiedene Zahlensystemen.
end;
Ein Umrechung kannst du mit dem Windows Rechner (calc.exe) im Progammierermodus machen.

Geändert von Rolf Frei (29. Nov 2023 um 13:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.296 Beiträge
 
Delphi 12 Athens
 
#10

AW: FastReport und Font-Color

  Alt 29. Nov 2023, 14:36
Der neue Unterstrich _ als Trenner ist kein Muß
und noch schöner, den kann man für alles benutzen, also auch im Dezimal und Hexadezimal.

Delphi-Quellcode:
var i: Integer; // oder TColor
begin
  i := RGB(0, 115, 165);
  i := RGB($00, $73, $A5);
  i := 10_842_880; // Dezimal
  i := $00A5_7300; // HEX
  i := $00_A5_73_00; // HEX
  i := %00000000_10100101_01110011_00000000; // Binär (geht so erst ab Delphi 11)
  i := %00000000101001010111001100000000; // Binär
  // i hat hier immer den selben Wert in verschiedene Zahlensystemen.
end;
StrToInt und StringToColor werden aber % und _ noch nicht kennen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (29. Nov 2023 um 14:42 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 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