Доброго дня, подскажите такой вопрос, всю голову уже изломал, нужно сделать просто задержку между действиями (например между перебором значений из таблицы) задержка 1-3 секунды не суть важно, вот такой у меня код... разные если честно пробовал уже но ни один результата не дает
var
vrTimer: TM_Variable;
a: integer;
i: integer;
aSeconds: Int64;
begin
a := Table1.RowCount; // ПОЛУЧАЕТ КОЛ-ВО ЗНАЧЕНИЙ В ТАБЛИЦЕ
i := 1; // ТУТ ИЛИ 0 ИЛИ 1
while i < a do
begin
Text1.Text := IntToStr(i); // ВЫВОДИМ ЗНАЧЕНИЕ В ПОЛЕ ТЕКСТ
vrTimer.Value := now; // ЛОВИМ ЗНАЧЕНИЕ СЕЙЧАС ВО ВРЕМЕНИ
aSeconds := SecondsBetween(now, vrTimer.AsDateTime); // ЗДЕСЬ ВРОДЕ КАК РАЗНИЦА ПО ВРЕМЕНИ
if aSeconds >= 2 then // ЕСЛИ ПРОШЛО 2 СЕКУНДЫ ТО ВЫПОЛНЯЕМ
begin
i := i+1;
vrTimer.Value := now; // И ЗАНОВО ОБНУЛЯЕМ ТАЙМЕР
end;
end;
end.
наверно что то не так делаю. спасибо за помощь.
... вот я и хотел бы разделить запись точки и запуск секундной паузой что бы записи переменных не накладывались друг на друга.
Использование сдвиг-регистра для формирования временной диаграммы с периодом 1 сек.
...
kuda_exat.Value := <очередной элемент таблицы движения>; // запуск очередного цикла движения
sh_reg.Value := 1; // внутренний тег типа integer
...
Скрипт "Прошла секунда"
...
if GetBit(sh_reg.AsInt,2) then pusk_opc.Value := true; // задержка от 1 до 2 сек.
sh_reg.Value := sh_reg.AsInt + sh_reg.AsInt; // сдвиг на 1 разряд влево
...
Во вложении пример для модели загрузчика. Для просмотра трендов надо подключить БД.
Можно включить в скрипт "Прошла секунда" условный оператор, управляемой кнопкой.
Переменная iPush типа integer, 0 разряд связан с кнопкой на два состояния с фиксацией.
Переменная iCycleCounter типа integer - счетчик циклов.
const Cycles = 20;
begin
if GetBit(iPush.AsInt,0) then
// кнопка нажата
if iCycleCounter.asInt > 0 then // счетчик циклов:
iCycleCounter.Value := iCycleCounter.AsInt - 1 // ещё не 0, уменьшить
else
iPush.Value := SetBit(iPush.Asint, 0, false) // =0, отпустить кнопку
else
// кнопка отжата
iCycleCounter.Value := Cycles; // начальное значение счетчика циклов
end.
P.S. Еще один вариант управления циклом можно посмотреть во вложении к моему предыдущему сообщению.