Page 1 of 1

Работа с журналом

Posted: 29.11.2015 21:50
by Stels
Здравствуйте.
Возникла интересная ситуация. Подскажите, как её можно решить.

Мне нужно считывать два системных сообщения подрят. Но между ними есть небольшой промежуток и иногда может влезть другая надпись.
Сначала я пытался реализовать следующим образом

Code: Select all

 if InJournalBetweenTimes('****',Now,ctime) > 0 then lastmsg := Journal(LineIndex+1);
вот интервал между ними

Code: Select all

[19:56:07:046]
[19:56:08:265]
Первая фраза - всегда одинаковая, мне нужно считывать вторую.
Иногда между ними проскакивают фразы из игры (другие игроки что-то говорят, например) или другие системные сообщения, но другого цвета.

Увидел в справочнике функцию

Code: Select all

function LineMsgType: Byte
тип сообщения
Думал она возвращает как раз тип сообщения типа системные или другие. Присвоил в переменную, возвращается 0

Далее попробовал функцию

Code: Select all

function LineName: String
она работает так как надо мне, но я не могу понять, какую именно строку она считывает? Если найденную, то как считать этой функцией следующую строку?

Re: Работа с журналом

Posted: 30.11.2015 0:48
by Vizit0r
все намного проще - LineID
вернет или ноль, или что-то типа FFFFFFFF, смотря что на сервере прописано - но всегда одно и то же.


а насчет конкретной строки.
function Journal(StringIndex : Integer) : String;
возвращает конкретную строку, и помимо этого заполняет все эти переменные-свойства для этой строки (LineID, LineType и т.д.).

Re: Работа с журналом

Posted: 30.11.2015 16:39
by Stels
LinID в данном случае будет равнозначен LineName, а за остальное спасибо )) буду думать

Re: Работа с журналом

Posted: 30.11.2015 21:35
by Vizit0r
ну, это частный случай.