Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

StrToTime löst Exception bei Millisekunden

  Alt 9. Nov 2012, 12:18
Delphi-Version: 2009
Ich versuche gerade einen String "12:05:20.160" in einen TDateTime umzuwandeln und nutze dazu die Funktion StrToTime. Diese löst jedoch eine Exception aus und meinte der String wäre keine gültige Zeit.

Ich habe schon versucht mit GetLocaleFormatSettings() die aktuellen Einstellungen zu laden und anzupassen, jedoch ohne erfolg.

Delphi-Quellcode:
var
  glFmtSet: TFormatSettings;
  Date: TDateTime;

begin
  GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, glFmtSet);
  
  glFmtSet.TimeSeparator := ':';
  glFmtSet.ShortTimeFormat := 'hh:nn:ss';
  glFmtSet.LongTimeFormat := 'hh:nn:ss.zzz';

  Date := StrToTime('12:05:20.160'); //Exception wird ausgelöst -> "Keine gültige Zeit"
Bei meiner Suche im Netz habe ich irgendwas gelesen davon das man nicht GetLocaleFormatSettings verwenden soll sondern TFormatSettings.Create, jedoch geht das mit Delphi 2009 nicht.

Ich hoffe es hat jemand einen Tipp ansonsten werde ich den String wohl zerlegen müssen und ihn mit EncodeTime() umwandeln.
  Mit Zitat antworten Zitat