|
21 / 21 / 4
Регистрация: 30.01.2011
Сообщений: 119
|
|||||||
Секундомер30.01.2011, 04:49. Показов 11092. Ответов 8
Метки нет (Все метки)
Подскажите исходный код программы для секундомера без всяких кномок без никакого графического интерфейса самый просмотой на языке C++ Builder
0
|
|||||||
| 30.01.2011, 04:49 | |
|
Ответы с готовыми решениями:
8
Timer(Секундомер) |
|
|
||||||
| 30.01.2011, 05:21 | ||||||
|
Timer(Секундомер) <- используете понравившееся из предоставленного ->
Пример программы
Описание программы
Это приложение выполняет функции секундомера. При этом возможен выбор шага, с которым производятся измерения - секунда, одна десятая или одна сотая секунды. При нажатии соответствующих кнопок выполняется запуск/приостановка отсчета, сброс времени на ноль (если отсчет был запущен, то он продолжится, но уже начиная с нулевого значения), выход из приложения. При смене величины шага расчет останавливается, время сбрасывается на ноль. Никаких особых идей в базовой версии программы не используется, только простейшая работа с компонентами. Используются следующие компоненты: Button, Edit, RadioButton, Timer. Расположение компонентов на форме Свойства компонент, измененные по сравнению со стандартными Button1: Caption: "Старт" Button2: Caption: "Сброс" Button3: Caption: "Выход" Edit1: Text: "0" RadioButton1: Caption: "1 секунда" Checked: true RadioButton2: Caption: "0,1 секунды" RadioButton3: Caption: "0,01 секунды" Код программы
У программы, код которой приведен здесь, есть недостаток, заключающийся в том, что время в ней отображается исключительно в секундах, а перевод в формат часы-минуты-секунды не реализован. Конечно, это не будет иметь особого значения когда вы только пишете программу и делаете тестовый запуск - если вы не заняты нечем другим, то смотреть на секундомер несколько минут не отрываясь вы все равно не будете. Однако если вы уже написали программу, зашли на кухню, поставили вариться пельмени и щелкнули по кнопке "Старт", желая не пропустить момент готовности, то информация о том, что ваш ужин варится уже 1024,32 секунды может вас изрядно озадачить. Поэтому дописать функцию для внятного отображения времени будет полезно для практического использования. Прежде всего необходимо определить три переменные типа int - назовем их hours, minuts, seconds (да, секунды тоже будут целым числом, а почему - сказано чуть ниже). Затем с помощью несложных арифметических действий из числа секунд получаются отдельно число часов, минут и секунд. Округление при этом производится функцией floor из библиотеки math. После чего остается лишь преобразовать три отдельных числа в пригодную для вывода строку. Выглядит это следующим образом: Edit1 -> Text = AnsiString(hours) + ":" + AnsiString(minuts) + ":" + AnsiString(seconds); AnsiString - строковой тип (точнее - класс), а AnsiString() - функция-конструктор, возвращающая значение типа AnsiString на основании переданных аргументов. Оператор сложения в данном случае означает объединение двух или более строк. Вставив соответствующий код в функцию Timer1Timer, получаем то, что хотели - вывод будет производить в формате чч:мм:сс. Теперь о том, почему же секунды должны содержаться в целой переменной. Во-первых, не настолько уж часто вам вообще могут понадобиться доли секунды, и если уж имеет смысл выводить минуты, а то и часы, то вряд ли на таких масштабах одна сотая секунды будет важна. Во-вторых, и это здесь главное - при маленьких значениях шага время выполнения программой инструкций, указанных в функции таймера, становится сравнимыи с величиной этого шага, что может внести существенные поправки и, следовательно, значительно повлиять на точность измерения.
1
|
||||||
|
1 / 1 / 1
Регистрация: 29.08.2013
Сообщений: 48
|
||||||
| 25.09.2013, 15:03 | ||||||
|
почему так не сделать? на мой взгляд намного проще
на форму кидаем кнопку и эдит. Жмем дважды по кнопке и прописываем.
0
|
||||||
|
Волшебник
65 / 64 / 7
Регистрация: 21.11.2009
Сообщений: 319
|
||
| 25.09.2013, 17:40 | ||
Хотя оно и будет работать, но так нельзя писать)А вот если когда нибудь вам понадобиться использовать очень точный таймер, то есть еще мультимедийные таймеры. Они в отличии от простого таймера (TTimer), который может работать с минимальным интервалом 15 миллисекунд, мультимедийный может обеспечить до 1 миллисекунды.
0
|
||
|
|
|
| 25.09.2013, 22:39 | |
|
Как показывает практика, минимальный рабочий интервал у TTimer где-то около 50 мс, а вовсе не то, что заявлено в справке. Плюс к этому количество одновременно работающих таймеров в системе ограничено, а высокая нагрузка на систему может привести к задержкам или пропускам сообщений WM_TIMER. Вот мультимедийные - это вещь.
![]() Кирилл2100, ты отвечаешь на вопрос почти трехлетней выдержки. Это не то, чтобы порицается, но и не приветствуется. Даже иногда обзывают некропостингом это дело.
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||
| 25.09.2013, 23:06 | ||
|
0
|
||
|
27 / 20 / 1
Регистрация: 26.02.2013
Сообщений: 135
|
||||||
| 26.09.2013, 07:09 | ||||||
|
Нашел очень интересный вариант минимальной работающей программы, по работе с таймером. Как программа-секундомер, она работает неплохо, при этом на форму ничего кидать не надо. В моем примере есть две кнопки, но они - чисто для демонстрации.
0
|
||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 26.09.2013, 10:20 | |
|
Действительно, занятная штучка. Я попробовал в функцию CallBack вставить модификацию трэкбара (на некоторых других контролах сваливает на эксцэпшн...) и уже на его изменение - вывод на лэйбл, и получился неплохой секундомер.
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||||
| 26.09.2013, 10:53 | ||||||
|
вот такая игрушка получилась...
Кликните здесь для просмотра всего текста
0
|
||||||
| 26.09.2013, 10:53 | |
|
Помогаю со студенческими работами здесь
9
Секундомер с базой данных Двухпоточный секундомер Простой секундомер. На Button1 запускается, на Button2 сбрасывается. Аналоговый секундомер Секундомер(и только секундомер). Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|