Einzelnen Beitrag anzeigen

Anakond

Registriert seit: 13. Okt 2007
23 Beiträge
 
#1

Zeitumwandlung mit Millisekunden ergibt Millisekunden mit null

  Alt 16. Aug 2022, 14:13
Hallo,
Ich benutze Delphi 10.4
Mit dem Mediaplayer-Komponente möchte ich die Millisekunden abrufen.
Die Anwendung wird auf einem Android-Tablet mit Version 7.0 installiert.
Das Problem ist, wenn ich die Zeitumwandlung zum Beispiel (string) '00:01:23.379'
durchführe, wird das Ergebnis '00:01:23' bzw. '00:01:23.000'

Meine Frage ist, wie kann ich eine korrekte Zeitkonvertierung durchführen,
um auch die Millisekunden '.379' abrufen zu können.

Das Ziel dieses Projekt ist,
dass der Mediaplayer genau zu einer bestimmter Zeit aufhört zu spielen.

Code:
procedure TFormMain.Button21Click(Sender: TObject);
var
  dt: TDatetime;
  iTime: Double;
begin
 
  // test 01
  dt := StrToDateTime(datetostr(date) + ' ' + '00:01:23.379');
  Label10.Text := FormatDateTime('hh:nn:ss.zzz', dt);
  // Ergebnis: Label10.Text-> '00:01:23' )

  // test 02
  // wenn MediaPlayer1.CurrentTime > '00:01:23.379'
  Label10.Text := FormatDateTime('hh:nn:ss.zzz', MediaPlayer1.CurrentTime.ToDateTime);
  // Ergebnis: Label10.Text -> '00:01:23' )

  if CompareTime(MediaPlayer1.CurrentTime.ToDateTime, dt) > 0 then // dt ist hier '00:01:23'
    MediaPlayer1.Stop;

  // Oder
  // wie kann man die Zeit '00:01:23.379' umwandeln zu iTime
  // iTime := ???
  if MediaPlayer1.CurrentTime > iTime then MediaPlayer1.Stop;

end;
Vielen Dank für jede Hilfe, die Sie mir geben können.
  Mit Zitat antworten Zitat