Also beim TS, muss man nicht verbunden sein...
hier mal der Code:
Diese läuft alle 300ms
Delphi-Quellcode:
procedure TForm1.Timer3Timer(Sender: TObject);
var TSSpeaker : string;
i : integer;
begin
timer3.Enabled := false;
TSSpeaker := GetTSSpeaker;
if TSSpeaker = '' then
begin
timer3.Enabled := true;
exit;
end;
for i := 0 to high(Freigabeliste) do
if (Freigabeliste[i].belegt) and (freigabeliste[i].CallSign = TSSpeaker) then
begin
if not timer4.Enabled then
begin
LastCalling := TSSpeaker;
LastCallingIndex := i;
LastcallingSekunde := 0;
Timer4.Enabled := true;
end;
// Code für Makierung
end;
timer3.Enabled := true;
end;
Delphi-Quellcode:
function GetTSSpeaker :
string;
Function DisplayResult( Res : Integer ) : Boolean;
Var
ErrorMessage:
array[0..99]
of Char;
begin
if res = 0
then
begin
//Writeln('OK');
Result := True;
exit;
end
else
begin
tsrGetLastError(@ErrorMessage, SizeOf(ErrorMessage));
Result := False;
end;
end;
function DoGetPlayers : boolean;
var
PlayersInfo :
Array[0..99]
of TtsrPlayerInfo;
Records : Integer;
I : integer;
begin
result := true;
Records := 100;
DisplayResult(tsrGetPlayers(@playersInfo, @records) );
for I := 0
to Records - 1
do
begin
PLayer[i].id := PlayersInfo[i].PlayerID;
Player[i].
Name := PlayersInfo[i].NickName;
end;
result := true;
end;
function DoGetSpeakers :
string;
var
IDs :
Array[0..99]
of Integer;
Records : Integer;
I , u: integer;
PlayersInfo :
Array[0..99]
of TtsrPlayerInfo;
ID : integer;
begin
result := '
';
Records := 100;
try
//hier kommt der fehler
DisplayResult(tsrGetSpeakers(@playersInfo, @records) );
//if Records > 0 then ;
for I := 0
to Records - 1
do
for u := 0
to high(Player)
do
if Player[u].id = PlayersInfo[i].PlayerID
then
begin
result := player[u].
Name;
break;
end;
except
exit;
end;
end;
begin
result := '
';
if DOGetPlayers
then
try
result := DogetSpeakers;
except
On E:
Exception Do
//hLog.AddException(E,'Function GetTSSpeaker', []);
end;
end;
Sollte man nicht mit TeamSpeak verbunden sein, so passiert hier nix mit dem Code, also muss ich mich auch nicht mit dem TS disconnecten beim Beenden!