Автор Тема: [BlackBox] Делать что-то часто по таймеру.  (Прочитано 14712 раз)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #30 : Май 10, 2013, 05:40:51 pm »
>Or We can Add to HostMenus New function for setting New Idle period.
for what reason? if you need a quick action, you'd better set a new timer2 with short period(<50),and
handle it in HostMenus.ApplWinHandler, and move Services.actionHook.Step; form HostWindows.Idle to it.
And I need to remove Services.actionHook.Step; from HostWindows.Idle? (change and recompile HostWindows module)
Oh, sorry. Ofcource right answer is "No".

But still need to use directly Win32 API, does it?
« Последнее редактирование: Май 10, 2013, 05:42:44 pm от valexey_u »
Y = λf.(λx.f (x x)) (λx.f (x x))

kkk

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #31 : Май 10, 2013, 05:54:43 pm »
Профессионалы итт ожидаемо нихуя не предложили.
So pathetic oberspace, leave it, maliya, here is nobody to have conversation with, only trolls and oberon haters.

maliya

  • Newbie
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #32 : Май 10, 2013, 05:58:59 pm »
the BB has  only a time1 which control caret flip, window update,actions.step ...etc,if you set a short period for it, the whole framework will update quickly...,that is not you wanted, so  handling actions.step alone would be suitable.  but I dont known your actual work's target , so it is only a suggestion.

DddIzer

  • Гость
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #33 : Май 10, 2013, 06:07:35 pm »
Профессионалы итт ожидаемо нихуя не предложили.
So pathetic oberspace, leave it, maliya, here is nobody to have conversation with, only trolls and oberon haters.
гыыыы...  ;D что меня забавляет в дураках, так это их предсказуемость.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #34 : Май 10, 2013, 06:09:39 pm »
the BB has  only a time1 which control caret flip, window update,actions.step ...etc,if you set a short period for it, the whole framework will update quickly...,that is not you wanted, so  handling actions.step alone would be suitable.  but I dont known your actual work's target , so it is only a suggestion.

My target is 30..60 fps for picture animation.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #35 : Май 10, 2013, 06:16:08 pm »
Профессионалы итт ожидаемо нихуя не предложили.

Почему же? vlad предложил. И это тоже сработало.
Кстати, а в BB есть полнотекстовый поиск по исходникам? Тот что в доке ищет исключительно по докам.
Y = λf.(λx.f (x x)) (λx.f (x x))

maliya

  • Newbie
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #36 : Май 10, 2013, 06:19:08 pm »
you can send me a demo source, I can change myBB modules and test, and give a result to you

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #37 : Май 10, 2013, 06:26:00 pm »
you can send me a demo source, I can change myBB modules and test, and give a result to you
ok. May be tomorrow. (I must complete it)
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #38 : Май 10, 2013, 06:32:10 pm »
valexey, поиск в меню info

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #39 : Май 10, 2013, 06:40:45 pm »
valexey, поиск в меню info
Нашел, спасибо.
Y = λf.(λx.f (x x)) (λx.f (x x))

maliya

  • Newbie
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: [BlackBox] Делать что-то часто по таймеру.
« Ответ #40 : Май 11, 2013, 08:11:41 am »
valexey,

HostMenus    add:
   
       ......
        VAR newPeroid:INTEGER;

        .....
PROCEDURE SetPeriod*(period:INTEGER);
VAR res:INTEGER;
BEGIN
res := WinApi.SetTimer(HostWindows.main, 1, period ,  NIL);
newPeroid :=period;
END SetPeriod;

PROCEDURE PeroidGuard* (period: INTEGER; VAR par: Dialog.Par);
BEGIN
IF newPeroid = period THEN par.checked:=TRUE
ELSE par.checked:=FALSE;
END;
END PeroidGuard;

        PROCEDURE Init;
       .......
             newPeroid :=idlePeriod;
        END Init;
compile it.

add a Test\Rsrc\menus.odc
MENU "TimerPeriod"
"10" "" "HostMenus.SetPeriod(10)" "HostMenus.PeroidGuard(10)"
        "20" "" "HostMenus.SetPeriod(20)" "HostMenus.PeroidGuard(20)"
"30" "" "HostMenus.SetPeriod(30)" "HostMenus.PeroidGuard(30)"
"40" "" "HostMenus.SetPeriod(40)" "HostMenus.PeroidGuard(40)"
"50" "" "HostMenus.SetPeriod(50)" "HostMenus.PeroidGuard(50)"
END


and select a peroid from menu, test you code !

PS: no need change other code, I have a panic for the caret flip ):