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 TFont vergleichen (https://www.delphipraxis.net/119956-tfont-vergleichen.html)

RaSoWa1 3. Sep 2008 16:43


TFont vergleichen
 
Hallo allerseits,

Ich muß feststellen ob Font1 = Font2 ist.
Da es so nicht geht, meine Frage:

Muß ich jede Eigenschaft einzeln prüfen, oder geht das auch einfacher?

Gruß
Klaus

toms 3. Sep 2008 17:11

Re: TFont vergleichen
 
Hallo Klaus

Man könnte die TFont Objekte in einen Stream speichern und dann die Streams per CompareMem vergleichen.

RaSoWa1 3. Sep 2008 18:52

Re: TFont vergleichen
 
Danke für deine Antwort.

Ich hatte auf eine, in der Delphi-Hilfe oder Windows-APi versteckte Funktion gehofft.
Ich habe mir deshalb selbst eine geschrieben.

Delphi-Quellcode:
function IdentischeFonts(ft1, ft2: TFont): Boolean;
begin
  result := (ft1.Name = ft2.Name) and (ft1.Height = ft2.Height)
             and (ft1.Style = ft2.Style) and (ft1.Color = ft2.Color);
end;
Ist, so glaube ich, die einfachste Lösung.

Einen schönen Abend noch.
Gruß Klaus

Reinhard Kern 4. Sep 2008 00:43

Re: TFont vergleichen
 
Zitat:

Zitat von RaSoWa1
Delphi-Quellcode:
function IdentischeFonts(ft1, ft2: TFont): Boolean;
begin
  result := (ft1.Name = ft2.Name) and (ft1.Height = ft2.Height)
             and (ft1.Style = ft2.Style) and (ft1.Color = ft2.Color);
end;

Hallo,

Anmerkung 1: wenn schon, dann alle Eigenschaften vergleichen - um 90 Grad gedrehte Fonts werden z.B. nicht erkannt. Ist aber kein Problem, bloss Fleissarbeit.

Anmerkung 2: im Windows-System (also geladene Fonts) stimmt das so - aber TTF-Dateien mit gleichem Header, aber verschiedenen Outlines werden nicht erfasst. Andrerseits auch keine Dateien mit gleichen Zeichen, aber verschiedenen Namen.

Gruss Reinhard


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