Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777, zombi-vadim (+3 невидимых)

 eXeL@B —› Программирование —› Функция Таймер
Посл.ответ Сообщение

Ранг: 3.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 мая 2008 11:57
· Личное сообщение · #1

Отредактировал прогу в Рестораторе изменил интервал таймера для нужной мне опции но после этого все опции начали функционировать по этому интервалу..как устранить эту траблу?или только в исходниках разграничить на разные таймеры



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 13 мая 2008 12:43
· Личное сообщение · #2

А до этого ты не замечал что ли, что они одновременно функционировали? Подробнее опиши и прогу выложи заодно



Ранг: 51.7 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 13 мая 2008 13:31
· Личное сообщение · #3

Anti Ну значит все опции по этому таймеру и работают. делов-то
Модить файл нужно, дописывать новый теймер, если уж так нужно...



Ранг: 3.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 мая 2008 16:10
· Личное сообщение · #4

дело в том что у меня нет исходника к этой проге..а таймер этот отредактировал через Ресторатор поменяв интервал нужная опция начала по этому интервалу вместе с другими действовать..можно ли с помощью нех-редактора или отладчика както настроить
вот этот я отредактировал
object Timer1: TTimer
Interval = 1000
OnTimer = Timer1Timer
Left = 148
Top = 168

а этот ниже..тестил незнаю для чего
object VicTimer: TTimer
Enabled = False
Interval = 30000
OnTimer = VicTimerTimer
Left = 397
Top = 178



Ранг: 3.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 мая 2008 16:32
· Личное сообщение · #5

может бряки ставить на вызовы СетТаймера..как без гемороя это решить




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 13 мая 2008 16:42 · Поправил: MACKLIA
· Личное сообщение · #6

Anti пишет:
таймер этот отредактировал через Ресторатор поменяв интервал нужная опция начала по этому интервалу вместе с другими действовать


А раньше эта интервал нужной опции отличался от других ?


Anti пишет:
а этот ниже..тестил незнаю для чего
object VicTimer: TTimer
Enabled = False
Interval = 30000


А ты Enabled на истину смени и интервал покороче поставь и увидешь нафига он нужен. (и что интересного должно было случится через 30 сек. как Enabled станет true )

-----
Что один человек сделал , другой всегда сломать может...





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 13 мая 2008 18:30
· Личное сообщение · #7

Anti пишет:
Отредактировал прогу в Рестораторе изменил интервал таймера для нужной мне опции но после этого все опции начали функционировать по этому интервалу..как устранить эту траблу?или только в исходниках разграничить на разные таймеры
Ну, тут не всё так тупо, нужно всё-таки запустить отладчик и найти именно ту процедуру, на которую влияет этот таймер, и тебе это влияние не нравится, то нужно написать функцию-фильтр, но про это уже хрен знает сколько исптсано, что тут ещё добавить?

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 13 мая 2008 18:31
· Личное сообщение · #8

Anti пишет:
может бряки ставить на вызовы СетТаймера..как без гемороя это решить

Самый логичный метод. Определившись, откуда вызывается SetTimer, можешь изменять нужные тайминги. Если же прога запакована, сделай инлайн-патч.

-----
Программист SkyNet





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

Создано: 13 мая 2008 19:36
· Личное сообщение · #9

гы, мне что то саму порогу посмотреть захотедось
Anti, ссылку запость

-----
-=истина где-то рядом=-





Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 18 мая 2008 13:54 · Поправил: MACKLIA
· Личное сообщение · #10

KingSise пишет:
гы, мне что то саму порогу посмотреть захотедось


а что там смотреть, алгоритм скорее всего примерно такой

var
a:integer;

procedure TForm1.Button1Click(Sender: TObject);
begin
a:=1;
Timer1.Enabled:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
a:=2;
Timer1.Enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if a=1 then
BEGIN
Timer1.Enabled:=false;
MessageBox(Form1.Handle,'нажата кнопка 1','1',Mb_OK);
end;

if a=2 then
begin
Timer1.Enabled:=false;
MessageBox(Form1.Handle,'нажата кнопка 2','2',Mb_OK);
end;

т.е. используется один и тот же таймер ,а какие именно действия выполнить зависит от значения переменных.

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 19 мая 2008 15:00
· Личное сообщение · #11

AntiMACKLIA
Немного не так. Таймер на 1 секунду. При срабатывании инкрементируют несколько счетчиков и при достижении нужного интервала - вызвают нужную функцию. Соответственно надо искать "свой" счетчик и отключить его. Anti Ресторатор здесь не поможет. DeDe, Олли. Ну и придется кое-что прочесть.




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 19 мая 2008 15:15 · Поправил: MACKLIA
· Личное сообщение · #12

tundra37 пишет:
Таймер на 1 секунду. При срабатывании инкрементируют несколько счетчиков и при достижении нужного интервала - вызвают нужную функцию. Соответственно надо искать "свой" счетчик и отключить его.


tundra37 возможен и такой вариант ,а может и нет ,в любом случае пока проги нет гадать бесполезно.

-----
Что один человек сделал , другой всегда сломать может...



 eXeL@B —› Программирование —› Функция Таймер
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати