Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Listbox Inhalt von Server zum clienten schicken??? (https://www.delphipraxis.net/120495-listbox-inhalt-von-server-zum-clienten-schicken.html)

htxmlx 11. Sep 2008 15:02


Listbox Inhalt von Server zum clienten schicken???
 
Hallo,
ich hab eine kleine Frage die ich mir aus sämtlichen Chat-Turorials und der Sufu net beantworten konnte... unzwar hab ich aus einem Tutorial einen Chat programmiet, da mir dies noch ein wenig zu simpel war hab ich mir überlegt ne Online-Liste zu machen, in der man den Computernamen von dejenigen sieht die online sind, computernamen deshalb weils erstmal einfacher ist als der nickname...

so auf dem server erscheinen die namen der online user auch alle in der ListBox, nur meine Frage ist jetzt wie ich es hinbekomme das ich den Ihnalt der Listbox von server nun auch zur listbox beim clienten schicken kann, da ich den gesendeten text dann ja i-wie definieren müsste? Dafür müsste es doch einen befehl wie clientsend listbox.index... oder sowas geben?

Ich hoffe wenigestens einer versteht mien problem andererseits kann ich mienen quelltext auch nochmal posten....

Gruß, htxmlx

SirThornberry 11. Sep 2008 15:41

Re: Listbox Inhalt von Server zum clienten schicken???
 
Der Client sendet am besten eine Anfrage an den Server das er die Liste haben will und der Server antwortet entsprechend mit der Liste.
Natürlich kann der Server auch einfach so die Liste schicken ohne das vorher angefragt wurde was sinn macht sobald sich ein neuer Client anmeldet (der Server geht dann die Liste aller Clients durch und schickt diesen die Liste).
Um dir genau weiterhelfen zu können müsstest du uns verraten mit welchen Komponenten du es bisher, wie anstellst und an welcher Stelle du genau mit diesen Komponenten nicht weiter kommst.

htxmlx 11. Sep 2008 15:52

Re: Listbox Inhalt von Server zum clienten schicken???
 
Ok danke erstmal für deine Antwort, also bisher arbeite ich mit ClientSocket und ServerSocket, die beiden die man sich da erst wiederhohlen muss in den Reiter Internet...


So wird etwas zum Server verschickt...
Delphi-Quellcode:
if (ClientSocket1.Active=true) and (Edit1.Text<>'') then ClientSocket1.Socket.SendText(NickName+': '+Edit1.Text);
Edit1.Text:='';
Edit1.SetFocus;
Und so wird der Text der von Server gesendet wird im Clienten eingelesen..
Delphi-Quellcode:
Memo1.Lines.Add(Socket.ReceiveText);
So empfängt bzw. sendet der server den text...
Delphi-Quellcode:
 Text:=Socket.ReceiveText;
    Memo1.Lines.add(Timetostr(now)+': '+Text);
    For I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
    begin
     with ServerSocket1.Socket.Connections [I] do
     if (Connected) then SendText(Text);
      end;
Gruß, htxmlx

SirThornberry 11. Sep 2008 15:57

Re: Listbox Inhalt von Server zum clienten schicken???
 
dann in deiner Schleife den Inhalt der Listbox (List.Items.Text) versenden.

als kleiner Tipp für Später: Denke dir ein Protokoll aus sonst bekommst du irgendwann unschöne Fehler.
Denn wenn du kurz hintereinander 2 was sendest kann es passieren das dies als ein 1 gesamter Text ankommt.
Bei großen Daten kann es hingegen passieren das du 1 was sendest und es in mehreren Stücken hintereinander ankommt.

htxmlx 11. Sep 2008 16:02

Re: Listbox Inhalt von Server zum clienten schicken???
 
Also dann "Send(Listbox1.Items.Text)" oder wie lautet der genaue Befehl ?

Das mit dem Protokoll hab ich mir auch schon mal angeguckt aber...denke damit fang ich vielleicht in ein bis zwei monaten mal an..

Gruß, htxmlx

SirThornberry 11. Sep 2008 16:05

Re: Listbox Inhalt von Server zum clienten schicken???
 
probier es einfach aus ob es so geht. Wenn es nicht funktioniert einfach nochmal nachfragen :-) Man lernt am meisten wenn man einfach probiert und es sich dadurch selbst erarbeitet.

htxmlx 11. Sep 2008 16:39

Re: Listbox Inhalt von Server zum clienten schicken???
 
Ne funkt leider net...
aber ich bräuchte ja zwei befehle unzwar:

1. Wie sendet der Server den inhalt der Listbox
2. wie empfängt der client diesen inhalt...weil als ReciveText kann er den ja nicht empfangen, da der ja im Memo-Fenster (Chatfenster) angezeigt wird...

Gruß, htxmlx

PS: Man müsste praktisch definieren können welcher Text gesendet wird, einmal die Message für den Chat und einmal die Liste, die dann zum client gesendet wird und dort zu der listbox geaddet wird...

DeddyH 11. Sep 2008 17:22

Re: Listbox Inhalt von Server zum clienten schicken???
 
Mach das doch per SendText und setz ein Zeichen vornedran, das der Normalbenutzer wohl nie eingeben wird (#255 z.B.). Wenn der Text mit diesem Zeichen beginnt, kannst Du halbwegs sicher sein, dass das keine Benutzereingabe war.

htxmlx 11. Sep 2008 17:39

Re: Listbox Inhalt von Server zum clienten schicken???
 
Das wäre ne idee, aber wie kann ich die ersten 3 zeilen definieren, d.h.

if "der recievde text begin mit #255" then add to listbox...

Gruß, htxmlx

DeddyH 11. Sep 2008 17:57

Re: Listbox Inhalt von Server zum clienten schicken???
 
Was meinst Du mit "die ersten 3 Zeilen"?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:16 Uhr.
Seite 1 von 5  1 23     Letzte »    

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