Проблемма работы с функциями времени!!!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Проблемма работы с функциями времени!!!

Сообщение Alexey-VB » 08.09.2006 (Пт) 15:51

Суть проблеммы такова.
В моей программе есть цикл проверки по времени, тоесть я проверяю 8 раз в секунду не изменился ли текущий час. Если изменился, то идет какая либо функция далее.

Например: If Hour(Time) = 8 then Abcd = 100

Все бы ничего, но мои системные часы из компютера, постоянно сбиваются на час-два. Вероятно это из-за этой функции.

Как избежать сбоев системных часов? Что в функции не так?

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Сообщение Alexey-VB » 08.09.2006 (Пт) 16:04

Да это и ежу понятно.
Врпрс был почему системные часы компьютера дают сбой из-за этой функции???

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.09.2006 (Пт) 16:05

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

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Сообщение Alexey-VB » 08.09.2006 (Пт) 16:09

Очень полезно.
Я ее менял уже. Дело не в батарейке, а в функции VB.
ХЕЛП!!!

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 08.09.2006 (Пт) 16:10

Если ты спрашиваешь: "Что в функции не так?" - не пришло ли тебе в голову, что хорошо бы и код функции приложить, м? :)
Быть... или не быть. Вот. В чём вопрос?

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Сообщение Alexey-VB » 08.09.2006 (Пт) 16:15

Ну вы даете :(
Я же написал,
Цикл проверяет текущий час 8 раз в секунду. Проверяет вот этой строчкой: If Hour(Time) = 8 then .......
При этом идет сбой системного времени. (ни сразу конечно, а в течении суток 2-3 раза). Сбой заключается в том, что системное время может вернуться на час назад.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.09.2006 (Пт) 16:29

в то, что ты написал верится с трудом.
проверь, сбиваются ли часы в ОС в течении дня, если твою программу вообще не запускать.

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Re: Проблемма работы с функциями времени!!!

Сообщение lister » 08.09.2006 (Пт) 16:30

Alexey-VB писал(а):
Например: If Hour(Time) = 8 then Abcd = 100
...
Вероятно это из-за этой функции.
...


Сбой из-за Hour()? Маловероятно

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Сообщение Alexey-VB » 08.09.2006 (Пт) 16:34

Если не запускать, то несбиваются.

Я даже пытался сделать проверку вот так: If Timer = 28800 Then .....
При такой функции, часы начинают отставать на 15-20 минут за день.

Если кто не знает ответ на эту проблемму, то писать - "С трудом верится" НИКЧЕМУ.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.09.2006 (Пт) 16:39

просто такой проблемы не замечали у себя :roll:
а таймер у тебя как часто отрабатывает?
при работе проги какова загрузка проца?

может DoEvents в цикле поможет...

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 08.09.2006 (Пт) 16:42

Не хочешь показывать текст функции - не надо. Но если у тебя в соседней строчке Time случайно окажется слева от знака равенства, ты сам себе злобный буратино. :evil:
Быть... или не быть. Вот. В чём вопрос?

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Re: Проблемма работы с функциями времени!!!

Сообщение lister » 08.09.2006 (Пт) 16:42

Alexey-VB писал(а):В моей программе есть цикл проверки по времени...


Что за цикл?

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Сообщение Alexey-VB » 08.09.2006 (Пт) 16:48

Такого что Hout(Time) = A, а затем B = Hour(Time) у меня нет.

А цикл повторяется через каждые 10 милисикунд.

DoEvents у меня стоит. И проблнмма тоже :(

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Сообщение Alexey-VB » 08.09.2006 (Пт) 16:49

If Hour(Time) = 8 Then
SHORTMESSAGEEMAIL
DoEvents
End If

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.09.2006 (Пт) 16:53

А цикл повторяется через каждые 10 милисикунд.

Это зря. Не нужно такой интервал ставить.

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 08.09.2006 (Пт) 16:57

Что-то я не въеду. Чел использует цикл или все-таки таймер? :shock:

Alexey-VB
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 11.08.2006 (Пт) 15:10

Сообщение Alexey-VB » 08.09.2006 (Пт) 17:00

Использую бесконечный цикл с интервалом в 10 милисекунд.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 08.09.2006 (Пт) 17:46

Alexey-VB
Приведи как ВЕСЬ код
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 08.09.2006 (Пт) 19:26

Alexey-VB писал(а):Использую бесконечный цикл с интервалом в 10 милисекунд.


Это как это?
С чего ты взял, что там интервал именно 10 мсек?

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 09.09.2006 (Сб) 2:12

ну вот можешь паасмареть мою прогу Будильник, там время выставляетcя када будить, есессено и проверка должна все время идти - тоже также через Hour/Minutes; слушай судками работает - не сбивается сист.время!! :lol:

VB.Project >> http://www.zone.ee/vbprogs/files/progs/ ... _clock.zip (150 kb)
On Fatal Error Resume Next

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 11.09.2006 (Пн) 8:39

MSDN писал(а):Date Statement


Sets the current system date.

Syntax

Date = date

For systems running Microsoft Windows 95, the required date specification must be a date from January 1, 1980 through December 31, 2099. For systems running Microsoft Windows NT, date must be a date from January 1, 1980 through December 31, 2079.


и еще MSDN писал(а):Time Statement


Sets the system time.

Syntax

Time = time

The required time argument is any numeric expression, string expression, or any combination, that can represent a time.

Remarks

If time is a string, Time attempts to convert it to a time using the time separators you specified for your system. If it can't be converted to a valid time, an error occurs.



Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 47

    TopList