Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Indy tc clien   Найти похожие ветки 

 
Std ©   (2006-04-10 14:24) [0]

доброго времени
Вот отправляю файл с помощью этой компоненты:

type
 TtransCom = record
   FileName: String[255];
   BufSize: Int64;
   Buffer: array[0..16383] of byte;
end;
type
 Tcomand = record
   comand:string[255];
   param1:string[255];
   param2:string[255];
end;
procedure TForm1.Button1Click(Sender: TObject);//отправка файла
var
com:Tcomand;
transcom:TtransCom;
f:file;
numread:integer;
begin
AssignFile(f,"d:\card.doc");
FileMode:=fmOpenRead;
Reset(f);
IdTCPClient1.Connect(1000);
repeat
 transcom.FileName:="card.doc";
 BlockRead(f,transcom.Buffer,sizeof(transcom.Buffer),numread);
 transcom.BufSize:=numread;
 com.comand:="send";
 com.param1:=inttostr(FileSize(f));
 idTCPClient1.WriteBuffer(Com,SizeOf(Com));
 idTCPClient1.WriteBuffer(transcom,SizeOf(TransCom));
until (numread=0);
CloseFile(f);
IdTCPClient1.Disconnect;
end;

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);//получение файла
var
com:Tcomand;
transcom:TtransCom;
f:file;
begin
AThread.Connection.ReadBuffer(com,sizeof(com));
if com.comand="send" then
 begin
   AThread.Connection.ReadBuffer(transcom,sizeof(transcom));
   AssignFile(f,"c:\"+transcom.FileName);
   FileMode:=fmOpenReadWrite;
   try
     Reset(f);
   except
      Rewrite(f);
   end;
   Seek(f,filesize(f));
   If FileSize(F)<>StrToInt(Com.Param1) then
     begin
       BlockWrite(F,TransCom.Buffer,TransCom.BufSize);
       Application.ProcessMessages;
       closefile(f);
     end
     else
     closefile(f);
 end;
end;

при выполнениее программы вибивает ошибку:
I/O error 998 вот здесь
BlockRead(f,transcom.Buffer,sizeof(transcom.Buffer),numread);
в чем проблема не пойму... все вроде правильно
оправлять и получать файл Strem"ом нежелательно,  нада реализовать этот метод...


 
Сергей М. ©   (2006-04-10 15:00) [1]

И причем здесь Инди ?


 
Std ©   (2006-04-10 15:13) [2]

хз, може я через инди не правильно чето делаю


 
Сергей М. ©   (2006-04-10 15:25) [3]


> може я через инди не правильно чето делаю


Ты с дерева упал, да ?

Вот ты скажи, ну какое отношение ф-ция BlockRead() имеет к Indy ?



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
11-1131652752
Flea
2005-11-10 22:59
2006.08.27
MHFindReplaceDialog


2-1155036326
Yeg
2006-08-08 15:25
2006.08.27
TreeView.Items.Count


15-1154323092
Ega23
2006-07-31 09:18
2006.08.27
С Днём рождения! 31 июля


2-1154787406
Reaktor
2006-08-05 18:16
2006.08.27
Как изменить цвет объекта Button?


15-1154073368
NeyroSpace
2006-07-28 11:56
2006.08.27
Нужна программакоторая может организовать аудиовидео конференцию