Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Aktuelles Sprecher in Teamspek herausfinden (https://www.delphipraxis.net/123041-aktuelles-sprecher-teamspek-herausfinden.html)

SimStar001 26. Okt 2008 14:20


Aktuelles Sprecher in Teamspek herausfinden
 
SO ich habs jetzt geschafft schonmal die Liste der Sprecher herauszubekommen.

Wie kann ich jetzt ermitteln welcher davon gerade spricht!?

toms 26. Okt 2008 16:05

Re: Aktuelles Sprecher in Teamspek herausfinden
 
Zitat:

Zitat von SimStar001
SO ich habs jetzt geschafft schonmal die Liste der Sprecher herauszubekommen.

Wie kann ich jetzt ermitteln welcher davon gerade spricht!?

Wahrscheinlich analog zur 1. Lösung. Handle suchen, Text auslesen

SimStar001 26. Okt 2008 16:52

Re: Aktuelles Sprecher in Teamspek herausfinden
 
Jo habs jetzt irgendwie geschafft den sprecher auszulesen, aber verstehen was ich da genau gemacht habe und wieso es funktioniert tute ich net! :wall:

Die Muhkuh 26. Okt 2008 16:52

Re: Aktuelles Sprecher in Teamspek herausfinden
 
Also Copy & Paste Lösung?

SimStar001 26. Okt 2008 17:38

Re: Aktuelles Sprecher in Teamspek herausfinden
 
nein nicht so ganz!? hier mein code:

Delphi-Quellcode:
function GetTSSpeaker : pchar;
Function DisplayResult( Res: Integer ) : Boolean;
Var
  ErrorMessage: array[0..1023] 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..1023] of TtsrPlayerInfo;
  Records : Integer;
  I: integer;
begin
  result := true;
  Records := 1024;
  if not DisplayResult(tsrGetPlayers(@playersInfo, @records) ) then ;
  if Records > 0 then
  setlength(Player,records);
  if records > 0 then
    begin
    for I :=0 to Records-1 do
      begin
      PLayer[i].id := PlayersInfo[i].PlayerID;
      Player[i].Name := PlayersInfo[i].NickName;
      end;
    result := true;
    end;
end;

function DoGetSpeakers : pchar;
var
  IDs : Array[0..1023] of Integer;
  Records : Integer;
  I: integer;
  PlayersInfo : Array[0..1023] of TtsrPlayerInfo;
  ID : integer;
begin
  result := '';
  Records := 1024;
 if not DisplayResult(tsrGetSpeakers(@playersInfo, @records) ) then exit;
  if Records > 0 then ;
  for I :=0 to Records-1 do
    ID := PlayersInfo[i].PlayerID ;

  for i:= 0 to high(Player) do
    if Player[i].id = Id then
      result := pchar(player[i].Name);
end;

begin
  result := '';
  if DOGetPlayers then
    result := DogetSpeakers;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz