Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Странный такой таймер, Вопрос по таймеру 
:(
    Опции темы
Registr
  Дата 29.12.2004, 18:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здраствуйте, я тут в Excel-е таймер наварганил smile :
Код


[code=vb]
Do While G = False
S = S + 1
If S = 60 Then
  S = 0
  M = M + 1
ElseIf M = 60 Then
  M = 0
  H = H + 1
ElseIf H = 24 Then
  H = 0
End If
Worksheets(1).LabelTime.Caption = CStr(TimeSerial(H, M, S))
DpEvents
Loop


Странный такой получился таймер - скорость пересчёта явно меняется со временем в несколько раз,
при чём на эту скорость влияет только закрытие и повторное открытие Excel. Никто не подскажет
из-за чего такое может быть? Кстати я как-то видел статью, что в VBA можно переносить (подключать)
компоненты из VB. Как это можно сделать конкретно? Вчасности интересует Timer.
  Вверх
~FoX~
Дата 30.12.2004, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 1
Всего: 68



А справочку почитать по слову Timer?
1. Ладно. Так как у тебя сделано - скорость будет меняться полюбому в зависимости от загрузки системы.
2. Подлючай скока угодно. Храняться они в *.OCX или *.dll


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Registr
Дата 31.12.2004, 09:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











smile Так ведь не знаю я как подключать... Я в VBA не силён. А что по Timer, то насколько мне известно, она возращает кол-во секунд прошедших после полуночи. Или это про другой
Timer? Нельзя ли ответить конкретнее...
  Вверх
Guest
Дата 31.12.2004, 09:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Мда, не всё сказал. С секундами проблем нет, мне надо таймер в милисекундах. С наступающим Новым Годом! smile
  Вверх
Akina
Дата 31.12.2004, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(Registr @ 31.12.2004, 10:08)
А что по Timer, то насколько мне известно, она возращает кол-во секунд прошедших после полуночи. Или это про другой
Timer? Нельзя ли ответить конкретнее...

В VBA есть функция Timer и есть метод формы Timer. Это две большие разницы. Подробнее - в хелпе.

Что до использования - юзаешь функцию типа такой:

Код

If StartTime=0 Then
  StartTime=Timer
Else
  Secunds = Fix(Timer-StartTime)
  S = Secunds MOD 60
  M = Secunds \ 60
  Min = Minuts MOD 60
  H = Minuts \ 60
  Worksheets(1).LabelTime.Caption = CStr(TimeSerial(H, M, S))
End If


StartTime - глобальная на уровне приложения переменная. Процедура вызывается событием Timer формы. Причем теперь дискретность ее вызова неважна в принципе - раз в секунду или раз в 10 секунд - пофиг.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Guest
Дата 31.12.2004, 15:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо, Akina. Правда я нашёл ещё другой ответ: Tools > References > Browse > VB98 > VB6.OLB и Timer становится доступен как класс. smile
  Вверх
cardinal
Дата 31.12.2004, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Registr, я о Timer'e давным давно написал smile Достаточно в FAQ'e поковырятся. Читай тут:
http://forum.vingrad.ru/index.php?act=modu...nel§ion=613


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.