Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662

Ошибка при повторном запуске ProgressBar

26.05.2017, 16:34. Показов 1370. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте всем! подскажите выскакивает ошибка при повторном нажатии кнопки и не срабатывает ProgressBar, что можно сделать?
Visual Basic
1
2
3
4
5
6
7
8
Private Sub pop5_Click()
Static Progress As Integer
StatusBar1.Panels(5) = (ProgressBar1.Value / ProgressBar1.Max * 100 + 100) & "%"
Progress = (Progress + 1) Mod 200
   'ProgressBar1.Value = Progress -  ОШИБКА ПРОИСХОДИТ ЗДЕСЬ
If ProgressBar1 = Max Then
End If
End Sub
Миниатюры
Ошибка при повторном запуске ProgressBar  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2017, 16:34
Ответы с готовыми решениями:

Как показать окно уже запущенного приложения при его повторном запуске?
Я использую такой код, но он не отрабатывает, проверял какой hwnd возвращает FindWindow - 0, соответственно ничего не отрабатывает....

Ошибка, при первом запуске из VB
У меня возникает такая ошибка, при первом запуске из VB в откомпилированном проекте подобных ошибок не возникает до сегодня я грешил...

Ошибка 0xc0000135 при запуске программы.
Я написал программу на VB .net standart 2003. Но она не запускается на другом компьютере. Дает ошибку 0xc0000135. Что дельть? Очень надо. ...

21
26.05.2017, 17:02

Не по теме:

убрал

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
27.05.2017, 19:17
ASSEI, посмотри, чему равны свойства min и max у Progress-Bar
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
28.05.2017, 20:35  [ТС]
min и max у Progress-Bar
min = 0 max =1
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
28.05.2017, 21:06
Цитата Сообщение от ASSEI Посмотреть сообщение
min = 0 max =1
Тогда почему :
Цитата Сообщение от ASSEI Посмотреть сообщение
Static Progress As Integer
Какие целые числа могут быть в пределах от 0 до 1?
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
28.05.2017, 21:22  [ТС]
мне бы хотелось бы увидеть "прогресбаром" загрузку процесса например открытие книги xl с момента нажатии кнопки и окончание открытие книги и весь процес показать прогрес баром. когда устанавливаю 100 или 1000 то ничего не происходит
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
28.05.2017, 21:31
Прогресс-баром пользуются не так, как ты предполагаешь. Вот схема использования ПБ:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
       PB.min=0
       PB.max=100
 
       For i=1 to N  ' глобальный цикл, выполнение которого отражает прогресс-бар
 
            z#=100*CDbl(i)/Cdbl(N)
            PB.value=z#
 
            ' бла-бла-бла
 
       Next i
Но вряд ли удастся визуализировать процесс открытия книги Excel - ведь в этом случае глобальный цикл скрыт в коде Excel и тебе просто так не доступен.
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
28.05.2017, 21:57  [ТС]
и, у меня ничего не получилось
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.05.2017, 01:36
ASSEI, когда возникают проблемы - картинки, как правило, не помогают!
лучше выложить проект.
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
29.05.2017, 09:06  [ТС]
Цитата Сообщение от Alex77755 Посмотреть сообщение
выложить проект.
вы правы
Вложения
Тип файла: rar 01.rar (1.5 Кб, 4 просмотров)
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
29.05.2017, 09:59
там 2 варианта
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Command1_Click()
Static Progress As Integer
If ProgressBar1.Value <> ProgressBar1.Max Then
    Label1 = (ProgressBar1.Value / ProgressBar1.Max * 100) & "%"
    Progress = (Progress + 1)
    ProgressBar1.Value = Progress
End If
End Sub
 
Private Sub Command2_Click()
ProgressBar1.Min = 0
ProgressBar1.Max = 100
 Dim N As Integer
 N = 1234 ' любое максимальное число
       For i = 1 To N ' 
             z = 100 * CDbl(i) / CDbl(N)
            ProgressBar1.Value = z
        Next i
End Sub
Command1_Click увеличивает показания прогресса с каждым кликом на 1%
Command2_Click за одно нажатие от 0 до 100%
1
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
29.05.2017, 10:30  [ТС]
подскажите как возможно сделать так что бы прогресбар показывал процесс загрузки то протяжение времени пока открывается например какой то файл, а в конце показывать в лабеле 100%
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
29.05.2017, 10:37
ASSEI, уже писал - никак.
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
29.05.2017, 10:51  [ТС]
попробовал обычный msgbox вставил программа зависла и все это с примером от
Pro_grammer , а в вашем Catstail варианте не сработал
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Command3_Click()
ProgressBar1.Min = 0
    ProgressBar1.Max = 100
  
       For i = 1 To N ' глобальный цикл, выполнение которого отражает прогресс-бар
 
            z# = 100 * CDbl(i) / CDbl(N)
         ProgressBar1.Value = z#
 
           MsgBox "выполнено"
 
       Next i
End Sub
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
29.05.2017, 11:05
ASSEI, еще раз: тебе не удастся визуализировать открытия файла Excel, потому, что для этого нужен доступ ко внутренним переменным Excel. Если это непонятно, просто запомни: не получится. Самое большее, что ты сможешь сделать, это отобразить т.н. splash-экран. Немодальную (обязательно) форму, на которой можно написать "Ждите, выполняется загрузка". Когда файл загрузится - форму можно убрать.
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
29.05.2017, 11:07  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
уже писал - никак.
мне не сам визуальный процесс загрузки файла важен, а его время: начало (клик на кнопке, начало работы прогресбара)-> (время пока открывается файл, идет визуальная загрузка прогресбара)->(файл открылся, видимость прогресбара 100%)

Добавлено через 1 минуту
Цитата Сообщение от Catstail Посмотреть сообщение
Когда файл загрузится - форму можно убрать.
совершенно верно только в качестве формы выступает прогрессбар
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
29.05.2017, 11:20
Цитата Сообщение от ASSEI Посмотреть сообщение
мне не сам визуальный процесс загрузки файла важен, а его время:
- в данном случае, это одно и то же. Чтобы контролировать время нужен доступ ко внутренним структурам. Чисто теоретически это сделать можно, но очень непросто.

В качестве не вполне честного подхода можно порекомендовать такой. Задать таймер и каждую сек. увеличивать Value у прогресс-бара. Когда будет 100% - начинать с начала.
0
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
29.05.2017, 13:30  [ТС]
т.е. таймер загнать в прогрессбар и установить интервал 0,1?

Добавлено через 1 час 37 минут
примерно так вышел из положения: может что то не правильно, буду признателен поправке
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'открывается файл
тынс-тынс
'пошел процес прогресбар
ProgressBar1.Min = 0
ProgressBar1.Max = 100
 Dim N As Integer
 N = 1000 ' любое максимальное число
       For I = 1 To N '
             z = 100 * CDbl(I) / CDbl(N)
            ProgressBar1.Value = z
            StatusBar1.Panels(5) = (ProgressBar1.Value / ProgressBar1.Max * 100) & "%"
        Next I
'закончился процесс
      ProgressBar1.Value = False
'закрывается файл
тынс-тынс
MsgBox "Готово!", vbInformation, "ИНФОРМАЦИЯ!"
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
29.05.2017, 13:47
Цитата Сообщение от ASSEI Посмотреть сообщение
примерно так вышел из положения
Ну это по сути фейковый прогресс, он ни чего не отображает в реальности, а имитирует. Только время зря тянет - файл может загрузится гораздо быстрее?
ProgressBar1.Value = False - тут наверно надо ProgressBar1.Visible = False, чтобы скрыть прогресс.
1
0 / 1 / 3
Регистрация: 18.10.2012
Сообщений: 662
29.05.2017, 13:59  [ТС]
спасибо за подсказку на ошибку, вы как всегда правы Но суть то так мне и ни кто не подсказал как сделать так что бы было приближенно максимум к реальности), пришлось пока так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2017, 13:59
Помогаю со студенческими работами здесь

Возникает ошибка при запуске файла после компиляции
После компиляции моего приложения, а я его писал на XP, я перекинул его на Windiw7 и после запуска он мне выдает ошибку run-time error...

При запуске большого количества копий приложения ошибка Out Of Memory (VB 6)
4 гб опертаивки каждая копи жрет примерно 1 мегабайт после запуска 70 копий выходит ошибка out of memory памяти хватает свободно Как...

Ошибка при запуске EXE: <Run-time error '13': Type mismatch>
Я протестировал рогу в режиме отладки - все о'кей!...Компилирую, запускаю экзешник и при загрузке одной из форм вылетает сообщение об...

Ошибка при повторном запуске программы
Я сделал кнопку, которая запускает файл программы. Process.Start(&quot;id edc.ewb&quot;); Если я нажму на эту кнопку еще раз, то программа...

Ошибка при повторном запуске потока
Занялся изучением работы потоков и написал следующий код (точнее взял с этого форума кусок работы с потоками): На форме две кнопки и один...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru