Libcurl progress

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Основной тред
Ответить
gopstop2007
Полимат
Сообщения: 1817
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 27 раз
Поблагодарили: 10 раз

Libcurl progress

Сообщение gopstop2007 »

Вижу есть прогресс в curl.ReadFile - curl::ProgressDataProcType
Как его использовать? Не нашел в примерах, буду благодарен, если подскажите примером.

Спасибо за внимание
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3300
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 51 раз
Контактная информация:

Libcurl progress

Сообщение Дед Пахом »

Лучше использовать переопределённый метод XFerInfo, есть в примерах, если коротко, то как-то так:

Код: Выделить всё

curl                 CLASS(TCurlHttpClass)
XFerInfo               PROCEDURE(REAL dltotal, REAL dlnow, REAL ultotal, REAL ulnow), LONG, PROC, DERIVED
                     END

curl.XFerInfo     PROCEDURE(REAL dltotal, REAL dlnow, REAL ultotal, REAL ulnow)
nRes                  LONG, AUTO
  CODE
  IF dlTotal
      ?ProgressDownload{PROP:Progress} = dlnow * 100.0 / dltotal  !-- we know actual file size Download:FileSize
      ?lblBytesRead{PROP:Text} = 'Bytes read: '& dlnow &' of '& dltotal
      DISPLAY(?ProgressDownload)
  ELSE
      ?ProgressDownload{Prop:Hide} = TRUE
      ?lblBytesRead{PROP:Text} = 'Bytes read: '& dlnow
  END
  YIELD
  
  nRes = PARENT.XFerInfo(dltotal, dlnow, ultotal, ulnow)
  RETURN nRes
С уважением, ДП
Ответить