AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Quickreport: Alle Größenangaben sind mit 25,4 multipliziert
Thema durchsuchen
Ansicht
Themen-Optionen

Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

Ein Thema von BlueStarHH · begonnen am 18. Mai 2022 · letzter Beitrag vom 19. Mai 2022
Antwort Antwort
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
868 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

  Alt 18. Mai 2022, 09:45
Danke an alle. Ich habe das Problem in der QuickRpt.pas gefunden:

Delphi-Quellcode:
initialization
...
  LocalMeasureInches := GetLocaleChar(DefaultLCID, LOCALE_IMEASURE, ' ') = '1';
...
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.)
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
498 Beiträge
 
Delphi 12 Athens
 
#2

AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

  Alt 18. Mai 2022, 09:52
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.
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
641 Beiträge
 
Delphi XE6 Enterprise
 
#3

AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

  Alt 18. Mai 2022, 10:35
Auf dem Kunden-PC wird Inch erkannt, obwohl in der Systemsteuerung Millimeter eingestellt sind.
Das passierte früher bei der Vorinstallation von OEM PCs bei verschiedenen Herstellern; gesehen habe ich es bei Dell und HP.

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...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

  Alt 18. Mai 2022, 11:28
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?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
868 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

  Alt 18. Mai 2022, 11:40
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?
Ja, jede Komponente hat diese Einheit Eigenschaft "Units". Und diese wird u.a. über LocalMeasureInches festgelegt. Siehe oben und hier:

Delphi-Quellcode:
constructor TQRUnitBase.Create;
begin
  if LocalMeasureInches then
    Units := Inches
  else
    Units := MM;
...
end;
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
657 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

  Alt 18. Mai 2022, 16:37
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.
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hamburg
868 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

  Alt 18. Mai 2022, 19:28
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.
Danke für die Erklärung. Aber das kann ich meinen Kunden nicht zumuten. Die wären damit überfordert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Quickreport: Alle Größenangaben sind mit 25,4 multipliziert

  Alt 18. Mai 2022, 19:39
Es gibt keine andere befriedigende/einfache Lösung.

Es ist ein Fehler im vorinstallierten Windows, wo jemand die Einstellungen manuell in der Registry teilweise vergessen hat zu setzen. (und jener ist seit Jahrzehnten zu doof das zu reparieren)
In der Registry gibt es verschiedene Stellen, wo gleiche/ähnliche Einstellungen gespeichert sind.
* teilweise ANSI- und Unicode-API getrennt
* teilweise für 64 und 32 Bit getrennt
* teilweise auch noch alte "Legacy"-Settings, welche aber einige Programme immernoch auslesen
* ...

Durch das Ändern und zurücksetzen der Einstellungen, wird das "überall" durch Windows neu richtig eingetragen.

Du darfst das gern einmal machen, dabei alle Änderungen in der Registry mitschneiden, da dann das Nötige rausfiltern, denn es ändert sich ständig was in der Registry, was dann aber hiermit nichts zu tun hat,
und dann kannst du dass als .reg oder .cmd (Bei Google suchenreg add) deinem Kunden geben, was er nur noch einmal im Explorer auszuführen braucht.


Andere Lösung: Ein englisches Windows nutzen, da stimmt alles noch.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Mai 2022 um 19:45 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:25 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