Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ProgressBar Добавлено: 06.07.05 15:28  

Автор вопроса:  Nord
Два вопроса
1)Где взять прогресс бар
2)Есть фрагмент кода

  for i=0 to n
    for j=i to n

    next
  next

Как посчитать сколько осталось до конца выполнения этого кода и привязать к этому прогресс бар???

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 06.07.05 17:18
1) Project>Components...>Microsoft Windows Common Controls 6.0

2)
Max=n*n=n^2
value=i*j

Ответить

Номер ответа: 2
Автор ответа:
 Nord



Вопросов: 15
Ответов: 28
 Профиль | | #2 Добавлено: 07.07.05 10:34
Хорошо но не пойдет!
Внутренний цикл начинает выполнятся быстрее. Соответственно выполняется быстре и внешний цикл. Тут надо посчитать немного по другому это как то наверно должно делаться через арифметическую или геометрическую прогрессию (не силен я в матре).
Нужно посчитать общее количество операций в циклах и взять их за 100 процентов, потом считать процент выполненных операций и находить сколько осталось выполнить.
Единственная проблемма как найти число операций в циклах???

Ответить

Номер ответа: 3
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 07.07.05 16:19
Ну, посчитай по офрмуле максимум, я же не видел твой код, потом например сделай так: в быстром цикле помести одну строчку Value=value+1, а в медленном помести эту строчку в двух местах. можешь замерять (если уж так надо) отношение времени работы большого и малого цикла и прибавляй Value в соответствующей пропорции. .... Блин, я сам понятия не имею о чём написал и не знаю сходу как сделать просто потому, что мне это не нужно, но если бы было нужно, я делал бы именно так :)

Ответить

Номер ответа: 4
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #4
Добавлено: 08.07.05 02:01
Число операций он уже написал n^2. Если собирашеся регить вычисления только внешнего цикла, то бери за Max n и ставь value=i только во внешем цикле. Какие тут могут быть непонятки и при чём тут ваще математика? 8)

Ответить

Номер ответа: 5
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #5
Добавлено: 08.07.05 02:16
2 Neco:

Всё таки он наверное прав: при таком раскладе прогресс бар будет двигаться неравномерно.

Ответить

Номер ответа: 6
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #6
Добавлено: 08.07.05 02:20
Если внутренний цикл выполняется за одну секунду (просто предполагаю), то на выполнение всего кода понадобиться n секунд. И раз в секунду будет обновляться прогресс. Откуда неравномерность?
Да и вообще - задача прогресса не "равномерно показывать", а "показывать", что процесс худо-бедно, но идёт. 8)

Ответить

Номер ответа: 7
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #7
Добавлено: 08.07.05 03:52
Да вобщем то верно, но видно человек хочет качества или может ему надо точно время расчитать - вдруг он офигенный полином считает? Я правильно понял?

Ответить

Номер ответа: 8
Автор ответа:
 Nord



Вопросов: 15
Ответов: 28
 Профиль | | #8 Добавлено: 08.07.05 10:19
Какая разница какой код? Пусть будет к=к+1. Да прогресс бар действительно будет двигатся не равномерно. По времени большая часть будет выполнятся в первые 30%. Потом быстрее быстрее ...
n^2 не является количеством операций т.к.
Внешний цикл допустим выполнится 5 раз
Во внутреннем за первый раз внешнего цикла выполнится 5 повторов за второй 4 .. ,3, 2, 1
5
4 4
3 3 3
2 2 2 2
1 1 1 1 1
что то вроде этого
Прогресс бар действительно нужен для того что бы показать что процесс идет, а идет он примерно 2-3 минуты...
Не я считаю не офигенный полином, а ищу приблизительно одинаковые строки в текстовом файле (совпадение строк с похожих на 85%)... Строк в файле обычно достаточно много ;)
Млин пока объяснял понял как решать! Решается просто, через формулу арифметической прогрессии.
Пасибо всем.

Ответить

Номер ответа: 9
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #9
Добавлено: 08.07.05 20:27
Пардон муа - не заметил, что у тебя вложенный цикл начинается не с 0, а с i.
Ариф. прог. - она самая.
Но всё-таки я считаю, что имеет смысле сделать у прогресса max=n, а value=i и обновлять только во внешнем цикле - так оно быстрее будет, т.к. порой процесс становится дольше за счёт времни на вывод инфы. 8)

Ответить

Номер ответа: 10
Автор ответа:
 Виталий



Вопросов: 11
Ответов: 51
 Web-сайт: www.feshin.info
 Профиль | | #10
Добавлено: 15.07.05 22:28
Nord
Бросить пример на мыло проги?

Ответить

Номер ответа: 11
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #11 Добавлено: 16.07.05 01:29
Nord
Бросить пример на мыло проги?

a ty ne eto imel vvidu:
Nord
Бросить пример проги на мыло?

Ответить

Номер ответа: 12
Автор ответа:
 Виталий



Вопросов: 11
Ответов: 51
 Web-сайт: www.feshin.info
 Профиль | | #12
Добавлено: 16.07.05 10:10
Отвечу цитатой:
"По рзелульаттам илссеовадний одонго анлигйсокго унвиертисета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете. Осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы не чиатем кдаужю бкуву по отдльенотси, а все солво!"


С русским предложением то же...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам