Einzelnen Beitrag anzeigen

gandime
(Gast)

n/a Beiträge
 
#11

Re: ClientSocket steam verschicken mit vorherigen Zeichen

  Alt 26. Jan 2008, 20:12
nein guck doch mal die Antwort von Muetze1 an steht wieder eine Möglichkeit drinne!
also du brauchst ein Zeichen oder eine Zeichenfolge die dir sagt: fertig hatte da mal was schönes gecodet:
Delphi-Quellcode:
procedure TForm1.ss_serverClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
  s_receve,s_temp:string;
  b_da:boolean;
  I,i_sockethander: Integer;
begin
  i_sockethander:=socket.SocketHandle;
  for I := 0 to lv_bots.Items.Count - 1 do
  begin
    if (lv_bots.Items.Item[i].SubItems.Strings[8]=inttostr(i_sockethander)) then
    begin
      s_receve:=lv_bots.Items.Item[i].SubItems.Strings[9];
    end;
  end;
  s_receve:=s_receve+Socket.ReceiveText;
  repeat
  begin
    b_da:=false;
    s_temp:='';
    for I := 0 to length(s_receve) -1 do
    begin
      if (s_receve[i]='|') then
      begin
        b_da:=true;
      end;
    end;
    if (b_da=true) then
    begin
      s_temp := copy(s_receve, 1, pos('|', s_receve) - 1);
      s_receve := copy(s_receve, pos('|', s_receve) + 1, length(s_receve));
      for I := 0 to lv_bots.Items.Count - 1 do
      begin
        if (lv_bots.Items.Item[i].SubItems.Strings[8]=inttostr(i_sockethander)) then
        begin
          lv_bots.Items.Item[i].SubItems.Strings[9]:=s_receve;
        end;
      end;
      if (s_temp<>'') then
      begin
        handle(i_sockethander,s_temp);
      end;
    end;
  end;
  until (b_da=false);
end;
damit geht es theoretisch aber du brauchst halt egl zeichen die in einer Datei nicht vorkommen... was aber schwierig wird da ja jedes Zeichen vorkommen kann
  Mit Zitat antworten Zitat