Главная страница
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.015 c
1-14120
vinivor
2002-08-23 20:52
2002.09.05
Как менять курсоры без перезагрузки


14-14241
FLIZ
2002-08-10 13:28
2002.09.05
Отдам в хорошие руки книги по ассемблеру !!!


1-14114
delphiguru
2002-08-23 19:30
2002.09.05
WinExec и ShellExecute


14-14251
Alexsandri
2002-08-11 12:12
2002.09.05
господа возможно ли перехватить ножатие на del


1-14036
Лохматый
2002-08-21 10:13
2002.09.05
FileOpen