-
передаю файл через TidTCPClient
client:TidTCPClient
передаю так:
client.writestream(stream, true, true, stream.size);
Как мне во время передачи отобразить сколько данный в данный момент передано???
спасибо
-
см. события OnWork, OnWorkBegin, OnWorkEnd.
-
> Eraser © (18.11.08 04:09) [1]
> см. события OnWork, OnWorkBegin, OnWorkEnd.
Что то в этих событиях ничего не нашел, или опыта искать не хватает
в OnWork есть тока всего отправлено но оно тока псле того как все отправится
-
> тока псле того как все отправится
"все" - это сколько конкретно ?
-
> "все" - это сколько конкретно ?
файл полностью (т.е. размер потока)
-
Я тебя не спрашиваю полностью или не полностью, я спрашиваю про конкретный размер файла, на котором ты экспериментировал ..
-
файл: 60 мегабайт
в OnWork после тока как передался и вылез его полный размер тоже 60 мегабайт
-
Следует создать свой экз-р TIdIOHandler (в нем и обрабатывать OnWork) и назначить его св-ву IOHandler объекта TIdTCPClient
-
> Следует создать свой экз-р TIdIOHandler (в нем и обрабатывать
> OnWork) и назначить его св-ву IOHandler объекта TIdTCPClient
Ого, а примерчик можно а то сложновато сразу вьехать
-
ПРимеры имеются в папке с демо-проектами Инди
-
> ПРимеры имеются в папке с демо-проектами Инди
Я извиняюсь но в примерах такого нету
Ну нету как с клиента отслеживать сколько передалось данных:(((
-
проще будет написать TFileStreamReadCalc...
наследника от TFileStream и в нем считать, только точность будет в "буферсайз" который в client.writestream используется
можно прокладку наследника от TStream написать который читает из присоединенного TStream подсчитывает и отдает... только теже проблемы с точностью
-
Ну тогда пользуй TIdConnectionIntercept
Уж к нему-то примеры есть 100%-но
-
> Slym © (18.11.08 16:26) [11]
> проще будет написать TFileStreamReadCalc...
> наследника от TFileStream и в нем считать, только точность
> будет в "буферсайз" который в client.writestream используется
> можно прокладку наследника от TStream написать который читает
> из присоединенного TStream подсчитывает и отдает... только
> теже проблемы с точностью
А можно примерчик набрасать упроженный???
-
> Чудак
> набрасать
> упроженный
Сам-то понял что сказал ?)
Брась упроженная - это в лес к лешим, а не к мастерам делфи)
-
ну ладно глумиться то
Набросать примерчик можно???
А то я совсем запутался
-
> Чудак (18.11.08 19:40) [15]
Ты справку-то проштудировал, запутанно-углумленный ты наш убоже ?)
Или так и будешь на паперти попрошайничать да язык родной коверкать ?
-
читал вот выдержка из книги глубины indy
Затем возникает серия событий OnWork. В событие OnWork передаются Sender, WorkMode и текущий WorkCount. Данное событие используется для отображения прогресса.
Как? вразумите неверного его отобразить!!!!!
-
> читал вот выдержка .. затем возникает серия
Что. вот так прямо прочитал выдержка и сразу возникает ?!
Охх ё ..
Ну а что насчет [12] ?
Что там, в Глубинах, по этому поводу возникает сразу прочитамши ?
-
про TIdConnectionIntercept тама ничерта нет
и зачем грамоздит если как то можно без него читать сколько передалось!
а с TIdConnectionIntercept я ваще повис там чето все замарочено:)
-
Ох и стыдно же, наверно, быть таким тупым ..
-
исправлюс
если сделать так
procedure TForm1.cliWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
progressbar.Progress:=AWorkCount;
end;
тут вообщем вроде все пошло
но мне кажется это лажа
иу клиента завешение намного ранше (зависит от размеа файла)происходит чем у сервера почему???
Как скорость то узнать?
таймером читать AWorkCount не получается:(
-
> все пошло
Не вижу ничего пошлого
-
хотелось бы за место стеба увидеть ответ на вопрос как определить скорость передачи данных
-
> [23] Чудак (19.11.08 00:06)
> хотелось бы за место стеба увидеть ответ на вопрос как определить
> скорость передачи данных
бери производную от количества данных по времени передачи этих данных - будет тебе скорость. эт вроде в школе изучается )
-
> Чудак (19.11.08 00:06) [23]
Хотелось бы вместо дикого коверкания языка услышать нормальное вразумительное описание проблемы - что сделано и что не получается.