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

Вниз

Передача ф-ла   Найти похожие ветки 

 
Krann ©   (2002-08-26 15:16) [0]

Здраствуйте мастера помогите плз советом. Я конечно понимаю что не по адресу но все же:
Необходимо передавать файл по интернету.На клиенте для приема файла использую следующий код.Но проблема в том что нужно отображать состояние
передачи файла ProgressBar"ом ,но я не знаю как отловить изменение потока FStream
Подскажите плз что делать
procedure TClientForm.Button1Click(Sender: TObject);
var
SResponse: string;
FStream: TFileStream;
begin
with TCPClient do
begin
try
Connect;
while Connected do
begin

FStream := TFileStream.Create("C:\Test.txt" ,fmcreate);
try
SResponse := UpperCase(ReadLn);
if Pos("HELLO", SResponse) = 0 then Break;
WriteLn("GETTING");
ReadStream(FStream, -1, True);
FStream.Seek(0, soFromBeginning);
Label1.caption:="Файл загружен";
finally
Disconnect;
FStream.Free;
end;
end;
except
Label1.Caption:="Ошибка соединения с сервером";
end;
end;
end;
Посылаю файл соответственно сервером
procedure TServerForm.TCPServerExecute(AThread: TIdPeerThread);
var
FileName,SRequest: string;
FStream: TFileStream;
begin
with AThread.Connection do
begin
WriteLn("Hello from Indy TCP Stream Server.");
try
SRequest := UpperCase(ReadLn);
AStream := TStringStream.Create(Temp);
if SRequest = "GETTING" then
begin
Filename:=ReadLn;
FStream := TFileStream.Create(Filename,fmOpenReadWrite);
OpenWriteBuffer;
WriteStream(FStream);
CloseWriteBuffer;
FStream.Free;
Label1.Caption:= "Файл послан";
end;
finally
Disconnect;
end;
end;
end;


 
Reindeer Moss Eater   (2002-08-26 15:23) [1]

Передача/прием порциями + ProcessMessages + расчет процента выполнения


 
Krann ©   (2002-08-26 15:36) [2]

Спасибо за совет, я тоже так думал, но может есть метод подобный OnReceive,OnUpdate у какого нибудь аналогичного компонента?


 
Reindeer Moss Eater   (2002-08-26 15:39) [3]

Ну тогда асинхронный режим используй, если он поддерживается.



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-14081
murza
2002-08-26 11:50
2002.09.05
Компонент в компоненте


1-14092
peter_login
2002-08-23 13:46
2002.09.05
TMemo (TCustomMemo)


6-14207
cypher
2002-06-26 00:06
2002.09.05
Сетевые диски


1-13991
Бегинер
2002-08-25 21:13
2002.09.05
Массивы объектов


1-14109
velk
2002-08-23 14:44
2002.09.05
Проблема с циклом for