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

•  DeLiKaTeS Tetris (Тетрис)  2 128

•  TDictionary Custom Sort  4 480

•  Fast Watermark Sources  4 231

•  3D Designer  6 436

•  Sik Screen Capture  4 487

•  Patch Maker  5 009

•  Айболит (remote control)  4 957

•  ListBox Drag & Drop  3 957

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

•  Графические эффекты  5 181

•  Рисование по маске  4 241

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

•  Canvas Drawing  3 859

•  Рисование Луны  3 613

•  Поворот изображения  3 169

•  Рисование стержней  2 799

•  Paint on Shape  2 102

•  Генератор кроссвордов  2 892

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

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

•  Пазл Numbrix  2 016

•  Заборы и коммивояжеры  2 634

•  Игра HIP  1 632

•  Игра Go (Го)  1 555

•  Симулятор лифта  1 844

•  Программа укладки плитки  1 592

•  Генератор лабиринта  1 994

•  Проверка числового ввода  1 728

•  HEX View  1 931

•  Физический маятник  1 728

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Как переслать файл через nonBlocking сокет



Благодаря американской компьютеризированной системе выборов президента, тысячи российских хакеров смогли принять участие в голосовании...


//  а форме ServerSocket1, ClientSocket1 : (Active := False,
//  Host := localhost, Port := 2001, xType := xNonBlocking),
//  OpenDialog1, Button1, Memo1.

procedure TfmMain.FormCreate(Sender: TObject);
begin
  ServerSocket1.Active:=true;
  ClientSocket1.Active:=true;
end;

{--- Server ---}

procedure TfmMain.Button1Click(Sender: TObject);
var
  sStream : TMemoryStream;
begin
  sStream := TMemoryStream.Create;
  if not OpenDialog1.Execute then
    Exit;
  sStream.LoadFromFile(OpenDialog1.FileName);
  ServerSocket1.Socket.Connections[0].SendStreamThenDrop(sStream);
end;

{--- Client ---}

const
  MAX_BUF_SIZE = $4095;

var
  fStream: TFileStream;

{OnConnect}
procedure TfmMain.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  fStream:= TFileStream.Create('Receive.fil', fmCreate);
end;

{OnRead}
procedure TfmMain.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
  count :Integer;
  buffer: Array [0..MAX_BUF_SIZE] of Char;
begin
  repeat
    Socket.Lock;
    count:= Socket.ReceiveBuf(buffer,SizeOf(buffer));
    if count > 0 then
      fStream.WriteBuffer(buffer,count);
    Socket.Unlock;
   until (count <= 0);

   Memo1.Lines.Add(IntToStr(fStream.Size));
end;

{OnDisconnect}
procedure TfmMain.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
   fStream.Free;
end;






Похожие по теме исходники

Чтение PSD файлов

Шифратор файлов

Разбиение файла на части

Поиск файлов

 

FileMan (менеджер файлов)

Поиск открытых файлов

Текст внутри файла

RSA шифрование через OpenSSL

 



Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте