OberonCore
https://forum.oberoncore.ru/

Время работы программы
https://forum.oberoncore.ru/viewtopic.php?f=29&t=351
Страница 1 из 1

Автор:  Pavel [ Понедельник, 11 Декабрь, 2006 17:35 ]
Заголовок сообщения:  Время работы программы

Здравствуйте.
Подскажите, как остановить программу вычисления после N времени (в секнндах)

Автор:  Александр Ильин [ Понедельник, 11 Декабрь, 2006 18:26 ]
Заголовок сообщения: 

Код:
IMPORT Services;

PROCEDURE Calc* ();
   CONST N = 5; (* столько секунд работаем *)
   VAR stop: LONGINT;
BEGIN
   stop := Services.Ticks() + N * Services.resolution;
   REPEAT
      (* делаем один или несколько шагов вычислений *)
   UNTIL Services.Ticks() >= stop
END Calc;

Другой вариант на тот случай, если вычисления могут закончиться раньше, чем пройдет указанное время:
Код:
IMPORT Services;

PROCEDURE Calc* ();
   CONST N = 5; (* столько секунд работаем *)
   VAR
      stop: LONGINT;
      finished: BOOLEAN;
BEGIN
   stop := Services.Ticks() + N * Services.resolution;
   REPEAT
      (* делаем один или несколько шагов вычислений *)
      finished := (* закончили вычисление? *)
   UNTIL (Services.Ticks() >= stop) OR finished
END Calc;

Автор:  Pavel [ Вторник, 12 Декабрь, 2006 08:51 ]
Заголовок сообщения: 

Большое спасибо

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/