Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Узнать процент отправки [D7, WinXP]


MRAk ©   (2005-10-31 04:26:00) 

собственно есть такой кусок отправки файла:
   fs.Position:= 0;
   Socket.SendText('#$!file'+IntToStr(fs.Size) + #0 +ExtractFileName(putfail)+ #0);
   Socket.SendStream(fs);
вот тут вопрос как можно узнать сколько процентов отправленно? только не через ответные сообшения...

Заранее спасибо


MRAk   (2005-10-31 20:16:00) [1]

Спсибо.. большое вот такой код получился:

function TMyFileStream.Read(var Buffer; Count: Longint):Longint;
begin
Result := inherited Read(Buffer, Count);
obsh:=obsh+result;
unit2.Form2.Gauge1.Progress:=round((Obsh/Size)*100);
if round((Obsh/Size)*100)=100 then
unit2.Form2.Label3.caption:='Файл успешно отправлен... ожидаем конца приема';
end;


Digitman   (2005-10-31 15:01:00) [2]


> озночает использовать стандартные действия?


это означает вызов одноименного метода класса-предка

Result := inherited Read(Buffer, Count);


MRAk   (2005-10-31 14:51:00) [3]

Простите за нубовский вопрос
Result := inherited;
Это я так понимаю озночает использовать стандартные действия? а то он ругается на это место


Digitman   (2005-10-31 13:08:00) [4]

TMyFileStream = class(TFileStream)
..
protected
 function Read(var Buffer; Count: Longint): Longint; override;
..
end;

...
function TMyFileStream := Read(var Buffer; Count: Longint): Longint;
begin
 Result := inherited;
 showmessage(Format('Отправлено %2u процентов', [Result * 100 / Size]);
end;

fs := TMyFileStream.Create(..);
...
Socket.SendStream(fs);


MRAk   (2005-10-31 12:57:00) [5]

хм а как это сделать? можно пример?


Digitman   (2005-10-31 08:37:00) [6]


> как можно узнать сколько процентов отправленно?


реализуй своего наследника класса TFileStream, в нем перекрой вирт.метод Read()


Наверх

Титульная страница Поиск, карта сайта Написать письмо