Forum: Object-Pascal / Delphi-Language
Delphi
by Sir Rufo,
13. Apr 2016
Öhm ... diese Relation würde ich aber auch implizieren ... nein besser: erwarten!
So bekommt man das Gewünschte:
procedure TForm1.PresentData;
var
lShortTimeFmt: string;
lLongTimeFmt : string;
begin
Label1.Caption := FormatDateTime( FormatSettings.ShortDateFormat, Now ) + ' (' + FormatSettings.ShortDateFormat + ')';
Forum: Object-Pascal / Delphi-Language
Delphi
by Sir Rufo,
13. Apr 2016
Beim Zeitformat hat Emba allerdings geschlafen, das wird nicht so übernommen, wie in den Windows-Einstellungen eingetragen.
TimePrefix := '';
TimePostfix := '';
if StrToIntDef(GetLocaleStr(Locale, LOCALE_ITLZERO, '0'), 0) = 0 then
HourFormat := 'h'
else
HourFormat := 'hh';
if StrToIntDef(GetLocaleStr(Locale, LOCALE_ITIME, '0'), 0) = 0 then
Forum: Object-Pascal / Delphi-Language
Delphi
by Sir Rufo,
13. Apr 2016
Nur mal so gesagt:
Das kann ich noch nicht einmal kompilieren :stupid:
Das hier schon
Label1.Caption := FormatDateTime( FormatSettings.ShortDateFormat, Now );
Hier mal ein kleines Beispielprogramm, wo man auch live die Änderungen sehen kann
Forum: Object-Pascal / Delphi-Language
Delphi
by Sir Rufo,
13. Apr 2016
Die FormatSettings sind dafür da, dass Delphi mit diesen arbeiten kann und zwar auf jeder Plattform. Somit sind diese Einstellungen dort entsprechend gleichgeschaltet.
Um damit zu arbeiten verwendet man ganz simpel die Funktionen, die optional die FormatSettings als Argument anbieten. Alles, was nach Datum/Zeit riecht wird intern von System.SysUtils.DateTimeToString() (nur intern verfügbar) in...