oh my god
|
|
1 | |
Excel Аналоговые часы +05.04.2019, 15:12. Показов 3761. Ответов 7
Метки нет (Все метки)
Доброго времени суток.
Некоторое время назад искал в интернете реализацию таймера для vba Есть метод отложенного запуска OnTime Который подмораживает программу, и не дает возможности делать обновление быстрее секунды, так-же находил методы с системными winApi (SetTimer - Killtimer), в которых есть свои плюсы, но тоже не устраивает из за громоздкости написания кодов. Поэтому пришел к проверенному мною уже не раз, к наиболее удобному способу. тоесть серез do .. loop и doEvents В процессе моих поисков я задавал поисковым системам различные запросы, и с удивлением обнаружил что таких разработок как например аналоговые часы в Excel и такого рода реализаций в интернете вообще нет. а если даже и есть, то они находятся гдето на уровне начальной разработки Существует не малый спрос в этом. Но не будем о грустном. Выкладываю что у меня есть, возможно в этой теме появятся новые идеи. У меня аналоговые часы на основе функции Rotation и игральные кости
3
|
05.04.2019, 15:12 | |
Ответы с готовыми решениями:
7
VBA Excel аналоговые часы Аналоговые часы аналоговые часы на C# Аналоговые часы на C++ |
oh my god
|
|
05.04.2019, 21:24 [ТС] | 2 |
Для тех кто уже смотрит, обратите внимание что нет никаких заморозок процесса (и нагрузки на общий процесс), после запуска можно спокойно продолжать редактировать править и тд. (не проверял на всех версиях) задействован только один лист, в нем идет необходимая обработка, там не больше -не меньше более сотни действий производится
Добавлено через 5 часов 18 минут Некоторые улучшения: - Улучшены вычисления координат - Добавлена возможность менять цвет стрелок
1
|
fever brain
|
06.04.2019, 00:19
[ТС]
#3
|
Не по теме: ---
0
|
3 / 2 / 1
Регистрация: 14.05.2019
Сообщений: 5
|
|
14.05.2019, 12:00 | 4 |
Сообщение было отмечено fever brain как решение
Решение
Готовое решение с подробным описанием:
https://exceltable.com/shablon... -diagrammy
2
|
3 / 3 / 0
Регистрация: 27.11.2015
Сообщений: 11
|
|
27.05.2019, 14:55 | 5 |
fever brain, доброго времени.
Пробую на юзер-форме сделать обычные часы (часы:минуты:секунды), но столкнулся с такими проблемами: - метод Application.OnTime приводит к мерцанию курсора и решений этой проблемы по-видимому нет. - функция DoEvents с использованием цикла приводит к нагрузке на процессор (~20%). Подскажите, возможно Вы знаете способ как решить такую задачу или обойти вышеописанные неприятности.
0
|
oh my god
|
|||||||||||
28.05.2019, 21:38 [ТС] | 6 | ||||||||||
У меня в цикле do...loop есть еще функция win-api sleep
DoEvents - опрашивает возникшие события в программе
Никаких мерцаний не видно, можно работать, правда есть некоторые ограничения с перетаскиванием и тп На форме куда проще реализовать чем на рабочем листе. Наиболее подходящим решением в этом случае с диаграммами как у excelvisual Кстати у него тоже используется бесконечный цикл, с оператором DoEvents - только цикл реализован с помощью GoTo
1
|
3 / 3 / 0
Регистрация: 27.11.2015
Сообщений: 11
|
|
29.05.2019, 03:42 | 7 |
Спасибо за ответ, буду пробовать.
0
|
Модератор
|
|
29.05.2019, 10:23 | 8 |
Лучше прогнать цикл обработки сообщений (GetMessage/TranslateMessage/DispatchMessage), и никаких подвисаний не будет.
1
|
29.05.2019, 10:23 | |
29.05.2019, 10:23 | |
Помогаю со студенческими работами здесь
8
Аналоговые часы С++ аналоговые часы Аналоговые часы Аналоговые часы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |