Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
1-14146
Toster
2002-08-24 20:37
2002.09.05
Наследование стандартных классов.


8-14182
AlexZav
2002-04-25 17:39
2002.09.05
Проблема с овобождением интерфейсов в DirectShow


3-13939
Nazareth
2002-08-15 14:32
2002.09.05
Проблема переносимости из Delphi 5 в Delphi 6


7-14301
Андрей111
2002-06-24 13:05
2002.09.05
Сканер


3-13910
Nikkk
2002-08-14 14:00
2002.09.05
Memory




   Наверх