0 / 0 / 0
Регистрация: 24.07.2017
Сообщений: 43

Почему не происходит остановка таймера?

25.07.2017, 11:21. Показов 1225. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Объясните, пожалуйста, и напишите правильный код)

Pascal
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
uses crt;
var
b:real;
a,i:integer;
c,d:char;
begin
writeln('Введите время в минутах.');
readln(a);
a:=a*60;
b:=1;
  for i:= 1to a do 
  begin
  sleep(1000);
  while KeyPressed do
      begin
      a:=2;
      if ReadKey=#0 then ReadKey;
      writeln('Таймер остановлен');
      sleep(2000);
      end;
    write(b);
  write(' ');
  b:=b+1;
  end;
end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2017, 11:21
Ответы с готовыми решениями:

Почему происходит остановка цикла?
Подскажите почему при заполнении массива строками длиной от 5 символов, происходит остановка цикла? И как это можно исправить? ...

Остановка таймера
Всем Привет! Как можно остановить таймер, а потом через несколько секунд что бы он заново поработал)?? private void...

Остановка таймера
Есть таймер. Нужно остановить его, если открыта вторичная форма,и запустить дальше,если она закрыта. Как это сделать? Добавлено через...

7
Почетный модератор
 Аватар для Puporev
64308 / 47605 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.07.2017, 11:59
Напишите что Вы пытаетесь делать. Из этого сумбурного кода не понять.
0
0 / 0 / 0
Регистрация: 24.07.2017
Сообщений: 43
25.07.2017, 12:16  [ТС]
Обычный таймер, но с возможностью прервать его выполнение (с этим то и проблема).
0
Почетный модератор
 Аватар для Puporev
64308 / 47605 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.07.2017, 12:18
Лучший ответ Сообщение было отмечено bob1957a как решение

Решение

Цитата Сообщение от bob1957a Посмотреть сообщение
но с возможностью прервать его выполнение
Pascal
1
2
3
repeat
//что-то делаем
until keypressed;
Добавлено через 42 секунды
Или
Pascal
1
2
while not KeyPressed do
      begin
1
0 / 0 / 0
Регистрация: 24.07.2017
Сообщений: 43
25.07.2017, 12:30  [ТС]
Большое спасибо)
Ещё сейчас придумал, что можно сделать вот так:
Pascal
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
uses crt;
var
b:real;
a,i:integer;
c,d:char;
begin
writeln('Введите время в минутах.');
readln(a);
a:=a*60;
b:=1;
  for i:= 1to a do 
  begin
  sleep(1000);
  while KeyPressed do
      begin
      if ReadKey=#0 then ReadKey;
      writeln('Таймер остановлен');
      halt;//Это штука решает нашу проблему
      sleep(2000);
      end;
    write(b);
  write(' ');
  b:=b+1;
  end;
end.
0
Почетный модератор
 Аватар для Puporev
64308 / 47605 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.07.2017, 12:34
Вот какой смысл в этом?
Цитата Сообщение от bob1957a Посмотреть сообщение
while KeyPressed do
Пока нажата любая клавиша, делаем..
0
0 / 0 / 0
Регистрация: 07.02.2017
Сообщений: 9
26.07.2017, 00:35
А зачем после выхода из программы ждать 2000 мс?
0
0 / 0 / 0
Регистрация: 24.07.2017
Сообщений: 43
26.07.2017, 20:50  [ТС]
Не надо ждать 2000 мс, это опечатка.
Вот окончательный вариант:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
var
b:single;
i,a:integer;
c:char;
begin
writeln('Введите время в минутах.');
readln(a);
a:=a*60;
b:=1;
  for i:= 1to a do 
 while not KeyPressed do
  begin
  sleep(1000);
  write(b);
  write(' ');
  b:=b+1;
  end;
writeln('Таймер выключен');
writeln('Нажмите Enter для выхода');
readln(c); 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.07.2017, 20:50
Помогаю со студенческими работами здесь

Остановка таймера и MessageBox
private void timer1_Tick(object sender, EventArgs e) { MessageBox.Show("Время пить херши"); ...

Запуск и остановка Таймера
Уважаемые форумчане, добрый день! В просторах интернета по вопросу работы ТАЙМЕРА на VBA, я нашел много разных примеров, однако из-за...

Остановка таймера по кнопке
Не хватает мозгов -_- private void Slaid_Click(object sender, EventArgs e) { timer1.Enabled = true; ...

Принудительная остановка таймера
Здравствуйте! Ситуация следующая, у моей программы триал версия, но обойти ее очень просто т.к. при запуске программы запускается таймер...

Старт и остановка таймера на одну кнопку
Здравствуйте. Нужно сделать, чтоб на одну и туже кнопку таймер включался, нажимаешь еще раз таймер останавливался.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru