AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke falsches Datums- und Zahlenformat in Webanwendung

falsches Datums- und Zahlenformat in Webanwendung

Ein Thema von bcvs · begonnen am 16. Jul 2021 · letzter Beitrag vom 16. Jul 2021
Antwort Antwort
bcvs

Registriert seit: 16. Jun 2011
570 Beiträge
 
Delphi 10.4 Sydney
 
#1

falsches Datums- und Zahlenformat in Webanwendung

  Alt 16. Jul 2021, 10:00
Hallo,

ich habe jetzt eine Webserver-Anwendung, die als ISAPI-Dll im IIS läuft. Auf dem Server läuft ein englisches Windows, bei dem allerdings das deutsche Datumsformat eingestellt ist.

Der Webserver gibt aber trotzdem alle Datumsangaben im Format m/d/yyyy aus, wenn er als ISAPI im IIS läuft. Kompiliere und starte ich den Webserver dagegen als Standalone-Exe, liefert er dd.mm.yyyy als Datumsformat aus, genauso wie auch der Windows-Explorer und alle anderen Programme.

Entsprechendes gilt für das Zahlenformat.

Ist das ein bekanntes Problem?

Ich habe mir jetzt so geholfen, dass ich die Formatsettings explizit auf meine gewünschten Werte setze.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
956 Beiträge
 
Delphi 2007 Professional
 
#2

AW: falsches Datums- und Zahlenformat in Webanwendung

  Alt 16. Jul 2021, 10:14
Wenn ich mich recht erinnere, sind die Regionalen Einstellungen (regional settings) unter Windows benutzerabhängig. Der Webserver läuft vermutlich als Service und nicht unter dem Account, den Du für das Executable verwendest.

Generell ist Dein "Behelf" genau die richtige Herangehensweise. Ein solches Programm sollte nicht die Windows-Einstellungen verwenden.
Thomas Mueller
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
570 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: falsches Datums- und Zahlenformat in Webanwendung

  Alt 16. Jul 2021, 10:39
OK, danke. Das klingt logisch.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.722 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: falsches Datums- und Zahlenformat in Webanwendung

  Alt 16. Jul 2021, 11:02
Man könnte zwar auch die Spracheinstellungen des Systemaccounts ändern, aber dann könnte es passieren, dass andere Dienste nicht mehr funktionieren, da sie dort war Anderes erwarten, weil nie selten jemand daran rumspielt.

Alternativ kannst'e deinen Service auch in einem UserAccount laufen lassen, welcher die passenden Einstellungen besitzt,
aber wenn ein Programm eh ein "definiertes" Format benötigt, unabhängig von den Systemeinstellungen, dann ist es eh besser, das auch selbst im Programm zu machen.



Alle Werte/Felder einzeln manuell zu setzen machst du aber nicht?

Delphi-Quellcode:
System.SysUtils.FormtSettings := TFormatSettings.Create('de-DE');

System.SysUtils.FormtSettings := TFormatSettings.Create('en-US');
System.SysUtils.FormtSettings := TFormatSettings.Invariant; // wie en-US, aber nicht aus Windows geholt, sondern manuell von Delphi


ACHTUNG: Wenn Windows eine ChangeNotification sendet (WM_SETTINGCHANGE oder RM_TaskbarCreated), dann lädt Delphi standardmäßig die Spracheinstellungen neu und überschreibt deine Änderungen.
Application.UpdateFormatSettings := False;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (16. Jul 2021 um 11:34 Uhr)
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
391 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: falsches Datums- und Zahlenformat in Webanwendung

  Alt 16. Jul 2021, 13:34
Delphi-Quellcode:
System.SysUtils.FormtSettings := TFormatSettings.Create('de-DE');

System.SysUtils.FormtSettings := TFormatSettings.Create('en-US');
System.SysUtils.FormtSettings := TFormatSettings.Invariant; // wie en-US, aber nicht aus Windows geholt, sondern manuell von Delphi

ACHTUNG: Wenn Windows eine ChangeNotification sendet (WM_SETTINGCHANGE oder RM_TaskbarCreated), dann lädt Delphi standardmäßig die Spracheinstellungen neu und überschreibt deine Änderungen.
Application.UpdateFormatSettings := False;
Das betrifft nur Windows Anwendungen und nicht Webanwendungen (Webbroker). Application.UpdateFormatSettings gibt es da nicht. Wenn die obige Formatsetting bei jedem Request gemacht wird, sollte das kein Problem darstellen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf