Zitat von
Kalfany:
warum nicht so?
Label1.Caption := FormatDateTime('hh:nn:ss', CallStartTime-Now());
lol ... warum nicht so xD ... Danke is genau das was ich gesucht hab
Nur der Vollständigkeithalber mal die Funktionen aufgeschlüsselt
OnConnect
Delphi-Quellcode:
procedure TfrmMain.hbLineConnected(Sender: ThbTapiLine; Call: ThbTapiCall);
begin
(*
Autor: Sascha Katzenberger
Datum: 2009-06-08
Beschreibung:
Gesprächsdauer anzeigen und Timer starten der Gesprächsdauer ermittelt
(TimElapsedTime).
*)
// Startzeit in Variable "CallStartTime" zwischenspeichern.
CallStartTime := Call.BeginTime;
// Gesprächdaueranzeige anzeigen
SetElapsed(True);
// "TimElapsedTime" aktivieren
timElapsedTime.Enabled := True;
end;
OnTimer
Delphi-Quellcode:
procedure TfrmMain.timElapsedTimeTimer(Sender: TObject);
var
Time: TDateTime;
begin
(*
Autor: Sascha Katzenberger
Datum: 2009-06-08
Beschreibung:
Während der Timer läuft, sollen die Stunden, Minuten und Sekunden
seit Anrufbeginn ermittelt werden. Da nur ein Anruf gleichzeitig
im State "Connect" ist, wird jeweils auch nur der aktuelle Anruf
bearbeitet. Entsprechendes Execptionhandling ist also nicht notwendig.
*)
// Stunden ermitteln
//Time := hbLine.Calls[0].BeginTime - hbLine.Calls[0].ConnectTime;
frmCallMonitor.lblElapsedTime_View.Caption := FormatDateTime('hh:nn:ss', CallStartTime - Now);
end;
OnDisconnect
Delphi-Quellcode:
(*
Autor: Sascha Katzenberger
Datum: 2009-06-08
Beschreibung:
Der Timer muss wieder deaktiviert werden und die Gesprächsdauer Anzeige
muss ausgeblendet werden.
*)
timElapsedTime.Enabled := False;
// Gesprächsdaueranzeige ausblenden
SetElapsed(False);
Warum kompliziert wenns auch einfach geht
Danke nochmal für die Posts
Euer f4k3