Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.29;
Скачать: CL | DM;

Вниз

Помогите советом как отправить ListBox1.Items   Найти похожие ветки 

 
Sanek_sd   (2006-12-22 21:33) [0]

Приветствую... :)

Немного озадачился как при помощи indy по TCP отправить содержимое ListBox1.Items.Text???... приходит только первый итемс... я так понял причина в символе переноса строки... ну вроде как понимаю что ListBox1.Items.Text нада конвертнуть передать принять.. и опять конвертнуть...

но возможно есть другой способ.. если есть подскажите плиз.. пока не нагарадил.. :)

пасиб!..


 
Dmitrij_K   (2006-12-23 13:57) [1]

Например так

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
 StdCtrls, IdIOHandler, IdTCPServer, IdContext;

type
 TForm1 = class(TForm)
   Button1: TButton;
   IdTCPClient1: TIdTCPClient;
   IdTCPServer1: TIdTCPServer;
   ListBox1: TListBox;
   procedure Button1Click(Sender: TObject);
   procedure IdTCPServer1Execute(AContext: TIdContext);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure WriteStrings(sl:TStrings; IOHandle:TIdIOHandler);
var j:Integer;
begin
 IOHandle.WriteLn(IntToStr(sl.Count));
 for j:=0 to sl.Count-1 do
   IOHandle.WriteLn(sl[j]);
end;

procedure ReadStrings(sl:TStrings; IOHandle:TIdIOHandler);
var k,j : Integer;
begin
 sl.Clear;
 if TryStrToInt(IOHandle.ReadLn, k) then
 begin
   for j:=1 to k do
     sl.Add(IOHandle.ReadLn)
 end
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 IdTCPClient1.Host := "127.0.0.1";
 IdTCPClient1.Port := 12345;
 IdTCPClient1.Connect;
 ReadStrings(ListBox1.Items, IdTCPClient1.IOHandler);
 IdTCPClient1.Disconnect;
end;

procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var sl : TStringList;
begin
 sl := TStringList.Create;
 sl.Add("1");
 sl.Add("2");
 sl.Add("3");
 sl.Add("4");
 sl.Add("5");
 sl.Add("xxx");
 WriteStrings(sl, AContext.Connection.IOHandler);
 sl.Free;
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2007.07.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
5-1158051976
Alexey03
2006-09-12 13:06
2007.07.29
Как в эксперте создать кнопку на панели инструментов Delphi IDE?


15-1182926820
IGray
2007-06-27 10:47
2007.07.29
Стандарт оформления кода от Borland - ссылку плиииз!


15-1183312891
IPE
2007-07-01 22:01
2007.07.29
Apache 2


11-1166449550
TAHKEP
2006-12-18 16:45
2007.07.29
Можно как-то "впихнуть" ProgressBar ы в StatusBar ?


2-1183447174
delphino
2007-07-03 11:19
2007.07.29
Почему может долго грузится программа?