Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2008, 14:44   #1
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию Помогите с кодом отправки и приема...

вот код
Код:
    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;
Суть кота в том, что бы отправлять файлы потоком по сети...но как мне узнать сколько я передал байт и сколько еще осталось передеать...?
З.Ы : Код не мой....выкопал где-то
prizrak1390 вне форума Ответить с цитированием
Старый 28.05.2008, 15:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты частями передавай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.05.2008, 15:34   #3
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Stilet
Если бы я знал как это сделать....(
prizrak1390 вне форума Ответить с цитированием
Старый 30.05.2008, 13:43   #4
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

А как узнать что передача закончена????
prizrak1390 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с кодом DM_bite Помощь студентам 12 02.08.2008 11:40
Помогите с кодом Кронос Общие вопросы Delphi 6 04.05.2008 21:13
Помогите с кодом prostoCHEL Общие вопросы Delphi 4 02.03.2008 21:56
Помогите с программным кодом! profi Помощь студентам 1 25.11.2007 12:29