Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2012, 21:38   #11
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
А это идея.
Jeraldino74, я Вам даже больше скажу - точку надо не от фонаря брать, а просто центр экрана за начало координат считать. Соответственно если конечная координата мыши = центр экрана, то угол=180, если конец=начало -> угол=0 либо 360. Остальные углы - по двум отрезкам рассчитывать.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 02.11.2012, 21:43   #12
Jeraldino74
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 45
По умолчанию

Я про шариковую мышь говорю, про принцип её действия, и почему-то в голове у меня при прочтении поставленной задачи, лежит такая вещь, как обращение к этим самым датчикам. Уж простите, что сплавим вам мозг.
Jeraldino74 вне форума Ответить с цитированием
Старый 02.11.2012, 21:48   #13
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Уж простите, что сплавим вам мозг.
да ничего, тут и хуже бывает.

надеюсь, помогли?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 02.11.2012, 21:51   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
про принцип её действия
У нее простой принцип: Шарик вращает два колесика, оси которых перпендикулярны друг к другу. На каждом колесике стоят датчики, которые всего лишь подают на выход из мышки в какую сторону вращается колесо (возможно еще скорость, но врядли). А уже координаты вычисляет сам драйвер мышки, передавая их операционке - именно от них и нужно отталкиваться.
Ты как получаешь данные с мышки? Используешь ли прерывания? Или проект действительно на Делфи?
I'm learning to live...

Последний раз редактировалось Stilet; 02.11.2012 в 22:16.
Stilet вне форума Ответить с цитированием
Старый 02.11.2012, 21:51   #15
Jeraldino74
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 45
По умолчанию

Да. Щас буду реализовывать, потом скину на форум, если не забуду.
Jeraldino74 вне форума Ответить с цитированием
Старый 02.11.2012, 22:02   #16
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Цитата:
Нужно как-то обратиться к счётчику импульсов ? Правильно?
Ты видать точно с дуба рухнул)

Прежде чем рассуждать о столь "высоких материях" нехило было бы сразу сказать кратко, точно и вменяемо - я, мол, изволю получить прямой программный доступ к мышиному контроллеру, и изволю я его получить, мол, в операционной среде реального времени)
xoodoo вне форума Ответить с цитированием
Старый 03.11.2012, 23:15   #17
Jeraldino74
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 45
По умолчанию

Помогите разобраться. Хочу чтобы за счёт ComboBox менялась скорость движения курсора.

Код:
procedure SetMouseSens(val: Byte);
begin
  SystemParametersInfo(SPI_SETMOUSESPEED, 0, pointer(val), 0);

end;

procedure TForm1.ComboBox1Change(Sender: TObject);
 begin
  ComboBox1.DropDownCount:=3;
If ComboBox1.ItemIndex=0 then SetMouseSens(8);
И ещё такой вопрос. DropDownCount:=3 работает после того, как я повторно нажму на ComboBox. А первоначально, разворачивается полностью.
Jeraldino74 вне форума Ответить с цитированием
Старый 03.11.2012, 23:18   #18
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А нафига Вам для скорости комбо? Используйте TrackBar - бегунком проще регулировать скорость. Через свойство Position получаете текущее положение и передаете в SetMouseSens.

Получится примерно так:

Код:
procedure TForm1.TrackBar1Change(Sender: TObject);

procedure SetMouseSens(val: Byte);
begin
  SystemParametersInfo(SPI_SETMOUSESPEED, 0, pointer(val), 0);

end;

begin
  If TrackBar1.Position>0 then
    SetMouseSens(TrackBar1.Position)
  else
    SetMouseSens(10);
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 03.11.2012 в 23:23.
Sciv вне форума Ответить с цитированием
Старый 03.11.2012, 23:23   #19
Jeraldino74
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 45
По умолчанию

А вот хочется Ну и всё равно, как в TrackBar внести изменение сенса мышки?

И второй вопрос в силе, так для новенького, в инете не нашел про это.
Jeraldino74 вне форума Ответить с цитированием
Старый 03.11.2012, 23:26   #20
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
И второй вопрос в силе,
Там очень просто: сначала отрабатывает стандартный обработчик, а потом уже Ваш код. То есть при щелчке по комбо сначала выпадет список, а потом пройдет присвоение. Потому первый раз - не... считается
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
датчик случайных чисел Наталия 555 Общие вопросы C/C++ 3 31.03.2011 13:58
Датчик случайных чисел Ksy JavaScript, Ajax 0 07.02.2011 23:10
Мышка как датчик вращения loader-ua Фриланс 7 19.11.2009 00:01
Мышка как датчик вращения loader-ua Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 15.11.2009 17:22