Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi ClientSocket1ReadClick... (https://www.delphipraxis.net/5207-clientsocket1readclick.html)

dde 27. Mai 2003 21:08


ClientSocket1ReadClick...
 
Hi,

ich wollte wissen, wie ich es hinbekomme, dass statusbar und ein label/edit den text vom server zeigt. Jedoch sollen Sie unterschiedlichen Text anzeigen ZB:

mit dem Button ComputerAuflösung soll in ein Label die auflösung gezeigt werden und in der statusbar der statut (Auflösung erhalten...)

einer ne idee??

RomanK 27. Mai 2003 21:15

Hoi,
wie wäres wenn du vor jeden String schreibst was es ist also z.B:
%Monitor%>>und_dann_dein_text<<. Dann kannst du auf dem Client auslesen was es ist und dieses dann passend zuordnen.

dde 27. Mai 2003 21:45

??? ich versteh nur bahnhof ;-)

Ich glaub dafür müsste ich erst wieder ne Prozedur für die auflösung im clienten schreiben, damit er versteht was auflösung ist, weil der text ja durch die auflösung immer variert (zB 800*600, 1024*768..) und da ich das ja nicht nur mit der auflösung machen will, sondern für alle anderen komponenten, dann wäre das erstens zu viel arbeit und zweitens unübersichtlicher...
andere ratschläge??

ATwardz 27. Mai 2003 22:58

Machs einfach
 
Mach es so wie FuckRacism
Zerplück den String einfach nachdem du ihn erhalten hast und kontrollioere dann mit ner If-Bedingung ob z.B. die ersten 5 Zeichen = Monitor sind, nimmt dann den rest und dann hast du es!
Wenn dein Progr. nit so viele Fallunterscheidungen braucht kannste ja nur das erste zeichen nehmen, das is dann auch net viel arbeit!

If socket.receivetext[1] = 'M' then
Begin
...
@wardz

dde 28. Mai 2003 09:28

ich werde es mal versuchen, thx

dde 28. Mai 2003 10:29

habe es mal ausprobiert, aber irgendwie funktioniet das nicht ganz. Bekomme immer eine Access Violation message. Kann mal einer ein beispiel posten, damit ich mich an dem orientiren kann?

dde 28. Mai 2003 14:15

So ich habe es jetzt anders gelöst, yeah^^!!

So sieht der code ungefähr aus:

im Server:

Delphi-Quellcode:
procedure TForm1.ServerSocketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var v:Socket.ReceiveText
begin
if v='blablabal' then
 begin
   Socket.SendText('bla1'+'blablub'));
   sleep(200);
   Socket.SendText('bla2'+'blablub2');
  end;
end;
im clienten:
Delphi-Quellcode:
procedure TForm1.ClientSocketRead(Sender: TObject;
  Socket: TCustomWinSocket);
var i,cmd:string;
begin
 i:=Socket.ReceiveText;
 cmd:=copy(i,0,4);

if cmd='bla1' then Label1.Caption:=copy(i,5,length(i));
if cmd='bla2' then Label2.Caption:copy(i,5,length(i))
end;
(i,5,length(i)) ist der erhaltene Text ab Zeile 5 bis Ende des Textes!


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.

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