|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||||||||||
Как программно создать таймер?08.03.2020, 22:17. Показов 4644. Ответов 31
Метки нет (Все метки)
Перепробовал уже много всяких вариантов (с New и без New) и никак не получается
![]() В интернете постоянно подсовывают варианты из VB.NET. Вот варианты, которые пробовал и ещё много других:
0
|
||||||||||||||||
| 08.03.2020, 22:17 | |
|
Ответы с готовыми решениями:
31
Как создать долгосрочный таймер? Как создать таймер без формы в модуле класса? Как программно создать обьект в VB? |
|
|
|||||||
| 09.03.2020, 08:57 | |||||||
|
Модуль:
2
|
|||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 09.03.2020, 13:17 [ТС] | |||
|
Не, ну мы так не договаривались ![]() Получается, что для создания таймера нужна форма, а замысел-то как раз и был в том, чтобы обойтись совсем без форм. А если будет форма (пусть даже невидимая), тогда и весь смысл создавать таймер программно пропадает. Проще тупо бросить его на эту самую форму ![]() Одним словом, напишу на Power Basic'е, поскольку там для создания таймера программно нет никаких проблем. Хотя, если по правде, сейчас-то я уже научился это делать, а вот первое время мне и на VBA Excel, и на Power Basic'е всегда не хватало именно таймера, поскольку там нет такой удобной контрольки на панели инструментов ![]() Таймер - это последнее недостающее звено для одной небольшой утилитки, которую решил сделать для себя в процессе обсуждения вот этой темы: Как программно определить текущую раскладку клавиатуры? Как выяснилось, всё задуманное удобней сделать именно на API, а теперь ещё и таймер на API тоже. Ну и получается, необходимость в визуалиации полностью отпала
0
|
|||
|
|
|||||||
| 09.03.2020, 14:55 | |||||||
Сообщение было отмечено Power_Basic как решение
РешениеЛадно, вот готовый код. Ну почти, для полного кайфа нужен ещё механизм выхода из этой программы. Тут нет окна и работает она скрытно. Удаляется в диспетчере задач. Индикатор раскладки будет ScrollLock/ Нужно создать проект без формы, её удаляем сразу. Добавляем вот этот модуль bas файл. В настройках проекта запуск с процедуры Main.
Тогда модуль формы не нужен, всё будет в frm. Не вижу ни каких ограничений!
2
|
|||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||
| 09.03.2020, 19:44 [ТС] | |||||
Говорит "Приходится извращаться" Ну вот я и воспринял это как сигнал того, что там куча проблем на дороге будет ![]() ![]() ![]() Задумано так, что эта утилита будет всегда стартовать вместе с операционной системой в режиме автозапуска, ну и "отключаться", соответственно, тоже будет вместе с операционкой. Полная, автоматизация, одним словом ![]() ![]() Теперь, когда я узнал про возможность сигнализировать о текущей раскладке лампочкой, необходимость в визуальном отображении раскладки на экране отпала, ну и необходимость в этом окошке, получается, тоже отпала. Лампочка гораздо удобнее, да и места совсем не занимает. Одним словом, плавающее окно в стиле TopMost было нужно главным образом именно для того, чтобы показывать текущую раскладку, ну а время, - это как бы просто для напоминания самому себе, что на это окошко всегда можно вывести любую информацию. А само по себе время постоянно перед глазами, по большому счёту, не нужно. Хотя возможно в будущем я ещё вернусь к этой идее, если появятся мысли о том, какую именно важную информацию следует оперативно выводить на экран.
0
|
|||||
|
Модератор
|
|
| 13.03.2020, 22:28 | |
|
Для использования таймера нужен цикл прокачки сообщений. Также если в перерывах между тиками ничего делать не нужно, то сойдет вообще цикл со Sleep. Но все-равно правильней делать через цикл прокачки сообщений. Так можно легко организовать правильный выход из программы.
1
|
|
|
|
|||||||||||||
| 14.03.2020, 00:16 | |||||||||||||
0
|
|||||||||||||
|
|
|||
| 14.03.2020, 05:46 | |||
1
|
|||
|
|
||||||||
| 14.03.2020, 12:44 | ||||||||
|
Нужно не окно, а обработчик событий.
0
|
||||||||
|
|
||||
| 14.03.2020, 14:41 | ||||
![]() Разговор был про форму, и я её убрал. Я говорю, что форма не нужна и написал приложение без формы. А про обработчик событий, так это любому
0
|
||||
|
|
||
| 14.03.2020, 15:02 | ||
|
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 14.03.2020, 15:16 [ТС] | ||
|
Сейчас я остановился на том варианте, что окно всё-таки будет, но поскольку оно теперь мне для информационных целей не нужно вовсе (после ознакомления с идеей индикации раскладки лампочкой) и будет только "мешаться под ногами", оно будет либо невидимым, либо будет иметь отрицательные координаты. Иными словами, это будет привычный нам всем таймер с привычным нам всем (но невидимым) окном
0
|
||
|
|
|||||||||||||||
| 14.03.2020, 17:32 | |||||||||||||||
|
DoEvents передает управление операционной системе. Прекрасно работает без окна ![]() Добавлено через 2 минуты Там всего то и надо добавить Sleep в цикл. это в шапку деклараций:
1
|
|||||||||||||||
|
Модератор
|
|||
| 14.03.2020, 18:03 | |||
|
DoEvents - это не очень хороший способ прокачки сообщений поскольку он не ждет сообщения а сразу же возвращает управление, помимо этого DoEvents делает другую работу, которая не связана с циклом обработки сообщений.
0
|
|||
|
|
|||
| 14.03.2020, 18:44 | |||
|
Слово "Нужна." как понимать?
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 14.03.2020, 19:21 [ТС] | |||
|
Ну значит всё-таки можно будет обойтись без "окна за кулисами" и это приятно ![]()
0
|
|||
| 14.03.2020, 19:21 | |
|
Помогаю со студенческими работами здесь
20
Как программно создать DSN? Как программно создать 10 лабелов? Как программно создать файл .xls???
Как создать базу на ADO программно? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|