var Form1: TForm1; clt: TClientSocket; fs:tmemorystream; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin clt:=tclientsocket.Create(self); clt.OnConnect:=conn; clt.OnDisconnect:=dconn; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin clt.Address:='127.0.0.1'; clt.Port:=33666; clt.active:=true; end; procedure TForm1.conn(Sender: TObject; Socket: TCustomWinSocket); begin windows.beep(999,99); end; procedure TForm1.dconn(Sender: TObject; Socket: TCustomWinSocket); begin windows.beep(200, 99); end; procedure TForm1.BitBtn2Click(Sender: TObject); begin clt.Socket.SendText(edit1.text); end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin speedbutton3.Click; if not clt.socket.SendStream(fs) then showmessage('not sent!'); end; procedure TForm1.SpeedButton3Click(Sender: TObject); var bmp:tbitmap; jpg:tjpegimage; can:tcanvas; begin can:=tcanvas.create; can.Handle:=getdc(0); bmp:=tbitmap.create; bmp.width:=screen.Width; bmp.Height:=screen.Height; bmp.canvas.CopyRect(rect(0,0,1024,768), can, rect(0,0, 1024, 768)); jpg:=tjpegimage.Create; jpg.Assign(bmp); jpg.CompressionQuality:=50; fs:=tmemorystream.Create; jpg.Compress; jpg.SaveToStream(fs); label1.caption:=inttostr(fs.Size); end; end.