Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Shoshona
31 / 31 / 37
Регистрация: 03.06.2014
Сообщений: 1,055

Таймер, задать начальное значение и интервал

05.07.2015, 15:21. Показов 2400. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здрасьте! Помогите создать таймер, чтобы шел отсчет от 30 сек по секунде (ну... вы поняли)
пробывал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm2::Timer1Timer(TObject *Sender)
{// в таймере
    int i=30;
    Label1->Caption=i;
while(i!=0)
   {
       i--;
       Label1->Caption=i;
   }
}
// в инспекторе
Interval =1000
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.07.2015, 15:21
Ответы с готовыми решениями:

Задать начальное значение у input
Подскажите почему не получается задать начальное значение? <input type="number" ng-model="kitchen.a2.count" value="1"...

Как задать начальное значение value в TrackBar?
Привет. Застрял с задачкой в vs2015. Подскажите. В программе я использую файл для настроек. Он читается кодом и вводит переменные, в...

Как задать начальное значение элемента массива
//запись в файл StreamWriter writefile = new StreamWriter(datafile, System.Text.Encoding.GetEncoding(1251)); ...

10
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
05.07.2015, 15:50
Сначала сделай интервал таймера равным 30 сек (30000), потом в обработчике наступления события таймера меняй интервал на 1 сек (1000).
0
 Аватар для Shoshona
31 / 31 / 37
Регистрация: 03.06.2014
Сообщений: 1,055
05.07.2015, 16:09  [ТС]
а можно в коде?
0
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
05.07.2015, 20:55
Например, так:
C++
1
2
3
4
5
6
7
8
9
10
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
  Timer1->Interval = 30000;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  Timer1->Interval = 1000;
}
0
 Аватар для Shoshona
31 / 31 / 37
Регистрация: 03.06.2014
Сообщений: 1,055
06.07.2015, 09:03  [ТС]
Так не работает - он сразу за секунду до нуля скидывает!
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.07.2015, 09:54
Shoshona, может так
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
int i;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 
 i = 30;
 Timer1->Interval = 1000;
 Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
 
 
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   i--;
  Label1->Caption = IntToStr(i);
  if(i==0)
  {
   Timer1->Enabled = false;
   ShowMessage("Таймер остановлен");
  }
}
//----------------------------------------------------
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
06.07.2015, 09:56
Лучший ответ Сообщение было отмечено Shoshona как решение

Решение

Shoshona,
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
    static int i=30;
    Label1->Caption=i;
//while(i!=0)
   {
       i--;
       Label1->Caption=i;
   }
 
}
1
 Аватар для Shoshona
31 / 31 / 37
Регистрация: 03.06.2014
Сообщений: 1,055
06.07.2015, 13:50  [ТС]
Sasha, Выходит вообще ужас какой то. Он выводит 5-значные цыфры.

Добавлено через 2 минуты
SatanaXIII, Спасибо большое, все работает!
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.07.2015, 14:02
Цитата Сообщение от Shoshona Посмотреть сообщение
Sasha, Выходит вообще ужас какой то. Он выводит 5-значные цыфры.
У меня всё отлично, если бы было плохо не я бы не выкладывал код
0
 Аватар для Shoshona
31 / 31 / 37
Регистрация: 03.06.2014
Сообщений: 1,055
06.07.2015, 16:06  [ТС]
Ребят, тут новая проблема появилась(
Мне необходимо, чтобы если на кнопку нажимаешь, счетчик заново работал. Как это сделать?
Вложения
Тип файла: rar Sities.rar (9.9 Кб, 2 просмотров)
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
06.07.2015, 16:40
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Shoshona, описывайте пожалуйста задание полностью. Посидите, подумайте что к чему, все дела.

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
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
Timer1->Enabled = false;
Timer1->Interval = 1000;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Timer1->Tag--;
 
Label1->Caption = Timer1->Tag;
 
if( Timer1->Tag == 0 )
  Timer1->Enabled = false;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Timer1->Tag = 30;
Timer1->Enabled = true;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.07.2015, 16:40
Помогаю со студенческими работами здесь

Задать для таймера интервал, введя значение в TextBox
Здравствуйте, у нас есть форма в ней TextBox и кнопка. В TextBox мы вводим интервал (допустим 1мин) и нажимаем на кнопку и интервал...

Задать начальное состояние игры
Нужно задать исходное состояние игры шашки, то есть определенное расположение шашек, из текстового файла и подключить это к gui типа вот...

ValueListEditor - задать значениям начальное состояние
Здравствуйте, У меня в программе в этот компонент ValueListEditor, выводятся два значения в первый столбец значение X и во второй столбец...

Как задать начальное условие для переменной-массива в NMinimize?
Уважаемые участники форума! Решаю многомерную задачу оптимизации и хочу передать в NMinimize в качестве переменной массив, но у меня...

Присвоить переменной х значение 0, если ее начальное значение принадлежало интервалу (0;2).
Присвоить переменной х значение 0, если ее начальное значение принадлежало интервалу (0;2).


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru