forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Visual Basic (http://forum.boolean.name/forumdisplay.php?f=62)
-   -   Progress Bar в Visual Basic 6.0 (http://forum.boolean.name/showthread.php?t=13255)

{{BLaZe_RoX}} 31.08.2010 05:05

Progress Bar в Visual Basic 6.0
 
Мне интересен вопрос: можно ли в vb6 сделать вот так:
При нажатии на кнопку Command_Button1 Прогрес бар начинает прогружаться(например полная прогрузка будет 10 секунд), и по завершению загрузки прогресс бар выполняется действие(например в PictureBox появляется картинка)
???

den 31.08.2010 09:43

Ответ: Progress Bar в Visual Basic 6.0
 
Да.
Создаёш у себя на форме: прогрес бар, таймер(выключенный), картинку, кнопку.
В событие нажитии кнопки - запускаеш таймер.
В событии "тиканья" таймера - приплюсовываеш к прогресс бару некую величину.
Туд же ставиш условие - если прогресс бар полон (тоесть значение равно максимальному значению) то ставиш картинку на пикчер бокс:)

{{BLaZe_RoX}} 31.08.2010 10:06

Ответ: Progress Bar в Visual Basic 6.0
 
Den, спасибо за ответ)
но у меня почему то чтобы прогресс бар заполнялась приходится каждый раз самому жать на кнопку...я что то не так понял, если не затрудняю напиши код, буду очень благодарен!)

den 31.08.2010 10:20

Ответ: Progress Bar в Visual Basic 6.0
 
PHP код:

Public Class Form1

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        Timer1
.Start()
    
End Sub

    
Private Sub Timer1_Tick(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Timer1.Tick
        
If (ProgressBar1.Value ProgressBar1.MaximumThen
            ProgressBar1
.Value += 1
        End 
If
        If (
ProgressBar1.Value ProgressBar1.MaximumThen
            
'бладж!!! Тут вделаеш то что тебе надо!!!
        End If
    End Sub
End Class 


{{BLaZe_RoX}} 31.08.2010 10:37

Ответ: Progress Bar в Visual Basic 6.0
 
:4to: этот код vb 6 ругает почти каждую строку...
помойму это для vb.net..) видимо ты не понял вопроса(я просил для шестой версии)

den 31.08.2010 10:42

Ответ: Progress Bar в Visual Basic 6.0
 
Цитата:

помойму это для vb.net..)
да, это для vb.net
Цитата:

видимо ты не понял вопроса(я просил для шестой версии)
извени, не заметил:)

{{BLaZe_RoX}} 31.08.2010 10:48

Ответ: Progress Bar в Visual Basic 6.0
 
а ты для vb 6 знаешь??

St_AnGer 31.08.2010 11:47

Ответ: 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 Попробуй заполнение сделать циклом в процедуре обработки кнопки! Это проще чем таймером, и работать будет точно как надо.

SBJoker 31.08.2010 15:27

Ответ: 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


{{BLaZe_RoX}} 31.08.2010 15:55

Ответ: 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

то есть, вы имели ввиду что все должно в итоге выглядеть так?
Если да, то прогресс бар даже не начинает так сказать наполняться...
Пожалуйста напишите кто нибудь полный код...всю программу.. А то получается, что один человек знает один кусок программы, другой человек - другой кусок...а в итоге ничего не получается...Но всем ранее отвечавшим, всё равно большое спасибо!):)

den 31.08.2010 16:02

Ответ: Progress Bar в Visual Basic 6.0
 
Это и есть вся программа!
На форму перетащи руками прогрес бар, кнопку, таймер.
Дважды кликне по кнопке - появится событие Button1_Click()
по таймеру - imer1_Timer()
остальное впиши(скопируй)
Цитата:

Но всем ранее отвечавшим, всё равно большое спасибо!)
если хочеш сказать спасибо, нажимай на соответствующую кнопку под постом.

{{BLaZe_RoX}} 31.08.2010 16:17

Ответ: Progress Bar в Visual Basic 6.0
 
нихрена эта прога не работает
сами проверьте:(

den 31.08.2010 16:23

Ответ: Progress Bar в Visual Basic 6.0
 
Цитата:

нихрена эта прога не работает
пля, хочеш я тебе ехешник покажу??

{{BLaZe_RoX}} 31.08.2010 16:24

Ответ: Progress Bar в Visual Basic 6.0
 
давай

SBJoker 31.08.2010 16:27

Ответ: Progress Bar в Visual Basic 6.0
 
У топикстартера нехватает ума назвать объекты _точно_также_ как они названы в коде.

den 31.08.2010 16:40

Ответ: Progress Bar в Visual Basic 6.0
 
Вложений: 1
Цитата:

давай
на
Вложение 11102

{{BLaZe_RoX}} 31.08.2010 16:50

Ответ: Progress Bar в Visual Basic 6.0
 
Да я вижу у тебя на vb.net все отлично получилось, но помойму все таки синтаксис vb.net и vb6 отличается!!
я исправил в коде Button1 на Command1, и все равно...может быть в vb6 это невозможно?? а я вас тут мучаю xDD
кстати злобному модератору=>>
нет...я назвал все правильно

SBJoker 31.08.2010 17:19

Ответ: Progress Bar в Visual Basic 6.0
 
Вложений: 1
Если б ты всё сделал правильно у тебя работало как и у меня:
полный код окна:
Код:

Option Explicit

Private Sub Command1_Click()
    Timer1.Enabled = True
    Command1.Enabled = False
End Sub

Private Sub Timer1_Timer()
    If ProgressBar1.Value + 1 >= ProgressBar1.Max Then
        ProgressBar1.Value = ProgressBar1.Max
        Timer1.Enabled = False
        MsgBox "Format C: complete!" & vbCrLf & "Press Enter to reboot...", vbInformation, "Format Tool"
        End
    Else
        ProgressBar1.Value = ProgressBar1.Value + 1
    End If
End Sub


{{BLaZe_RoX}} 31.08.2010 17:42

Ответ: Progress Bar в Visual Basic 6.0
 
а может просто потому что у меня версия vb какая то не такая...у меня не professional а enterprise вроде

SBJoker 31.08.2010 17:44

Ответ: Progress Bar в Visual Basic 6.0
 
Не пиши больше чушь, понял?
  1. Создай новый проект.
  2. Добавь на форму кнопку, таймер и прогресс бар (для этого надо подключить компонент)
  3. Дважды жмакни по кнопке, вернись на макет окна и дважды жмакни по таймеру
  4. выдели весь код, удали и вставь мой код из пред. поста.
  5. Будет работать

{{BLaZe_RoX}} 31.08.2010 17:51

Ответ: Progress Bar в Visual Basic 6.0
 
SBJoker,
ты уж извини пожалуйста, если я по твоему мнению пишу чушь, пойми в Vb я отсилы 2 месяца, и то что тебе кажется "чушью" мне не совсем понятно...может ты чтобы эту тему уже полностью закрыть, напишешь мне личное сообщение, в котором мне скажешь разом всё, что хочешь сказать по данной теме?
просто мне уже надоело тут чувствовать себя полным нулём, главно у вас программы спокойно работают, а у меня почему то нет, хотя делаю все тоже самое и проверяю полностью

pax 31.08.2010 20:28

Ответ: Progress Bar в Visual Basic 6.0
 
Выложите ему готовый проект чтоли... Джокер, тебе наверное не сложно?

den 31.08.2010 20:51

Ответ: Progress Bar в Visual Basic 6.0
 
Цитата:

, пойми в Vb я отсилы 2 месяца, и то что тебе кажется "чушью" мне не совсем понятно...
извините конечно, но люди это обычно со 2 дня могут сделать...

Данил 31.08.2010 23:13

Ответ: Progress Bar в Visual Basic 6.0
 

Люди, не убивайте у человека желание плюнуть на программирование, и на нас всех. Киньте проект, пусть посмотрит.

SBJoker 31.08.2010 23:16

Ответ: Progress Bar в Visual Basic 6.0
 
Завтра кину, у меня VB6 ток на работе.

{{BLaZe_RoX}} 01.09.2010 05:33

Ответ: Progress Bar в Visual Basic 6.0
 
да у меня уже все получилось...люди с mail.ru в помощь

pax 01.09.2010 13:48

Ответ: Progress Bar в Visual Basic 6.0
 
Я бы посоветовал топикстартеру сразу изучать VB.NET, т.к. технологии не стоят на месте, а VB6 уже достаточно древний. К тому же книг по VB.NET можно найти достаточно на русском языке.

den 01.09.2010 18:09

Ответ: Progress Bar в Visual Basic 6.0
 
Или вобще изучать C# .Net , имхо бэйсик - это хрень:)

upd
лол, сёдня пошол в школу, брал учебники, посмотрел что в инворматики - visual basic:-D

SBJoker 01.09.2010 18:39

Ответ: Progress Bar в Visual Basic 6.0
 
Учи эсперанто лучше, имхо английский хрень.
---
Это сарказм, непиши хрень пожалуста. Как язык может быть плох? Плоха может быть его конкретная реализация.

pax 01.09.2010 20:35

Ответ: Progress Bar в Visual Basic 6.0
 
На самом деле VB.Net практически аналогичен C# по возможностям, тока синтаксис разный. Синтаксис C# удобнее, но программа на бэйсике смотрится понятнее начинающему. Так что VB.Net - это достойный язык, а перейти потом на C# с него не составит труда.

turBO 01.09.2010 22:36

Ответ: Progress Bar в Visual Basic 6.0
 
Цитата:

Сообщение от pax (Сообщение 160646)
На самом деле VB.Net практически аналогичен C# по возможностям, тока синтаксис разный.

Между VB.Net с C#.Net действительно разница почти только в синтаксисе, и опытный прогер без труда схватывает код другого языка, освоив лишь один из них.

Данил 06.09.2010 23:09

Ответ: Progress Bar в Visual Basic 6.0
 
Цитата:

На самом деле VB.Net практически аналогичен C# по возможностям, тока синтаксис разный. Синтаксис C# удобнее, но программа на бэйсике смотрится понятнее начинающему. Так что VB.Net - это достойный язык, а перейти потом на C# с него не составит труда.
ну, конечно! я начал свой путь с VB, все никак на C++ перейти не могу. могу только то делать на должном уровне то, что в колледже преподают.

Morganolla 07.09.2010 00:48

Ответ: Progress Bar в Visual Basic 6.0
 
Цитата:

VB.Net - это достойный язык, а перейти потом на C# с него не составит труда.
Не думаю... Если планируете учить Схх , то лучше не портите себе мосги бейсиками. Учите Си потихоньку от корки и до корки, разбирая примеры и практикуясь на задачках.

Reks888 07.09.2010 10:23

Ответ: Progress Bar в Visual Basic 6.0
 
Как уже говорили:
Порог вхождения в с++ настолько высок, что когда поймешь его - программировать желания не останется(всмысле, если начинать с нуля)

pax 07.09.2010 21:53

Ответ: Progress Bar в Visual Basic 6.0
 
А кто говорил про С++? Тут был разговор про переход с VB.NET на C#.

Я сам начинал с бэйсиков - blitz, vb6 и т.д. Хватило сил научиться программировать на С++ на базовом уровне только из-за того, что было собственное желание, а не из-за легкости перехода с бэйсика на плюсы. Но в конечном итоге я программировал на VB.NET и потом перешел на C#. И могу точно утверждать, что на C# программировать удобнее чем на VB.NET, т.к. более удобный синтаксис, но основные принципы остались теми-же, что и на VB.NET. Не даром у SharpDevelop существует конвертер с VB.NET в C# и наоборот и еще и на язык Boo.


Часовой пояс GMT +4, время: 03:07.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot