AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

FormatSettings for Dummies

Ein Thema von haentschman · begonnen am 12. Apr 2016 · letzter Beitrag vom 1. Mai 2019
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.569 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

FormatSettings for Dummies

  Alt 12. Apr 2016, 15:32
Delphi-Version: 10 Seattle
Hallöle...

Ihr müßt mich mal erleuchten. Ich bin zu doof die aktuellen Systemeinstellungen (FormatSettings http://docwiki.embarcadero.com/Libra...FormatSettings) zu laden.

1. Systemeinstellungen (Bild1)
2. Das was entweder der Record FormatSettings oder eine Variable initialisiert mit TFormatSettings.Create (macht keinen Unterschied ob ohne Länderkennung initialisiert oder mit 'de-DE') liefert (Bild2)

Das mit dem Schrägstrich statt dem Dateseparator im Datum ist ja schon ein alter Hut seit XE2. Muß ich mich nun auch selbst um die 24 Stunden Darstellung kümmern (HH statt hh)? Wozu ist das ganze dann gut wenn ich die Einstellungen des Users benutzen will?

PS: Wenn ich das Datumsformat in den Systemeinstellungen ändere, ändern die FormatSettings das brav mit... nur ohne den korrekten Dateseparator und Zeitformat.
PS2: Den W7 Bug bezüglich der Einstellungen habe ich mit dem W10 auch probiert... (Umstellen, neu starten und wieder zurück)

Danke für Info´s bzw. Alternativen
Miniaturansicht angehängter Grafiken
bild1.png   bild2.png  

Geändert von haentschman (12. Apr 2016 um 15:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 15:44
Stehen die Einstellungen des Benutzers nicht einfach in der globalen Variable System.SysUtils.FormatSettings?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.569 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 15:48
Ja, und das ist genau das was du auf Bild2 siehst... nämlich falsch.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 15:53
Weil du oben was von TFormatSettings.Create geschrieben hast, das hat mich dann wohl verwirrt.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.569 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 15:55
nicht schlimm. Du kannst dir ja auch eine Variable mit einem Gebietsschema deiner Wahl, unabhängig vom System, belegen und damit arbeiten. Dafür brauchst du das Create = Initialisierung.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
7.808 Beiträge
 
Delphi XE4 Professional
 
#6

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 16:36
Hallo,
klick auf "Weitere Einstellungen" und dann auch unten rechts auf "Zurücksetzen".

Wie sieht es danach bei deinem Programm aus?


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.569 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 16:56
Danke für deine Anteilnahme...

Antwort: Exakt gleich falsch.

PS: Auch der XX = Vormittags String Zusatz bei 12 Stundenanzeige wird in den FormatSettings nicht übernommen, die Strings dafür schon ... (Im DateTimePicker.Format ist es tt)

Es sieht danach aus als ob für
DateShortFormat, DateLongFormat, TimeShortFormat, TimeLongFormat Standardwerte zurückgegeben werden statt der Einstellungen. Alles Andere wird offensichtlich angepaßt.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.390 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 17:10
Also laut
http://qc.embarcadero.com/wc/qcmain.aspx?d=104942

kann man das für einen Fehler halten, das "/" sei allerdings ein "Meta-Character" für den DateSeparator und nicht als "/"-Zeichen zu verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 17:13
Das "/" und ":" in den Date-/Time-Strings wird durch die Werte von DateSeparator und TimeSeparator ersetzt, in den Formatfunktionen.

Will man das nicht, dann muß man die in " einfassen.
'hh":"mm":"ss' macht immer ":", egal was in TimeSeparator drin steht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.569 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

AW: FormatSettings for Dummies

  Alt 12. Apr 2016, 19:49
Ok, dann stell ich mich mal blöd...

1. Warum kommt hier Label.Caption := FormatDateTime(Now, FormatSettings.ShortDateFormat) 12/04/2016 statt 12.04.2016 ?
-> weil die FormatStrings nicht "kompatibel" sind.
2. Warum steht im ShortTimeFormat etc. immer hh statt HH wie ausgewählt?
-> FormatDateTime(Now, FormatSettings.ShortTimeFormat) immer 07:49 statt 19:49 wie ausgewählt?
3. Warum werden beim Auswählen des englischen Formates zwar die Strings für Vormittag / Nachmittag in FormatSettings eingetragen aber kein Platzhalter dafür?
-> Wie soll FormatDatetime wissen ob Vormittag oder Nachmittag?

Mit FormatDateTime geht es nicht. Mit DateTimeToString http://docwiki.embarcadero.com/Libra...teTimeToString geht die Ersetzung des / im Datum.
Delphi-Quellcode:
DateTimeToString(Result,
                 FormatSettings.ShortDateFormat + ' - ' + FormatSettings.ShortTimeFormat,
                 Now);
ergibt deutsch 14.04.2016 20:48 und englisch 14/04/2016 20:48 je nach Datumeinstellung
...egal welche Einstellungen für den Zeitanteil gewählt werden, der Zeitanteil ist immer gleich. (siehe Punkt 2 + 3)

Geändert von haentschman (12. Apr 2016 um 21:07 Uhr)
  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 14:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf