Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];

Вниз

Количество нажатий кнопки мыши   Найти похожие ветки 

 
Mouse   (2009-06-20 15:44) [0]

Здравстуйте! Есть такой такой вот вопрос: как узнать сколько раз нажата левая кнопка мыши? посоветуйте пожалуйста решение этой проблемы


 
Palladin ©   (2009-06-20 15:46) [1]

посчитать


 
Palladin ©   (2009-06-20 15:47) [2]

хотя нет, безбожно вру... считать не надо... левая кнопка мыши нажата один раз....


 
Mouse   (2009-06-20 15:56) [3]

Просто надо при первом нажатии одно делать, при втором второе, при третьем третье, а вот после трех нажатий выпоняется одно и тоже действие для всех нажатий


 
Palladin ©   (2009-06-20 15:59) [4]

А ты одно нажатие посчитать могешь?


 
mouse   (2009-06-20 16:02) [5]

ну делаю событие OnClick например на картинке, как раз для выполнения действий при нажатии, а вот ка посчитать что то тормазить начинаю


 
mouse   (2009-06-20 16:04) [6]

procedure TForm1.Image1Click(Sender: TObject); вот эту процедуру


 
Palladin ©   (2009-06-20 16:09) [7]

Ну скажем щелкнули один раз, через 5 секунд щелкнули второй раз, через 7 секунд третий раз... это сколько нажатий получается?


 
Mouse   (2009-06-20 16:12) [8]

ну вроде как каждый раз одно получается. Че то совсем запутался


 
Б   (2009-06-20 16:14) [9]

ПАЧО?


 
Mouse   (2009-06-20 16:14) [10]

как же тогда выполнять разные действия для каждого нажатия


 
Mouse   (2009-06-20 16:16) [11]

ПАЧО - это что?


 
Palladin ©   (2009-06-20 16:17) [12]


> ну вроде как каждый раз одно получается

это я не компьютер спрашиваю, это я тебя спрашиваю, твой процесс мЫшления как считает, сколько раз была нажата левая кнопка мыши?


 
Mouse   (2009-06-20 16:17) [13]

может переменную сделать которая будет при каждом нажатии увеличиваться


 
Mouse   (2009-06-20 16:18) [14]

Мышление думает 3)))


 
Palladin ©   (2009-06-20 16:22) [15]

хм... три?.. хм... интересно... боюсь задача решения не имеет...


 
Mouse   (2009-06-20 16:30) [16]

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


 
Andy BitOff ©   (2009-06-20 16:34) [17]

Предположу, что нужно две проверки либо/либо. Либо считать время между нажатиями, либо проверять сдвинулась ли мышь после очередного нажатия. Или их совместить.


 
Palladin ©   (2009-06-20 16:36) [18]

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


 
Mouse   (2009-06-20 16:41) [19]

Интервалы как раз не нужны. А  если сделать глобальную переменную каторая будет увеличиваться при каждом нажатии мыши на картинке и в дальнейшем ее использовать?


 
Andy BitOff ©   (2009-06-20 16:41) [20]

В опере, например, совмещено. Двойной клик выделяет слово, следующий одинарный, если не была сдвинута мышь и не прошло много времени выделяет предложение и следующий абзац.


 
Palladin ©   (2009-06-20 16:42) [21]


> Интервалы как раз не нужны.

тогда:

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


 
Mouse   (2009-06-20 16:47) [22]

Если по сути, то мне надо при первом нажатии записать координаты указателя в первую пару переменных, потом при втором нажатии во второю пару и так же 3юю, а все остальные координаты после 3, записывать в 4 пару. Я понимаю как это сделать, все условиями


 
Andy BitOff ©   (2009-06-20 16:49) [23]

Если бы более конкретно описал задачу, то тебе бы подсказали возможные методы ее решения.


 
Palladin ©   (2009-06-20 16:50) [24]


> Mouse   (20.06.09 16:47) [22]

а у тебя нет точки отсчета, кроме как старта программы... так что забудь...


 
Mouse   (2009-06-20 17:06) [25]

А можете мне сказать как выполнить условие если нажатал на картинке то увеличил. Тупо для эксперемента


 
Б   (2009-06-20 17:15) [26]

> Интервалы как раз не нужны.

Получается, что, если удерживаешь нажатую левую кнопку, а потом отпускаешь, то это 1 щелчёк? Тогда типа такого:


Var
 ClickCount: DWord;

procedure TForm1.Image1Click(Sender: TObject);
begin
 inc(ClickCount);
 Caption:= IntToStr(ClickCount);
 Case ClickCount of
   1: ....................................... ;
   2: ....................................... ;
   3: ....................................... ;
   .......
 end;
End;


 
Palladin ©   (2009-06-20 17:16) [27]


> Б   (20.06.09 17:15) [26]

ага, на 1 сработает 1, на второй сработает 2, на третий сработает 3 ) может не будешь глупости советовать?


 
Б   (2009-06-20 17:32) [28]


> может не будешь глупости советовать?


Что не так? Вопрос такой "как узнать сколько раз нажата левая кнопка мыши?"


 
Andy BitOff ©   (2009-06-20 17:46) [29]

> Б   (20.06.09 17:32) [28]

Mouse   (20.06.09 15:56) [3]


 
Б   (2009-06-20 17:52) [30]


> Mouse   (20.06.09 15:56) [3]
> Просто надо при первом нажатии одно делать, при втором второе,
>  при третьем третье, а вот после трех нажатий выпоняется
> одно и тоже действие для всех нажатий


У меня в коде, не так?
Стоит кейс на кол-во нажатий. Надо добавить в кейс else вот и все дела.


 
Andy BitOff ©   (2009-06-20 17:56) [31]

> Б   (20.06.09 17:52) [30]

А, ну да, это я не верно прочитал =)


 
Mouse   (2009-06-20 19:56) [32]

попробывал типа что то такого:

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
    If Button=mbLeft then
  Begin
    inc(ClickCount);
     Caption:= IntToStr(ClickCount);
     Case ClickCount of
          1: x0:=X;
              y0:=Y;
          2: x1:=X
             y1:=Y;
          3:x2:=X
             y2:=Y;
         else
           x3:=X;
           y3:=Y;
     end;
 end;
end;

но делфи ругается: Constant expression expected
Зная, что я чайник в во всем этом, так что сильно не ругайтесь


 
Balepa   (2009-06-20 20:21) [33]

1: begin    
    x0:=x;
    y0:=y
end;


 
Mouse   (2009-06-20 20:22) [34]

все догнал begin c end не поставил


 
Б   (2009-06-20 20:31) [35]

Используй Массив из 3 TPoint.


 
Б   (2009-06-20 20:44) [36]

*Т.е. из 4.


 
Mouse   (2009-06-20 21:13) [37]

Спасибо, вроде правильно все делается


 
Б   (2009-06-20 21:19) [38]

А говорили - задача не решаема. ;)

> Palladin ©   (20.06.09 16:22) [15]
> Palladin ©   (20.06.09 16:50) [24]



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.008 c
15-1245117148
brother
2009-06-16 05:52
2009.08.16
функция Exel


15-1244962151
Virgo_Style
2009-06-14 10:49
2009.08.16
Ищу программку


2-1245146560
Polkin
2009-06-16 14:02
2009.08.16
Assigned к объекту своего класса...


15-1245251682
Kerk
2009-06-17 19:14
2009.08.16
Посоветуйте аналоги Visio


4-1214376707
SVD
2008-06-25 10:51
2009.08.16
Характеристики сетевых адаптеров через WinPCap





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский