Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/29: Рейтинг темы: голосов - 29, средняя оценка - 5.00
1 / 1 / 2
Регистрация: 18.05.2015
Сообщений: 79
1

Отсчёт таймера в обратную сторону

26.05.2016, 13:51. Показов 5708. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо реализовать отсчёт таймера и заносить оставшееся время в label в виде "осталось Х минут У секунд"
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2016, 13:51
Ответы с готовыми решениями:

Как прервать отсчёт таймера?
Здравствуйте суть такова... У меня есть таймер в котором есть фунция if( Timer1->Tag == 0 ) {...

При повторном запуске таймера начинать отсчет со 180
int i=60; void __fastcall TForm2::Timer1Timer(TObject *Sender) { static int p=i*3; int...

FOR в обратную сторону
Как в с++ сделать for наоборот? ну то есть не от 1 к n, а от n к 1. подскажите, прошу. ...

Кнопка в обратную сторону
Вот кнопка вперед, как сделать кнопку назад? function echo (n){ text = ''; for (var i = n*po;...

2
управление сложностью
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
26.05.2016, 14:23 2
Лучший ответ Сообщение было отмечено DImawsasdas как решение

Решение

Что не получается ? Код таймера имеется ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
void __fastcall TMainForm::Timer1Timer(TObject *Sender)
{
    String str_time = ""; //строка для записи времени
        String min = ""; //переменная для обозначения минут с лидирующим нулем
        String sec = ""; //переменная для обозначения секунд с лидирующим нулем
 
        //код отвечающий за обратный отсчет таймера
        if ( seconds >= 1 ) //если секудны больше 1
        {
                seconds--;//тогда уменьшаем количество секунд
        }
        else if ( seconds <= 0 ) //если отрицательно
        {
            seconds = 59;//выставляем начальное значение секунд
                seconds--; //уменьшаем секунды
                if ( minuts >= 1 )//если минуты больше 1
                {
                        minuts--;//уменьшаем менуты
                }
                else if ( minuts <= 0 )//если отрицательно, тогда выставляем начало отсчета
                {
                        minuts = 59;
                }
        }
        //добавляем лидирующие нули в таймере
        if(minuts < 10)
        {
            min = "0" + IntToStr(minuts);
        }
        else
        {
            min = IntToStr(minuts);
        }
        if(seconds < 10)
        {
            sec = "0" + IntToStr(seconds);
        }
        else
        {
            sec = IntToStr(seconds);
        }
        //выводим таймер
        str_time = min + ":" + sec;//пишем в строку минуты и секунды
        MainForm->Clock->Caption = str_time;//выводим на форму
        if(minuts == 0 && seconds == 0)
        {
            MainForm->Timer1->Enabled = false;
            ShowMessage("Время выполнения теста истекло");
            ShowRezults();
        }
}
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32989 / 21295 / 8180
Регистрация: 22.10.2011
Сообщений: 36,586
Записей в блоге: 8
26.05.2016, 14:30 3
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
#include <DateUtils.hpp>
// ...
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    static int tm = 122; // начальное время в секундах
    Label1->Caption = String().sprintf(L"%02d:%02d", ((tm % SecsPerDay) % SecsPerHour) / SecsPerMin,
                                                     ((tm % SecsPerDay) % SecsPerHour) % SecsPerMin);
    tm -= 1;
    Timer1->Enabled = (tm != 0)
}
2
26.05.2016, 14:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2016, 14:30
Помогаю со студенческими работами здесь

MAX_COUNT в обратную сторону
как заставить этот код, дойдя до MAX_COUNT, работать в обратную сторону, т.е. count-1 ? public...

Елочка из # в обратную сторону
Доброй ночи, уважаемые форумчане. Есть простой код, который выводит елку из решеток, как переделать...

СЛАУ в обратную сторону
Задание: Решить СЛАУ исходные данные брать из файла , ответы записать в файл. Произвести проверку...

Видео в обратную сторону
Здравствуйте, уважаемые форумчане! :) Сразу хочу сказать, что в обработке видео я полный нуб,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru