Page 1 of 1

Нужен простой макрос

Posted: 05.04.2015 0:39
by Stifler
Добрый день господа!
Нужен простой макрос...
Не буду пытаться вписать эту часть в основной, поэтому думаю запускать как второй..

Суть такая:
Макрос должен при появлении в журнале сообщения "бла бла бла" паузить основной макрос, писать сообщение в системный журнал, аларм один раз, и паузится сам до след запуска.

Что то попытался сообразить сам из имеющихся макросов, но ввиду того, что очень плохо шарю в стелсе(инжа попроще), получился бред... макрос бесконечное количество раз пишет в системный журнал сообщение и не останавливается... Помогите пожалуйста!

А если можно, то чтобы еще окошко стелса моргать начало)

Заранее спасибо!

Code: Select all

Program AntiAnti;

{$Include 'all.inc'}



Var
    STime: TDateTime;
    FailCounter: integer;

BEGIN
WaitConnection(3000);
SetARStatus(true);
FailCounter:=0;
While Not Dead do
 

      
If (InJournalBetweenTimes('Дух вечного леса околдовал ваш инструмент',STime,Now)<>-1) then
AddToSystemJournal('Ахтунг!');
END.

Re: Нужен простой макрос

Posted: 05.04.2015 8:56
by drabadan
Из одного поставить на паузу другой нельзя. Моргать нельзя, вписывай евентом в тот который рубит.

Re: Нужен простой макрос

Posted: 05.04.2015 11:06
by Roman
drabadan wrote:Моргать нельзя
procedure Alarm
При срабатывании иконка стелса в трее начинает мигать красным цветом. После разворачивания стелса из трея - "тревога" сбрасывается.

Re: Нужен простой макрос

Posted: 05.04.2015 11:07
by drabadan
Roman wrote:
drabadan wrote:Моргать нельзя
procedure Alarm
При срабатывании иконка стелса в трее начинает мигать красным цветом. После разворачивания стелса из трея - "тревога" сбрасывается.
не знал. My bad...

Re: Нужен простой макрос

Posted: 05.04.2015 18:55
by Тaксидермист
Вешаешь на evSpeech проверку на слово "вечного". Уводишь в цикл пока в журнале не появится "правильный ответ".

Re: Нужен простой макрос

Posted: 05.04.2015 19:10
by Macks
Stifler wrote:Что то попытался сообразить сам из имеющихся макросов, но ввиду того, что очень плохо шарю в стелсе(инжа попроще), получился бред... макрос бесконечное количество раз пишет в системный журнал сообщение и не останавливается... Помогите пожалуйста!
Нужно или журнал чистить или переменную с временем проверки менять на текущее время.

Re: Нужен простой макрос

Posted: 05.04.2015 20:03
by Stifler
В основной не осилю вписать.. только попорчу его))
А тут может кто то помочь, добавить хотя бы чтобы написалось один раз, аларм и стоп скрипт?
Чистку журнала эту или что там надо..

Или это сложно? просто честно, сам не осилю, а тут вроде не все не проблемно должно быть для ассов)

Re: Нужен простой макрос

Posted: 05.04.2015 21:25
by Тaксидермист

Code: Select all

procedure OnSpeech(Text, SenderName: String;  SenderID: Cardinal);
begin                                                               
    if BMSearch(1,Text,'stopped')>0 then
    begin
        ClearJournal;
        repeat
            wait(100);
        until InJournal('started')<>-1;
    end;
end;
 
begin
    SetEventProc(evUnicodeSpeech, 'OnSpeech');
    SetEventProc(evSpeech, 'OnSpeech');