|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.07.2015, 16:37 | #1 |
Пользователь
Регистрация: 26.06.2012
Сообщений: 89
|
ProgressBar без цикла
Доброго времени суток, уважаемые форумчане!
Перечитал много информации по прогрессбарам и не нашел подходящего решения для меня... Надеюсь на вашу помощь! У меня есть модуль который парсит веб странички, выбирая оттуда необходимую информацию (заходит на одну страницу, выбирает данные по клиенту, потом переходит на следующую и т.д....) Все это действие занимает секунд 10-15, все зависит от загруженности серверов которые предоставляют веб интерфейс. Так вот, привязать "линейку" не к чему, так как это не цикл... Есть идеи? |
22.07.2015, 17:04 | #2 |
Форумчанин
Регистрация: 07.07.2015
Сообщений: 121
|
|
22.07.2015, 17:30 | #3 | |
Пользователь
Регистрация: 26.06.2012
Сообщений: 89
|
Цитата:
Данные разного характера последнее не понял... Да и это все не имеет значение, так как для брогрессбара пофиг что именно делает код, он основывается на счетчиках... А у меня модуль имеет например 300 строк и за эти 300 строк он выбирает все что нужно для дальнейшей работы, вопрос в том как отобразить выполнение этого кода!? |
|
22.07.2015, 17:35 | #4 |
Форумчанин
Регистрация: 07.07.2015
Сообщений: 121
|
|
23.07.2015, 08:29 | #5 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 248
|
А вот это решение не подходит???
http://www.programmersforum.ru/showthread.php?t=277342 |
23.07.2015, 09:16 | #6 | ||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Цитата:
Цитата:
Начинать надо с постановки задачи Что хотите отображать в ProgessBar? какое из "оставшихся времен" 1) числа оставшихся страниц 2) собственно времени загрузки(получения) страницы. (а вы можете узнать это время ДО загрузки?) 3) время работы парсера страницы. Цитата:
тогда например так: первой строкой кода делаем Progrssbar.Max:=300; и после каждой строки кода изменять (+1) текущую позицию. P.S. для оптимизации можно подобрать нужный шаг. 300 строк =10 сек 1 строка =0.03 сек 10 строк =0.3 сек 100 строк =3 сек P.S. Вот только показано все это будет только после 300-ой строки. Если конечно не принять никаких доп. мер. А если эти меры принять, то время работы увеличится пожалуй раза в два.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 23.07.2015 в 09:22. |
||||
23.07.2015, 11:20 | #7 | |
Пользователь
Регистрация: 26.06.2012
Сообщений: 89
|
Цитата:
|
|
23.07.2015, 11:25 | #8 |
Пользователь
Регистрация: 26.06.2012
Сообщений: 89
|
Уважаемый evg_m, на сколько я понял, то Вы имеете ввиду, после каждой строки выполненного кода прописывать увеличенное на 1 значение PrBar, т.е. увеличить код в 2 раза? Это привязка к Line VBA, по типу обработки ошибок с выведением строки в которой произошла такова?
Уточню алгоритм работы - в диалоговом окне юзер набивает номер ПК и нажимает на кнопку поиск, после чего методом Call вызывается код который открывает IE, проходит логинизацию, переходит на страничку поиска платежной карты, парсит все содержимое странички и выбирает необходимые данные из разних тегов и вставляет их в определенные ячейки на лист (печатная форма заявления...), переходит на следующую страничку, там парсит и т.д... Мне нужно показать на форме ход выполнения выборки данных, так как IE.Visible = False Последний раз редактировалось Fordros; 23.07.2015 в 11:33. |
23.07.2015, 11:27 | #9 |
Пользователь
Регистрация: 26.06.2012
Сообщений: 89
|
|
23.07.2015, 11:43 | #10 | ||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Цитата:
то для индикации ProgressBar не пришлось бы то увеличить код в ТЕ ЖЕ два раза. Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 23.07.2015 в 11:50. |
||||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вытащить из массива, без цикла. | Predator199 | PHP | 2 | 25.11.2012 17:25 |
Как вывести данные из mysql без цикла? | SL1M_DOGG | PHP | 10 | 16.04.2012 18:18 |
составить программу на паскале используя оператор цикла в сочетании с оператором условного перехода(без массивов) | Naruto_026 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 01.11.2011 19:19 |
Переход от цикла к циклу не выходя из цикла (без multithreading) | Qousio | Общие вопросы C/C++ | 2 | 16.05.2009 09:27 |
С помощью рекурсии без операторов цикла и перехода написать процедуру P(N) | WhyBeNormal | Помощь студентам | 1 | 29.01.2009 01:20 |