Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 441

•  TDictionary Custom Sort  6 471

•  Fast Watermark Sources  6 262

•  3D Designer  9 215

•  Sik Screen Capture  6 599

•  Patch Maker  6 986

•  Айболит (remote control)  6 985

•  ListBox Drag & Drop  5 858

•  Доска для игры Реверси  97 004

•  Графические эффекты  7 187

•  Рисование по маске  6 482

•  Перетаскивание изображений  5 350

•  Canvas Drawing  5 726

•  Рисование Луны  5 441

•  Поворот изображения  4 970

•  Рисование стержней  3 532

•  Paint on Shape  2 799

•  Генератор кроссвордов  3 666

•  Головоломка Paletto  2 953

•  Теорема Монжа об окружностях  3 761

•  Пазл Numbrix  2 479

•  Заборы и коммивояжеры  3 165

•  Игра HIP  2 128

•  Игра Go (Го)  2 060

•  Симулятор лифта  2 425

•  Программа укладки плитки  2 108

•  Генератор лабиринта  2 570

•  Проверка числового ввода  2 259

•  HEX View  2 586

•  Физический маятник  2 200

 
скрыть

Послать файл от TServerSocket на TClientSocket



Мой адрес на дом и не улица, мой адрес тройной дабл ю.


unit Unit1; 

interface 

uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, ScktComp, StdCtrls; 

type 
  TForm1 = class(TForm) 
    ClientSocket1: TClientSocket; 
    ServerSocket1: TServerSocket; 
    btnTestSockets: TButton; 
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); 
    procedure FormCreate(Sender: TObject); 
    procedure FormDestroy(Sender: TObject); 
    procedure ClientSocket1Disconnect(Sender: TObject; 
      Socket: TCustomWinSocket); 
    procedure ClientSocket1Connect(Sender: TObject; 
      Socket: TCustomWinSocket); 
    procedure ServerSocket1ClientConnect(Sender: TObject; 
      Socket: TCustomWinSocket); 
    procedure btnTestSocketsClick(Sender: TObject); 
  private 
    FStream: TFileStream; 
    { Private-Deklarationen } 
  public 
    { Public-Deklarationen } 
  end; 

var 
  Form1: TForm1; 

implementation 

{$R *.dfm} 

procedure TForm1.ClientSocket1Read(Sender: TObject; 
  Socket: TCustomWinSocket); 
var 
  iLen: Integer; 
  Bfr: Pointer; 
begin 
  iLen := Socket.ReceiveLength; 
  GetMem(Bfr, iLen); 
  try 
    Socket.ReceiveBuf(Bfr^, iLen); 
    FStream.Write(Bfr^, iLen); 
  finally 
    FreeMem(Bfr); 
  end; 
end; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
  FStream := nil; 
end; 

procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  if Assigned(FStream) then 
  begin 
    FStream.Free; 
    FStream := nil; 
  end; 
end; 

procedure TForm1.ClientSocket1Disconnect(Sender: TObject; 
  Socket: TCustomWinSocket); 
begin 
  if Assigned(FStream) then 
  begin 
    FStream.Free; 
    FStream := nil; 
  end; 
end; 

procedure TForm1.ClientSocket1Connect(Sender: TObject; 
  Socket: TCustomWinSocket); 
begin 
  FStream := TFileStream.Create('c:\temp\test.stream.html', fmCreate or fmShareDenyWrite); 
end; 

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; 
  Socket: TCustomWinSocket); 
begin 
  Socket.SendStream(TFileStream.Create('c:\temp\test.html', fmOpenRead or fmShareDenyWrite)); 
end; 

procedure TForm1.btnTestSocketsClick(Sender: TObject); 
begin 
  ServerSocket1.Active := True; 
  ClientSocket1.Active := True; 
end; 

end.