Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Помогите!!!! Добавлено: 20.08.04 20:35  

Автор вопроса:  Rooom
Люди помогите мне, я только начал изучать VB ! как перенести из текст бокса время ( в секундах ) на таймер? тоесть я указываю в текст боксе через скоко сек. например выключить комп. и жму кнопку... как? код если можно, не могу разобраться с секундами, можно указывать только в милисекундах=(((

Ответить

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

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



Вопросов: 86
Ответов: 920
 Профиль | | #1 Добавлено: 20.08.04 20:46
Timer1.Interval=CInt(Text1.Text)*1000

takim obrazom ty snachala pereobrazovyvaesh` v integer tvoe chislo, a potom umnozhaesh` na 1000, chto poluchit` v sekundah(1 sec=1000 millisec)
Udachi!

Ответить

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



Вопросов: 86
Ответов: 920
 Профиль | | #2 Добавлено: 20.08.04 20:47
A esche luchshe-vmseto CInt postavit` Val
takim obrazom esli tama bukvy est`, ono voz`met tol`ko pervye cifry. esli ih netu-budet nol`.....to est` tajmer "otklyuchitsya"

Ответить

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



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #3 Добавлено: 20.08.04 20:53
>Timer1.Interval=CInt(Text1.Text)*1000
только вот больше 60 сек. нелбзя писать! Вот в этом то и кроется весь минус этого метода. Если уж с таймером то можно вот этот код:

Dim SecondsLeft as integer, NeedTime as Integer
Private Sub Command1_Click()
NeedTime = CInt(Text1.Text)
Timer1.Interval=1000
Timer1.enabled = true
end sub
Private Sub Timer1_Timer()
SecondsLeft = SecondsLeft + 1
If SecondsLeft >= NeedTime then
SecondsLeft = 0
[...
           Твой код тут ...
                                 ...]
End if
End Sub

Ответить

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



Вопросов: 7
Ответов: 45
 Профиль | | #4 Добавлено: 20.08.04 21:28
Привет. Вот вариант без таймера. Может пригодится.

Private Sub Command1_Click()
    On Error GoTo label_error:
    ;Dim user_time_interval As Double
    ;Dim start_time As Date
    ;Dim finish_time As Date
    user_time_interval = CDbl(Text1.Text)
    start_time = DateTime.Now
        finish_time = DateTime.DateAdd("s", user_time_interval, start_time)
    ;Do While DateTime.Now < finish_time
        ;DoEvents
    Loop
    MsgBox ("user time interval";)
label_error: If Err.Number = 13 Then
        MsgBox ("number transform-fail";)
        Exit Sub
    End If
End Sub

Макс. абс. погрешность - одна секунда.

Ответить

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



Вопросов: 1
Ответов: 2
 Профиль | | #5 Добавлено: 20.08.04 23:50
Спасибо! а как тогда сделать чтоб в минутах можно было указывать?

Ответить

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



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #6
Добавлено: 20.08.04 23:56
заведи глобальную пееменную и при собитии в таймере, увеличивай ее а так же следи за ней...

Ответить

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



Вопросов: 1
Ответов: 2
 Профиль | | #7 Добавлено: 21.08.04 00:33
знал бы я как =(((

Ответить

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



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #8 Добавлено: 21.08.04 01:23
>Спасибо! а как тогда сделать чтоб в минутах можно было указывать?
См. мои ответ, только вместо

Timer1.Interval=1000

ставишь

Timer1.Interval=60000

Ответить

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



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #9
Добавлено: 21.08.04 01:37
В самом верху текста, пишешь:

Dim tmr_cntr as long

Потом в таймере, скажем, выставил ты 1 сек. интервал (1000), и пишешь:

if tmr_cntr = 60 then
    ;Debug.Print "Прошла минута!"
    Call MsgBox("Прошла минута!";)
else
    tmr_cntr = 0&
end if

Ответить

Номер ответа: 10
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #10
Добавлено: 21.08.04 02:39
Можно вообще без таймера обойтись. А можно и с таймером. Как хочешь.

Даблклик по форме запускает таймер, а клик останавливает.
---
Private Timer_Enabled As Boolean

Private Sub Form_Click()
 Timer_Enabled = False
End Sub

Private Sub Form_DblClick()
 Timer_Enabled = True
 VB_Timer
End Sub

Sub VB_Timer(Optional StopTimer As Boolean = False)
 ;Dim MyTime As String
 
 ;Do
  If Not Timer_Enabled Then Exit Sub
  ;DoEvents
  If MyTime <> Time$ Then MyTime = Time$: Me.Caption = MyTime
 Loop
End Sub

Ответить

Страница: 1 |

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



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