Главная страница
    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.007 c
1-14130
hotKEY
2002-08-22 09:27
2002.09.05
Как считать и преобразовать в строковый вид параметр Hotkey?


3-13937
My name is Andrew
2002-08-16 01:50
2002.09.05
Копирование данных из MSSQL в Access


14-14236
Mordor
2002-08-10 07:44
2002.09.05
С4итается ли Delphi востребованым


1-14119
id_privin
2002-08-23 11:36
2002.09.05
Sender is not! TButton


3-13867
michael_b
2002-08-12 22:59
2002.09.05
подскажите где взять исходняк хорошого примера работы с InterBase





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский