Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
1-14136
-=Владимир=-
2002-08-24 13:25
2002.09.05
Рабочий стол.


4-14335
mifi
2002-06-06 22:15
2002.09.05
ExtractIcon + nvsvc32.exe


1-14156
Kolya
2002-08-25 05:27
2002.09.05
Combobox


1-14064
Ettore
2002-08-27 09:59
2002.09.05
реестр Windows: считывание Value Name (Default)


14-14211
VictorT
2002-08-07 15:48
2002.09.05
Бухгалтера гонят





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский