|
31.08.2010, 05:05
|
#1
|
AnyKey`щик
Регистрация: 30.08.2010
Адрес: Приморский край
Сообщений: 19
Написано 3 полезных сообщений (для 8 пользователей)
|
Progress Bar в Visual Basic 6.0
Мне интересен вопрос: можно ли в vb6 сделать вот так:
При нажатии на кнопку Command_Button1 Прогрес бар начинает прогружаться(например полная прогрузка будет 10 секунд), и по завершению загрузки прогресс бар выполняется действие(например в PictureBox появляется картинка)
???
|
(Offline)
|
|
31.08.2010, 09:43
|
#2
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
Да.
Создаёш у себя на форме: прогрес бар, таймер(выключенный), картинку, кнопку.
В событие нажитии кнопки - запускаеш таймер.
В событии "тиканья" таймера - приплюсовываеш к прогресс бару некую величину.
Туд же ставиш условие - если прогресс бар полон (тоесть значение равно максимальному значению) то ставиш картинку на пикчер бокс
|
(Offline)
|
|
31.08.2010, 10:06
|
#3
|
AnyKey`щик
Регистрация: 30.08.2010
Адрес: Приморский край
Сообщений: 19
Написано 3 полезных сообщений (для 8 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
Den, спасибо за ответ)
но у меня почему то чтобы прогресс бар заполнялась приходится каждый раз самому жать на кнопку...я что то не так понял, если не затрудняю напиши код, буду очень благодарен!)
|
(Offline)
|
|
31.08.2010, 10:20
|
#4
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Timer1.Start() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If (ProgressBar1.Value < ProgressBar1.Maximum) Then ProgressBar1.Value += 1 End If If (ProgressBar1.Value = ProgressBar1.Maximum) Then 'бладж!!! Тут вделаеш то что тебе надо!!! End If End Sub End Class
|
(Offline)
|
|
31.08.2010, 10:37
|
#5
|
AnyKey`щик
Регистрация: 30.08.2010
Адрес: Приморский край
Сообщений: 19
Написано 3 полезных сообщений (для 8 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
этот код vb 6 ругает почти каждую строку...
помойму это для vb.net..) видимо ты не понял вопроса(я просил для шестой версии)
|
(Offline)
|
|
31.08.2010, 10:42
|
#6
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
помойму это для vb.net..)
|
да, это для vb.net
видимо ты не понял вопроса(я просил для шестой версии)
|
извени, не заметил
|
(Offline)
|
|
31.08.2010, 10:48
|
#7
|
AnyKey`щик
Регистрация: 30.08.2010
Адрес: Приморский край
Сообщений: 19
Написано 3 полезных сообщений (для 8 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
а ты для vb 6 знаешь??
|
(Offline)
|
|
31.08.2010, 11:47
|
#8
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
Блин, VB6 не трогал уже лет 5, точно что и как не помню. Скажу по мелочам.
1) Private Sub Button1_Click и Private Sub Timer1_Tick должны быть вне процедуры Private Sub Form1;
2) На сколько я помню, то не Timer1_Tick, а Timer1_Timer (так вроде должно будет работать), и в параметрах у этой функции/подпрограммы ничего не указывается;
3) Должен быть настроен интервал тикания таймера (изначально помоему 0 стоял). На сколько помню на VB6 интервал 1000 = 1 сек;
4) Button1_Click так же не должна никаких параметров содержать;
5) Не Timer1.Start, а Timer1.Enable = true, если опять же память не изменяет.
т.е. в итоге должно получиться что то такое:
private sub Form1_Load()
end sub
Private Sub Button1_Click()
Timer1.Enable = true
End Sub
Private Sub Timer1_Timer()
'ля ля ля, работа с таймером
'не могу на память сказать что там с ProgressBar
'т.к. не имею VB под рукой
End Sub
да и вообще в VB при создании элемента и двойном клике на него процедура для этого элемента добавляется автоматически. Остаётся только в ней написать нужный тебе код.
UPD Попробуй заполнение сделать циклом в процедуре обработки кнопки! Это проще чем таймером, и работать будет точно как надо.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
Последний раз редактировалось St_AnGer, 31.08.2010 в 13:13.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.08.2010, 15:27
|
#9
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
Код таймера такой должен быть:
Private Sub Timer1_Timer)
If ProgressBar1.Value < ProgressBar1.MaxThen
ProgressBar1.Value = ProgressBar1.Value +1
End If
If ProgressBar1.Value >= ProgressBar1.MaxThen
'бладж!!! Тут вделаеш то что тебе надо!!!
End If
End Sub
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.08.2010, 15:55
|
#10
|
AnyKey`щик
Регистрация: 30.08.2010
Адрес: Приморский край
Сообщений: 19
Написано 3 полезных сообщений (для 8 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
Private Sub Form1_Load()
End Sub
Private Sub Button1_Click()
Timer1.Enable = True
End Sub
Private Sub Timer1_Timer()
If ProgressBar1.Value < ProgressBar1.Max Then
ProgressBar1.Value = ProgressBar1.Value + 1
End If
If ProgressBar1.Value >= ProgressBar1.Max Then
Text1.Text = rrrrr
End If
End Sub
то есть, вы имели ввиду что все должно в итоге выглядеть так?
Если да, то прогресс бар даже не начинает так сказать наполняться...
Пожалуйста напишите кто нибудь полный код...всю программу.. А то получается, что один человек знает один кусок программы, другой человек - другой кусок...а в итоге ничего не получается... Но всем ранее отвечавшим, всё равно большое спасибо!)
|
(Offline)
|
|
31.08.2010, 16:02
|
#11
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
Это и есть вся программа!
На форму перетащи руками прогрес бар, кнопку, таймер.
Дважды кликне по кнопке - появится событие Button1_Click()
по таймеру - imer1_Timer()
остальное впиши(скопируй)
Но всем ранее отвечавшим, всё равно большое спасибо!)
|
если хочеш сказать спасибо, нажимай на соответствующую кнопку под постом.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.08.2010, 16:17
|
#12
|
AnyKey`щик
Регистрация: 30.08.2010
Адрес: Приморский край
Сообщений: 19
Написано 3 полезных сообщений (для 8 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
нихрена эта прога не работает
сами проверьте
|
(Offline)
|
|
31.08.2010, 16:23
|
#13
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
нихрена эта прога не работает
|
пля, хочеш я тебе ехешник покажу??
|
(Offline)
|
|
31.08.2010, 16:24
|
#14
|
AnyKey`щик
Регистрация: 30.08.2010
Адрес: Приморский край
Сообщений: 19
Написано 3 полезных сообщений (для 8 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
давай
|
(Offline)
|
|
31.08.2010, 16:27
|
#15
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Progress Bar в Visual Basic 6.0
У топикстартера нехватает ума назвать объекты _точно_также_ как они названы в коде.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:32.
|