Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для Faraon
26 / 25 / 9
Регистрация: 17.09.2011
Сообщений: 143

Отсчет определеного количества времени

20.05.2013, 15:25. Показов 2746. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток!
в общем пишу программку для детей, чтобы не могли долго седеть в играх и интернете прошу помочь
сижу туплю вот над чем как сделать например при загрузке программы отчет начинался к примеру (дается 3 часа)
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  Dim Time As Date = Now
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each C As Control In Me.Controls
            AddHandler C.MouseDown, AddressOf Control_MouseDown
        Next
        Timer1.Interval = 100
        Timer1.Start()
            End Sub
    Private Sub Control_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        sender.Capture = False
        Me.WndProc(Message.Create(Me.Handle, &HA1, New IntPtr(2), IntPtr.Zero))
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Time = Time.AddSeconds(-1)
        Label1.Text = (Format(Time, "HH:mm:ss"))
               
    End Sub
таймер отсчитывает тока от времени запуска ,
подскажите как сделать чтобы отсчет начинался к примеру 3 часа(независимо от часов компьютера)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2013, 15:25
Ответы с готовыми решениями:

Отсчет времени при аудиозаписи
Здравствуйте! Сделал прогу для записи с микрофона. Проблема в том, что не могу сделать отсчет времени записи. Применяю таймер, а оно не...

Отсчет времени с возможностью прерывания
VB 2010 Express Здрям! При нажатии кнопки min5 работает нормально, при min25 - наглухо зависает. Ставил на форме флажок, чтобы...

Обратный отсчет в заданной строке времени
Захотел сделать что то на подобии таймера. То есть за установленное время должно произойти событие. У меня 3 поля в которых я задаю: час,...

9
 Аватар для Splinter_Cell
244 / 134 / 15
Регистрация: 26.12.2012
Сообщений: 267
20.05.2013, 16:05
Цитата Сообщение от Faraon Посмотреть сообщение
подскажите как сделать чтобы отсчет начинался к примеру 3 часа
Очень просто - пиши оставшееся время и актуальную дату в отдельный файл.



Добавлено через 29 минут
Вот намёк на то, что я имел ввиду:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Imports System.IO
 
Public Class Form1
    Dim myPath As String = CurDir() & "\timer.my"     'сюда пишем осавшееся время
    Dim TimeToDown() As String = File.ReadAllLines(myPath)
    Dim myTime As Integer = CInt(TimeToDown(0))
 
    Private Sub Form1_Load(ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Start()
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As Object, ,
                        ByVal e As System.EventArgs) Handles Timer1.Tick
 
        myTime -= 1
        My.Computer.FileSystem.WriteAllText(myPath, myTime, False)      'постоянно пишем остаток в файл
        If myTime <= 0 Then Process.Start("shutdown -s -t 9000")
 
    End Sub
 
End Class
1
 Аватар для Faraon
26 / 25 / 9
Регистрация: 17.09.2011
Сообщений: 143
20.05.2013, 16:07  [ТС]
не не так поняли

мне надо чтобы в любой момент включив программу запускался триммер отчет от 3 часов формат 03:00:00
а дальше я на мудрю) сброс триммера на следующий день. итд
0
 Аватар для Splinter_Cell
244 / 134 / 15
Регистрация: 26.12.2012
Сообщений: 267
20.05.2013, 16:34
Добавлено через 10 минут
Цитата Сообщение от Faraon Посмотреть сообщение
мне надо чтобы в любой момент включив программу запускался триммер отчет от 3 часов
Тогда это всё:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Class Form1
 
    Dim myTime As Integer = 10800
 
    Private Sub Form1_Load(ByVal sender As System.Object, _
                   ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Start()
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As Object, _
                   ByVal e As System.EventArgs) Handles Timer1.Tick
 
        myTime -= 1
        If myTime <= 0 Then Process.Start("shutdown -s -t 1")
 
    End Sub
 
End Class
Интервал таймера равен 1000...

1
 Аватар для Faraon
26 / 25 / 9
Регистрация: 17.09.2011
Сообщений: 143
20.05.2013, 16:46  [ТС]
спасибо!
а как перевести
VB.NET
1
Dim myTime As Integer = 10800
чтобы в Label1.Text = формат был типо 03:00:00 час: минут: секунд
а точнее
VB.NET
1
 Label1.Text = myTime
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
20.05.2013, 17:13
Faraon, А в faq заглянуть трудно? Готовые решения и полезные коды на Visual Basic .NET (Часть-1)
И во вторых, есть специальные программы, зачем велосипед изобретать?
0
 Аватар для Splinter_Cell
244 / 134 / 15
Регистрация: 26.12.2012
Сообщений: 267
20.05.2013, 17:33
Цитата Сообщение от Faraon Посмотреть сообщение
чтобы в Label1.Text = формат был типо 03:00:00 час: минут: секунд
Вот:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Public Class Form1
 
    Dim myTime As Integer = 10800
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Start()
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
 
        Label1.Text = TimeFormat(myTime)
        myTime -= 1
        If myTime <= 0 Then Process.Start("shutdown -s -t 9000")
 
    End Sub
 
    Function TimeFormat(ByVal myTime As Integer)
 
        Dim i As Integer
        Dim TimeString As String
        Dim hh, mm, ss As Integer
        Dim shh, smm, sss As String
 
        For i = 1 To myTime
            ss += 1
            If ss = 60 Then
                ss = 0
                mm += 1
            End If
            If mm = 60 Then
                mm = 0
                hh += 1
            End If
        Next
 
        If ss < 10 Then sss = "0" & CStr(ss) Else sss = CStr(ss)
        If mm < 10 Then smm = "0" & CStr(mm) Else smm = CStr(mm)
        If hh < 10 Then shh = "0" & CStr(hh) Else shh = CStr(hh)
 
        TimeString = CStr(shh) & ":" & CStr(smm) & ":" & CStr(sss)
        Return TimeString
 
    End Function
 
End Class
1
 Аватар для Евгений12
60 / 58 / 10
Регистрация: 16.02.2013
Сообщений: 146
20.05.2013, 17:48
А так не проще, в итоге будет прошедшее время в миллисекундах, а уж дальше переводим в секунды, минуты, часы и тд...
VB.NET
1
2
3
4
Public Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
Dim StartTime As Long = GetTickCount()
'тело программы
MsgBox(GetTickCount() - StartTime)
1
 Аватар для Faraon
26 / 25 / 9
Регистрация: 17.09.2011
Сообщений: 143
20.05.2013, 22:53  [ТС]
Цитата Сообщение от edward_freedom Посмотреть сообщение
Faraon, А в faq заглянуть трудно? Готовые решения и полезные коды на Visual Basic .NET (Часть-1)
И во вторых, есть специальные программы, зачем велосипед изобретать?
в первую очередь смотрел
специальные мне ненужны свая нужна под свои нужды

Добавлено через 28 секунд
все спасибо за ответ
0
20.05.2013, 23:01

Не по теме:

Цитата Сообщение от edward_freedom Посмотреть сообщение
...зачем велосипед изобретать?
edward_freedom, опыт, бесценный опыт! Я своим ребятишкам тоже Родительский Контроль дописываю. :D

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2013, 23:01
Помогаю со студенческими работами здесь

Таймер - сделать отсчет времени в формате "mm:ss"
Как сделать сделать отсчет времени в формате &quot;mm:ss&quot; например с 05:00 до 00:00? чет не получается у меня никак(( Help) делал так,...

Как добавить к соединить число в строке с префиксом , чтобы его длинна не превышала определеного количества
Проблема следующая есть сторока вида 18464, 18539, 18588, 8589 Необходимо сделать из них такой вид ZPO000018464 ...

Отсчет времени
Сор, пишу не в той теме, просто не знаю в какой написать. Как происходит программный счет времени в электронных устройствах? То есть в...

Отсчет времени
всем привет, подскажите пожалуйста, как реализовать так, что бы в каждой из ячеек был обратный отсчет в часах и минутах с условием заданной...

Отсчет времени
Здравствуйте. Возможно ли отсчитывать время в c++(в сек или 1/1000 сек), например при ожидании функции getch() нажатия кнопки? Если да, то...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru