CftClub.ru
Клуб специалистов ЦФТ-Банк

Timer - пример использования где найти?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Damir
Участник - экстремал
Неподтвержденный


Вступление в Клуб: 29.03.2013
СообщениеЧт Авг 28, 2014 13:29   Timer - пример использования где найти? Ответить с цитатой
Полезность: Нет оценки
Здравствуйте.
На нашей схеме нет ни одного примера использования таймера.
В справке - тоже примеров не нашел.
Нашел упоминание события Form.OnTimer
А как создать таймер, запустить его, остановить, задать интервал срабатывания - всего этого нет в документации.
Так же ничего нет на форуме (поиск по форуму по Timer).
И в букваре не нашел.
В связи с этим, не могли бы уважаемые представители ЦФТ запостить сюда какой-нить простенький пример использования таймера ?
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Авг 28, 2014 14:18    Ответить с цитатой
Полезность: Нет оценки
Я хоть и не из ЦФТ, но ...
Описание в дистр. доке по клиент скрипту annex4-master.doc
первое число номер таймера, второе срабатывание , мс

Код:

function   main( c )
   main = true
   
   if (c is nothing) then
      call Form1.ScriptShowMonitor
      Form1.SetTimer 1, 5000      
   end if
   
   if (c is Ok) then
      Form1.KillTimer 1
   end if


   
end function


Public Sub Form1_OnTimer(idEvent)
   If idEvent = 1 Then
      MsgBox "Сработал таймер 1."
   End If
end sub


Пример операция PR_CRED :: UNI_CASH
там ещо ProgressBar реализован
prankster
Профи
Открытие


Вступление в Клуб: 22.08.2014
СообщениеЧт Авг 28, 2014 14:47   Re: Timer - пример использования где найти? Ответить с цитатой
Полезность: 1
Damir пишет:
Здравствуйте.
На нашей схеме нет ни одного примера использования таймера.
В справке - тоже примеров не нашел.
Нашел упоминание события Form.OnTimer
А как создать таймер, запустить его, остановить, задать интервал срабатывания - всего этого нет в документации.
Так же ничего нет на форуме (поиск по форуму по Timer).
И в букваре не нашел.
В связи с этим, не могли бы уважаемые представители ЦФТ запостить сюда какой-нить простенький пример использования таймера ?


Код:

Public Sub ButtonForTimer_OnClick()
   Form1.SetTimer 1, 5000
End Sub

Public Sub ButtonKillTimer_OnClick()
  Form1.KillTimer 1
End Sub


Public Sub Form1_OnTimer(idEvent)
   Call Form1.ScriptServerValidate(OK, "OK") 
End Sub

Public Function Main(LastControl)
   If LastControl is Nothing Then
      Runtime.ShowMonitor
      ButtonForTimer_OnClick
   Elseif LastControl is OK Then
      ButtonKillTimer_OnClick
   End If
   
   Main = True
End Function


Использовал так. Здесь по запуску операции создается таймер (периодичность запуска 5000 - 5 секунд), Form1_OnTimer(idEvent) - обработчик. По нажатию ОК (именно ручному на кнопку на форме в текущем примере) - таймер удаляется.

ну а в валидаторе, как пример:
Код:

begin
   if P_MESSAGE = 'DEFAULT' then
      if P_LOG is null then
         P_LOG := get_rec_log;      
         
         if P_LOG is null then
            pragma error('Нет информации о запуске операции взятия периодических комиссий!');
         end if;
      end if;
      
      v_max_id      := 0;
      v_old_max_id   := 0;
      v_check         := true;
      
   elsif P_MESSAGE = 'VALIDATE' then
      if P_INFO = 'OK' then
         if v_check then
            for(
                  select   x(
                           x%id            : c_id,
                           x.[ERROR_MSG]      : c_error
                         )
                  in      P_LOG.[PARAMS] all
                  where   x%id > v_max_id
                  order by x%id
            )loop
               debug_pipe(x.c_error||nl$||nl$,0);
               v_max_id := x.c_id;
            end loop;
                        
            if v_old_max_id = v_max_id then
               if is_it_all then
                  debug_pipe('Выполнение операции взятия комиссий завершено!',0);
                  v_check := false;
               end if;
            else
               v_old_max_id := v_max_id;
            end if;
         end if;
      end if;
   end if;
end;
Damir
Участник - экстремал
Неподтвержденный


Вступление в Клуб: 29.03.2013
СообщениеПт Авг 29, 2014 14:06   Re: Timer - пример использования где найти? Ответить с цитатой
Полезность: Нет оценки
prankster, Vtar спасибо, тему изучил Smile
wolfio
Участник - экстремал
Нордеа Банк


Вступление в Клуб: 22.10.2012
СообщениеЧт Мар 19, 2015 16:51    Ответить с цитатой
Полезность: Нет оценки
Товарищи, у меня вопрос по Господа, подскажите, пожл, что делает эта команда?

Код:
 Call Form1.ScriptServerValidate(OK, "OK")
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 19, 2015 16:57    Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:
Товарищи, у меня вопрос по Господа, подскажите, пожл, что делает эта команда?

Код:
 Call Form1.ScriptServerValidate(OK, "OK")


Передает сообщение "ОК" в серверный валидатор объекта ОК,
т.е. имитирует нажатие кнопки ОК.

Посмотри мой ответ на твой исходный вопрос в другой теме.
wolfio
Участник - экстремал
Нордеа Банк


Вступление в Клуб: 22.10.2012
СообщениеЧт Мар 19, 2015 16:58    Ответить с цитатой
Полезность: Нет оценки
спс, уже увидел

p.s. обращение у меня вышло зачетное Smile я не в себе видимо) извиняюсь )
wolfio
Участник - экстремал
Нордеа Банк


Вступление в Клуб: 22.10.2012
СообщениеЧт Мар 19, 2015 17:03    Ответить с цитатой
Полезность: Нет оценки
у меня еще вопрос - как сделать так, чтобы блок исполняемый обработчиком таймера исполнился сразу же после поднятия формы?

добавление команды Form1_OnTimer в основную функцию клиент скрипта при неопределенном фокусе эффекта не дало
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 19, 2015 17:40    Ответить с цитатой
Полезность: 1
Код:

function   main( c )
   main = true
   
   if (c is nothing) then
                                 call Form1.Form1_OnTimer(1)
      call Form1.ScriptShowMonitor
      Form1.SetTimer 1, 5000      
   end if
   
   if (c is Ok) then
      Form1.KillTimer 1
   end if


   
end function


Последний раз редактировалось: vtar (Чт Мар 19, 2015 17:42), всего редактировалось 1 раз
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Мар 19, 2015 17:42    Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:
добавление команды Form1_OnTimer в основную функцию клиент скрипта при неопределенном фокусе эффекта не дало

хреновый из Вас фокусник, коллего Smile
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru