![]() |
Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Hallo,
ich nutze Quickreport. Wenn bei einem Kunden ein Report erstellt wird, sind dort alle Größen/Positionen mit 25,4 multipliziert. D.h. in meiner Ini steht z.B. für ein Text-Objekt Left = 1 mm und Top = 10 mm, dann wird das Textobjekt aber bei Left = 25,4 mm und Top = 254 mm plaziert. Warum? Windows 10, Skalierung 100 %. Auf vielen anderen PCs läuft der selbe Code ohne Probleme. |
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Da stimmt die Einheit nicht. 2,54 ist der Umrechnungsfaktor von cm zu Zoll.
|
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Das sieht dann so aus, als ob auf dem Rechner deine 1 als 1 Inch = 25,4 mm interpretiert wird.
Könnte also eine Lokalisierungs-Sache sein. |
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Zitat:
|
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Danke an alle. Ich habe das Problem in der QuickRpt.pas gefunden:
Delphi-Quellcode:
Hier wird versucht die Maßeinheit Millimeter oder Inch vom System auszulesen. Auf dem Kunden-PC wird Inch erkannt, obwohl in der Systemsteuerung Millimeter eingestellt sind. Da keiner mit Inch arbeiten soll, habe ich einfach LocalMeasureInches := false gesetzt und alles klappt. (Ein ähnliches Problem gab/gib? es ja mit den Tausender- und Dezialtrennern in Formatsettings.)
initialization
... LocalMeasureInches := GetLocaleChar(DefaultLCID, LOCALE_IMEASURE, ' ') = '1'; ... |
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Ich bzw. unsere Kunden hatten das Problem noch nie.
Trozdem hab ich die Zeile in der Unit gleich geändert. Danke für den Tip.:thumb: |
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Zitat:
Abhilfe: in der Systemsteuerung einmal die Ländereinstellung umstellen auf Englisch (US), speichern, und dann zurückstellen nach Deutsch (Deutschland). Das hatten wir eine Weile so oft bei Kunden, dass ich ein kleines Testprogramm geschrieben hatte... |
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Es kommt drauf an, was "Left" für eine Einheit hat.
Pixel, Millimeter, Inch, Dots, oder sonstwas Kann man irgendwo QuickReport sagen, in welcher Einheit es rechnen soll? |
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Zitat:
Delphi-Quellcode:
constructor TQRUnitBase.Create;
begin if LocalMeasureInches then Units := Inches else Units := MM; ... end; |
AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Die richtige Lösung ist die von Frickler erwähnte einmalige Umstellung der Spracheisntellungen. Danach passt alles. Wenn du das ncht machst wirst du auch mit anderern Einstelugn eproblem haben, weil das alles mit den US-Einstellungen kommt, also auch das Zahlenformat, Währung, Datumsformat, etc.
Bei bestimmte OEMS wie HP wird nur der UNocode teil der Einstelluggen richtig konfiguriert und die ANSI-Einstellungen bleiben auf dem Standart US. Somit sehen alle ANSI-Programme nur die englischen Einstellungen. Durch ein Um- und Zurückstellen der Sparcheinstellung wird der ANSI Teil der Einstellung richtig gespeichert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 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