Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi FormatSettings for Dummies (https://www.delphipraxis.net/188843-formatsettings-dummies.html)

Sir Rufo 13. Apr 2016 11:47

AW: FormatSettings for Dummies
 
Zitat:

Zitat von haentschman (Beitrag 1335471)
:P Davon rede ich die ganze Zeit... na endlich. :wink:

Nicht wirklich
Zitat:

Zitat von haentschman (Beitrag 1335433)
1. Warum kommt hier
Delphi-Quellcode:
Label.Caption := FormatDateTime(Now, FormatSettings.ShortDateFormat)
12/04/2016 statt 12.04.2016 ?


Stevie 13. Apr 2016 11:50

AW: FormatSettings for Dummies
 
Dein Problem liegt darin, dass du annimmst,
TFormatSettings.ShortTimeFormat und LongTimeFormat hätten etwas mit dem ab Windows 7 einstellbaren "Short time" und "Long time" zu tun, was aber nicht der Fall ist.

haentschman 13. Apr 2016 11:53

AW: FormatSettings for Dummies
 
8-) Oh ja... streiten. :P
Das mit den / am Anfang war ein zusätzliches zum Zeitformat.

Zitat:

1. Warum kommt hier Label.Caption := FormatDateTime(Now, FormatSettings.ShortDateFormat) 12/04/2016 statt 12.04.2016 ?
.
2. Warum steht im ShortTimeFormat etc. immer hh statt HH 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?
.
.
...egal welche Einstellungen für den Zeitanteil gewählt werden, der Zeitanteil ist immer gleich. (siehe Punkt 2 + 3)
Danke an alle...

Sir Rufo 13. Apr 2016 11:54

AW: FormatSettings for Dummies
 
Zitat:

Zitat von Stevie (Beitrag 1335473)
Dein Problem liegt darin, dass du annimmst,
TFormatSettings.ShortTimeFormat und LongTimeFormat hätten etwas mit dem ab Windows 7 einstellbaren "Short time" und "Long time" zu tun, was aber nicht der Fall ist.

Öhm ... diese Relation würde ich aber auch implizieren ... nein besser: erwarten!

So bekommt man das Gewünschte:
Delphi-Quellcode:
procedure TForm1.PresentData;
var
  lShortTimeFmt: string;
  lLongTimeFmt : string;
begin
  Label1.Caption := FormatDateTime( FormatSettings.ShortDateFormat, Now ) + ' (' + FormatSettings.ShortDateFormat + ')';

  lShortTimeFmt := GetLocaleStr( GetThreadLocale, LOCALE_SSHORTTIME, FormatSettings.ShortDateFormat );
  Label2.Caption := FormatDateTime( lShortTimeFmt, Now );

  // Geht erst ab Windows 7!
  lLongTimeFmt  := GetLocaleStr( GetThreadLocale, LOCALE_STIMEFORMAT, FormatSettings.LongTimeFormat );
  Label3.Caption := FormatDateTime( lLongTimeFmt, Now );
end;

haentschman 13. Apr 2016 11:55

AW: FormatSettings for Dummies
 
Zitat:

TFormatSettings.ShortTimeFormat und LongTimeFormat hätten etwas mit dem ab Windows 7 einstellbaren "Short time" und "Long time" zu tun, was aber nicht der Fall ist.
...kannst du das näher erklären? Alle anderen Änderungen an der Region werden in die Formatsettings übernommen... nur die 2 Zeitformatierungen nicht.

Stevie 13. Apr 2016 12:09

AW: FormatSettings for Dummies
 
Weil es diese beiden Werte (damals noch ohne TFormatSettings als globale Variablen) schon vor Windows 7 gab, welches zusätzlich zu dem Time Format noch ein Short Time einführte (und die entsprechende Konstante dazu).

Bernhard Geyer 16. Jan 2018 16:56

AW: FormatSettings for Dummies
 
Bin heute auch über diese "bescheuerte" Logik gestolpert.

Hier mal Voten das dieser "Logik" mit dem "meta character" weggeschmießen wird: RSP-18603

Ich vermute nicht das irgendwo eine Logik in den VCL-Sourcen sich auf diese "Meta Character" verläst.
Ist wohl eher ein "Irgendwo wird das noch erwartet weil man die Implementierung nicht richtig gemacht hat"

Cashew 30. Apr 2019 07:23

AW: FormatSettings for Dummies
 
Moin...

gestern bin ich auch über die Probleme mit den TFormatSettings gestolpert.

Was hat es den mit diesem "Meta-Character" auf sich? Den unten aufgeführten Link kann ich bei mir nicht (mehr ?) öffnen.

Zitat:

Zitat von Der schöne Günther (Beitrag 1335424)
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.


Wenn ich das ganze aber richtig verstehe, dann bleibt einem nichts anders übrig, als die "falschen" Werte in den TFormatSettings zu korrigieren?

Bernhard Geyer 30. Apr 2019 07:46

AW: FormatSettings for Dummies
 
qc.embarcadero.com ist das alte BugTracking-System das mittlerweile abgschaltet wurde.
Nur noch quality.embarcadero.com ist die Einzige Quelle für solche Infos.

Cashew 30. Apr 2019 09:00

AW: FormatSettings for Dummies
 
Vielen Dank für die Info.

Gibt es dann die erwähnten Erklärungen zum "Meta Character" irgendwo noch zum nachlesen? Oder kann mir jemand vielleicht so kurz sagen was damals die Erklärung von Embarcadero dazu war?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.
Seite 3 von 4     123 4      

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