Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi strings via indy tcp versenden (https://www.delphipraxis.net/74913-strings-via-indy-tcp-versenden.html)

gandime 10. Aug 2006 19:00


strings via indy tcp versenden
 
hi,
ich suche nach einem weg wie ich strings (kleinen string sondern strings!) via delphi versenden kann
ich hab da zwar schon nen paar proceduren geschrieben aber iwie will das nicht richtig...

bitte hilfe

gandime

arbu man 10. Aug 2006 19:02

Re: strings via indy tcp versenden
 
Was meinst du jetzt mit Strings den Type TStrings oder mehere Strings
Fall 1: TStrings.Text dann ist es wieder ein String;
Fall 2: die einzelnen Strings trennen z.B. durch "|";

gandime 10. Aug 2006 20:15

Re: strings via indy tcp versenden
 
ich meine z.b. eine tstringlist

DeluxXx 30. Aug 2006 19:32

Re: strings via indy tcp versenden
 
Hm die gleiche frage stell ich mir auch und eine weitere wäre wenn man mehrere informationen senden will woher erkennt der Server bzw Client was , was ist woran zb kann ich unterscheiden wenn der client Clientname und zb Uptime schickt ?

gandime 2. Sep 2006 15:07

Re: strings via indy tcp versenden
 
so dafür hab ich jetzt eine lösung geschieben es gibt zwar bestimmt iwas besseres aber bei mir funzt es so

client:
Delphi-Quellcode:
procedure tform1.send_sl(als:string);
var
  i:integer;
begin
  IdTCPClient_strings.Host:=Edit1.text;
  IdTCPClient_strings.connect;
  if (als='') then
  begin
    als:='end?';
  end;
  sl.Add('end?'+als);
  for I := 0 to sl.Count - 1 do
  begin
    IdTCPClient_strings.IOHandler.WriteLn(sl[i]);
  end;
  IdTCPClient_strings.disconnect;
end;
server:
Delphi-Quellcode:
procedure TForm1.IdTCPServer_stringsExecute(AContext: TIdContext);
var
  s_z_speicher,s_read,s_command:string;
  sl2,sl:tstringlist;
  i:integer;
begin
  sl2:=tstringlist.create;
  sl.Clear;
  sl2.Clear;
  s_z_speicher:='';
  while (s_z_speicher<>'end') do
  begin
    s_read:=AContext.Connection.IOHandler.ReadLn;
    s_z_speicher:=copy(s_read, 1, pos('?',s_read) - 1); // vor ?
    s_command:=copy(s_read, pos('?',s_read) + 1, length(s_read));  // nach ?
    sl2.Add(s_read);
  end;
  for I := 0 to sl2.count - 2 do
  begin
    sl.Add(sl2[i]);
  end;
end;
das als:
Delphi-Quellcode:
procedure tform1.send_sl(als:string);
damit wird dann in der letzten zeile mitgeschickt, was mit der sl gemacht werden soll

ich hoffe es hilft ijemanden :)

mfg gandime


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