Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запись времени выполнения действий, запись действий пользователя 
:(
    Опции темы
AGENTxXx
Дата 25.1.2010, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 8.6.2009

Репутация: нет
Всего: 1



Добрый ночи (у меня так как сейчас во всю ночь). Ребята, нужна ваша помощь (необизательно код, а хотя бы для алгоритм реализации), может кто то имел с чем то подобным. Задача такая: есть например программа для работы с файлом (текстовым) и желательно записать время всех изменении (ну например работы с текстом), то что курсор например из одного места перешел в другое. Ну или еще попроще вроде задача: нужно например записать в textbox время изменения положения курсора (в миллисекундах).
Пример действий проги:
курсор передвинулся на 100 пикселей вправао
прога например будет отлавливать события каждые 0.5 секунды
предположим что она 100 пикселей прошла за секунду, тогда в textbox должно записаться:
0 - старт проги время равно 0 (начальная точка курсора и курсор не успел двинуться)
500 - положение курсора например стало на 47 вправо
1000 - положение на 100 вправо.
Теперь например ситуация, курсор стоит на месте 4 секунды и потом двигается на 40 пикселей влево, в textbox должно записаться:
5500. Т.е. время идет, если даже курсор недвигается. Т.е. нужно в конечном итоге решить 2 вещи:
1) пославленную задачу
2) минимум загрузки процессора

У меня вот какая идея: читаем системную дату например, и используем событие  MouseMove (вроде так) и если действий с мышкой нет, то это событие не выполняется, а если действие есть о мы из текущего времени вычитаем предыдущее которое записанно и в итоге получаем время сколь мышь стаяла. Только вот если вдруг пользователю сбрендит помемять дату то прога полетит можно сказать. В итоге, как бы так реализовать чтобы в проге был реализован щетчик этого времени? Вроде есть, время существования процесса, может по нему определять, или как лучше. Ну и все же желательно к этому чтобы проц не сильно нагружало, так как сами понимаете что прилично может быть обработок. Зараннее большое спасибо всем!
PM MAIL   Вверх
explorer
Дата 25.1.2010, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 26.2.2008

Репутация: 1
Всего: 2



Вообще идея с опросом постоянным как-то пугает. У меня есть подозрение, что один только опрос будет занимать прилично ресурсов.

Есть предложение делать пометки в обработчиках событый (например на то же нажатие клавиши, т.е. перемещение курсора).


--------------------
 
PM MAIL WWW ICQ   Вверх
AGENTxXx
Дата 25.1.2010, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 8.6.2009

Репутация: нет
Всего: 1



Вот вот, я про тоже. Что если будет постоянно опрашиваться, то будут ресурсы жрать прога, а так же ни какой пользы это приносить не будет (конечно это будет работать, но КПД мне кажеться в минус уйдет). Вот я и думаю как же сделать так чтобы это было хорошее соотношение: и работала и загрузка на минимум. Вот только какие идеи приходят, но потом ломаются, так как то одно не выполняется то другое. Но у меня пока только склонения к тому, чтобы работать со временем процесса(нашего активного потока), ну т.е. время его сущ-ия. с ним уже все манимуляции проводить. Тогда в общем можно будет реализовать. Например такой алг: если мышка стоит более 5-х секунд, то мы таймер программно отключаем до следующего движения. А как только произойдет следующее движение, мы из времени существования потока(или процесса) вычитаем время последнего активного движения. В итоге у нас эта разность и будет равняться времени простоя. Может кто лучше знает как реализовать?

PM MAIL   Вверх
gambit
Дата 27.1.2010, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



А если как то так? Правда я взял за основу тики, не особо удачно, ибо кол-во тиков  в секунде разное. Но общую тенденцию ты поймешь.

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  TextMouse.rar 34,71 Kb
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1029 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.