Einzelnen Beitrag anzeigen

Benutzerbild von f4k3
f4k3

Registriert seit: 15. Aug 2007
Ort: Nürnberg
313 Beiträge
 
Delphi 2007 Architect
 
#1

Differenz zwischen zwei Zeitwerten im Format 'hh:nn:ss'

  Alt 8. Jun 2009, 14:45
Moin Moin liebe DP'ler

Ich hab folgendes Problem ...

Ich steuer mittels der hbTapi Components ein am PC angeschlossenes Telefon an.
Wenn nun ein Anruf auf der Leitung ist, wird in ein neuer "Call" in der Komponente angelegt.
Dieser Call hat nun Informationen über den Anruf.

Die Informationen die ich benötige um die aktuelle Gesprächdauer zu ermitteln steht in der Property "Begin Time" die den Zeitwert enthält, der gesetzt wurde, als zwischen den zwei Gesprächspartnern eine aktive Verbindung hergestellt wurde.
Sprich seit der angerufene den Hörer abgenommen hat

Den aktuellen Zeitwert könnte ich mit "Now" ermitteln und mir eine Funktion schreiben die mir die Differenz ausrechnet.

Die einzigste Lösung die mir momentan einfällt, ist ein Timer und diesen alle 1000 ms auszuführen und die Anzeige somit
zu aktualisieren.
Nur leider ist mir bekannt dass der Timer immer wieder schwierigkeiten macht z.B. wenn das Formular gezogen wird oder
die CPU ausgelastet ist.

Die Daten müssen aber korrekt sein, weil dass ganze erstens für eine korrekte Anzeige sorgen soll und die Werte
nach dem Auflegen in einer Datenbank gespeichert werden. Mittels dieser Werte könnte eine aussagekräftige
Statistik erstellt werden. Z.b. über die durchschnittliche Abwicklung eines Supportanrufs.

Die hbTapi Components liefern leider keine Methode dafür. Und es gibt auch kein Event dass während eines
Anrufs immer wieder aufgerufen wird.

Wie im Titel bereits beschrieben brauche ich die Differenz im Format "Stunden:Minuten:Sekunden" als String.

Die Dauer des Gesprächs zu errechnen, wenn der Anruf beendet wurde wäre wiederum kein Problem ... weil die Komponente
die genannte "BeginTime" sowie eine "EndTime" vom Typ TDateTime speichert.

Ich brauch einfach nur eine Funktion mit der ich mir die Differenz errechnen könnten und im String format zurückgeben lassen könnte. Und eben eine Alternative für einen Timer ...

Danke für eure Hilfe

Euer f4k3
Sascha
  Mit Zitat antworten Zitat