Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать тоже самое только под в Delphi 3


Piero ©   (2005-09-19 15:34:00) 

Нужно переделать программу приема - передачи для Delphi 3, в 6й Delphi это работает, а как переделать для 3-й, какими компонентами надо пользоваться? TTCP или еще как-то?

//Это прием

var i   : integer;
   m   : byte;
   a   : byte;
   b   : array [0..10000] of byte;
   ttmp: file of byte;
   t1  : file of byte;
begin
try
 checkfile(FilenameEdit1.Text);
 assignfile(t1,FilenameEdit1.Text);
 reset(t1);

 seek(t1,filesize(t1));
 m:=Socket.ReceiveLength;
 if m=0 then begin closefile(t1); exit; end;

 Memo1.Lines.add('<--- Принято '+inttostr(m)+' байт');
 for i := 0 to m  do
  begin
   socket.ReceiveBuf(a,1);
   b[i]:=a;
   write(t1,a);
  end;
 closefile(t1);
except
 Memo1.Lines.add('Ошибка при приеме данных');
end;
end;

// Передача
var b   : array [0..10000] of byte;
   i   : integer;
   by  : char;
   t2  : file of byte;
begin
 if not fileexists(FilenameEdit2.Text) then
   begin
    Memo1.Lines.add('# Файл вых. данных не готов для чтения');
    exit;
   end;

try
 assignfile(t2,FilenameEdit2.Text);
 reset(t2);
 seek(t2,0);

 i:=0;
 while not eof(t2) do
  begin
   read(t2,b[i]);
   i:=i+1;
  end;  //while
 closefile(t2);
 clientSocket1.Open;
 clientSocket1.Socket.SendBuf(b,i);
 memo1.Lines.Add('---> Отправленно '+inttostr(i)+' байт');
except
 Memo1.Lines.add('# Ошибка при передаче данных');
end;

end;

------------------------------------------------------------
и еще вопрос если делать так:

 clientSocket1.Open;
 clientSocket1.Socket.SendBuf(b,i);
 clientSocket1.close;
то данные не успевают передаться, до того как   clientSocket1 закроется, как сделать так что бы он закрывался после передачи, ведь специального свойства нет.


Piero   (2005-09-20 15:41:00) [1]

а можно где нибудь достать эти компаненты ?


Чапаев   (2005-09-19 16:47:00) [2]

TClientSocket|TServerSocket
Есть только в версии клиент-сервер.


Наверх

Титульная страница Поиск, карта сайта Написать письмо