Ich erwarte, dass der folgende Code arbeiten:Warum verhält sich TFormatSettings nicht wie erwartet?
program Project3;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
var
FS: TFormatSettings;
const
DF = 'yyyymmdd';
begin
try
WriteLn(FormatDateTime(DF, Now));
FS := TFormatSettings.Create;
FS.ShortDateFormat := DF;
WriteLn(StrToDate('20121219', FS));
ReadLn;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
Warum ist es eine Ausnahme zu werfen und sagte, dass ‚20121219‘ kein gültiges Datum ist? Ist das nicht genau das, was die TFormatSettings passieren soll?
Das RTL scheint nicht zu mögen, dass kein Datum Separator in den Formateinstellungen festgelegt ist. –