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/)
-   -   Delphi Treeview zu Ordnung (https://www.delphipraxis.net/38034-treeview-zu-ordnung.html)

dac424 13. Jan 2005 19:08


Treeview zu Ordnung
 
1. Hallo liebe Progger wer kann Helfen ich versuche genau wie Im Teamspeak
Die Channel Liste da zu stellen und das alles mit der Remote DLL
anscheinend kann man da die Channels nicht so anzeigen lassen wie im Teamspeak.
2 warum oder was mache ich falsch die Icons werden einfach nicht korekt abgebildet

Sprich server Icon
Channel Icons
und natürlich die User/Player
wen jemand da weiter Helfen könnte ware das echt Klasse.

Anfragen beim Progger vom Clienten per Email waren Ohne jeglichen erfolg
die haben anscheinen keine Lust zu helfen.

also anbei mal meine Routine wo ich die Server Liste mit auslese
wer helfen kann bin für jeden Vorschlag Offen.

Code:
procedure TForm1.Button3Click(Sender: TObject);
var err_srv,err_init,anz:integer;
  host,ip,ip2:string;
  dtr,rts:boolean;
    ChannelsInfo : Array[0..1023] of TtsrChannelInfo;
  Records : Integer;
  I,l: integer;
  server:TtreeNode;
  serverinfo:ttsrserverinfo;
  players: Array[0..1023] of Ttsrplayerinfo;
  channel: TTreeNode;
begin
try
tsrgetplayers(@players,@anz);
except
showmessage('ERROR');
end;
 try
err_init:=tsrGetChannels(@ChannelsInfo, @records);
except
if not (err_init = 0) then
showmessage('ERROR');
end;
     tsrgetserverinfo(@serverinfo);
    tvchannels.Items.Clear; { Vorhandene Knoten entfernen }
   server := tvchannels.Items.Add(nil,serverinfo.ServerName);
  server.ImageIndex := 2;
  server.SelectedIndex:= 2;
    if Records > 0 then
 for I :=1 to Records-1 do begin
if ChannelsInfo[I].ChannelParentID = -1 then begin
tvChannels.FullExpand;
tvchannels.Items.AddChild(nil,ChannelsInfo[I].Name);
tvchannels.Items.Item[i].ImageIndex:=3;
tvchannels.Items.Item[i].SelectedIndex:=3;

for l :=0 to anz-1 do begin
if players[l].ChannelID = ChannelsInfo[I].ChannelID then

 begin
channel:=findrootnode(ChannelsInfo[I].Name,tvchannels);
tvchannels.Items.AddChild(channel,players[l].NickName);
//tvchannels.Items.Item[l+1].ImageIndex:=0;
//tvchannels.Items.Item[l+1].SelectedIndex:=0;
end;
end;


end
else
begin
tvChannels.FullExpand;
tvchannels.Items.AddChild(nil,ChannelsInfo[I].Name);
tvchannels.Items.Item[i].ImageIndex:=3;
tvchannels.Items.Item[i].SelectedIndex:=3;
for l :=0 to anz-1 do begin
if players[l].ChannelID = ChannelsInfo[I].ChannelID then begin
channel:=findrootnode(ChannelsInfo[I].Name,tvchannels);
tvchannels.Items.AddChild(channel,players[l].NickName);
//tvchannels.Items.Item[l].ImageIndex:=0;
//tvchannels.Items.Item[l].SelectedIndex:=0;
end;
end;
end;

end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:15 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