Решил сделать инструмент для мониторинга и сохранения в лог активности пользователей на форуме.
Первая проблема с которой столкнулся - необходимость авторизации.
Почитал форум и понял, что сам я авторизацию на HiAsm не создам. Но меня вполне устроит использование компонента Web Browser. Вроде даже получается уже что-то.
Однако есть нюансы. Если прогу свернуть в трей, то через какое-то время Web Browser подвисает. В развернутом виде вроде пашет стабильно. Можно конечно и не сворачивать, но будет не так удобно.
Этот топик читают: Гость
Ответов: 84
Рейтинг: 1
|
|||
карма: 1 |
|
Ответов: 84
Рейтинг: 1
|
|||
C получением данных проблем не возникло, а вот с интерфейсной частью (элемент StringTamleMT) как-то не могу разобраться.
Хочу, что бы в зависимости от содержимого строки (а конкретно от выполняемого действия) строки бы выделялись разным цветом. Например если пользователь просматривает тему - цвет один, а если отвечает - цвет другой. При попытке включить ColorItems в True у меня в логе всё смещается на один столбец влево. Вот мой прототип, для опытов... code_30002.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_30002.txt [1.9KB] [381] |
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
NordWest писал(а): элемент StringTamleMTОй как бы я не советывал использовать этот компонент. Не могу понять, чем он вас всех так прельщает, когда есть более продвинутый компонент -- MTStrTbl ------------ Дoбавленo в 00.54: Вот, как вариант
|
|||
карма: 22 |
|
Ответов: 84
Рейтинг: 1
|
|||
nesco писал(а): Не могу понять, чем он вас всех так прельщаетВот, как вариант Идею понял, но у меня теперь неверно отрабатывает отсеивание одинаковых строк (видимо потому что в компонент приходит строка одного вида, а при переборе она уже без цветовых индексов). Понятно, что это решаемо, но не хочется без особой нужды усложнять. Попробую разобраться как работать с MTStrTbl
|
|||
карма: 1 |
|
Ответов: 1536
Рейтинг: 176
|
|||
nesco писал(а): Не могу понять, чем он вас всех так прельщает |
|||
карма: 1 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
ser_davkin писал(а): Внешняя простотаКажущаяся внешняя простота. Если использовать этот компонент серьезно, то запаришься ему обвязку делать |
|||
карма: 22 |
|
Ответов: 84
Рейтинг: 1
|
|||
Все, я сдаюсь. Как поиск делать на MTStrTbl и как новые строки в таблицу добавлять я разобрался.
А вот скрестить эти две функции не получается хоть тресни. Мне нужно, что бы строка добавлялась в таблицу только если её там ещё нет. Для этого я сначала делаю поиск и по отрицательным результатам поиска предполагал добавлять строку. И нифига - не могу сообразить, как после условия подать на вход RowAction событие+данные. code_30008.txt |
|||
карма: 1 |
| ||
файлы: 1 | code_30008.txt [1.7KB] [372] |
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
NordWest писал(а): Мне нужно, что бы строка добавлялась в таблицу только если её там ещё нетА критерии сравнения какие Да и откуда там могут взяться повторные строки, мне не очень ясно Да если в этом логе будут тысячи событий, то запаришься в них повторы искать. Что-то мне подсказывает, что это неправильное решение |
|||
карма: 22 |
|
Ответов: 84
Рейтинг: 1
|
|||
Парсер будет мониторить лог активности за последние 15 минут. А следоватедьно в эти 15 минут вероятны полные повторы строк. За границей 15 минут мониторить смысла нет.
|
|||
карма: 1 |
|
Ответов: 1536
Рейтинг: 176
|
|||
NordWest писал(а): не могу сообразить, как после условия подать на вход RowAction событие+данные.
|
|||
карма: 1 |
|
Ответов: 84
Рейтинг: 1
|
|||
ser_davkin, классное решение, хотя до конца так и не понял, как работает. Как я понял в StrList будут копиться строки параллельно с добавлением в основную таблицу строк, и если нужно будет что-то изменить в одной таблице - изменения необходимо делать и в другой. Ну это частности. В любом случае решение крайне интересное - сам бы я до такого не додумался, спасибо.
nesco писал(а): Да если в этом логе будут тысячи событий, то запаришься в них повторы искать.Парсер запрашивает данные раз в минуту. В ответе присутствует сразу несколько строк. Среди этих строк могут появляться строки, которые были в предыдущем запросе. Вероятно нужно где-то хранить содержимое предыдущего запроса и искать совпадения только в нем. |
|||
карма: 1 |
|
Ответов: 1536
Рейтинг: 176
|
|||
NordWest, вот решение с удалением устаревших записей. Для наглядности в 10 секунд.
|
|||
карма: 1 |
| ||
файлы: 1 | code_30012.txt [3.2KB] [336] |
Ответов: 16884
Рейтинг: 1239
|
|||
ser_davkin писал(а): вот решение |
|||
карма: 25 |
|
13