Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.06.05;
Скачать: CL | DM;

Вниз

Задержка sleep   Найти похожие ветки 

 
Тимоха111   (2011-01-19 22:58) [0]

Всем добрый вечер, надо передвинуть курсор плавно, вот код:
       for x:=pt.x to pt.x+600 do
       begin
         sleep(1);
         SetCursorPos( x, pt.y + 1);
       end;

вопрос в след., меня не устраивает скорость в  sleep(1), медленно движется, может есть другие функции, которые позволят сделать задержку меньше?


 
DVM ©   (2011-01-19 23:18) [1]

sleep(1) не усыпляет поток на 1 мс. Интервал гораздо больший получается.

Но дело не в этом. Шаг цикла увеличить надо просто.


 
Leonid Troyanovsky ©   (2011-01-19 23:19) [2]


> Тимоха111   (19.01.11 22:58)  

> вопрос в след., меня не устраивает скорость в  sleep(1),
>  медленно движется,

За подобные передвижения положен пожизненный эцих с гвоздями.
Хотя, Sleep здесь и вовсе не нужен, двигай по таймеру.

--
Regards, LVT.


 
Inovet ©   (2011-01-20 00:25) [3]

Выбор 1 мс и 600 шагов означает желание проехать указателем по всем 600 позициям за 0.6 с. А оно надо по всем и так быстро?


 
KilkennyCat ©   (2011-01-20 00:48) [4]


> А оно надо по всем и так быстро?

а даж если и надо - не получится.


 
Inovet ©   (2011-01-20 00:58) [5]

> [4] KilkennyCat ©   (20.01.11 00:48)
> а даж если и надо - не получится.

Копьютеры становятся всё быстрее, а программы работают всё медленнее.


 
KilkennyCat ©   (2011-01-20 01:07) [6]

Кэролл это бы легко объяснил


 
Тимоха111   (2011-01-20 01:21) [7]

var x: real;
   sx,sy: integer;
begin
x:=-15;
while x<15 do
 begin
 SetCursorPos(trunc(20*x)+400,500-trunc(60*sin(x)));
 x:=x+0.001;
 sleep(1);
 end;

допустим это медленно, как ускорить?


 
Inovet ©   (2011-01-20 01:36) [8]

> [7] Тимоха111   (20.01.11 01:21)
> допустим это медленно, как ускорить?

А что ты вообще делаешь? а то так загадочно двигаешь указателем, что непонять.


 
Тимоха111   (2011-01-20 01:54) [9]

Функция sin взял для проверки.
Делаю имитацию человека за компьютером. Курсор мышки должен перемещаться из точки А в точку Б, по каким либо траекториям


 
Inovet ©   (2011-01-20 02:02) [10]

> [9] Тимоха111   (20.01.11 01:54)
> Делаю имитацию человека за компьютером. Курсор мышки должен
> перемещаться из точки А в точку Б, по каким либо траекториям

Для проверки, как это делает система, у форму поставь обработчик на событие меремещения мыши, выводи координаты куда-нибудь в файл или в мемо, разверни форму на весь экран, попробуй мышью за 1 секунду двинуть из угла в угол, посмотри сохранённые координаты.


 
Тимоха111   (2011-01-20 02:14) [11]

x:=x+0.01; изменил шаг, стало пошустрее.
надо придумать функцию по которой будет траектория движения.
Спасибо за совет, думаю поможет в задаче!


 
Германн ©   (2011-01-20 02:19) [12]


> Тимоха111   (20.01.11 01:54) [9]
>
> Функция sin взял для проверки.
> Делаю имитацию человека за компьютером. Курсор мышки должен
> перемещаться из точки А в точку Б, по каким либо траекториям
>

Тебе уже посоветовали на другом форуме увеличить шаг. Будет быстрее. Чем не подходит?


 
Enot   (2011-02-26 16:36) [13]

Человек неправильно немного вопрос задал. Мышка перемещается быстро , но рывками. От этого и создается ощущение замедленности. Вот как сделать ее плавное движение ?


 
KilkennyCat ©   (2011-02-26 17:21) [14]


> Вот как сделать ее плавное движение ?
>

а она в реальности разве плавно движется?


 
sniknik ©   (2011-02-26 17:50) [15]

> допустим это медленно, как ускорить?
var
 x: real;
 sx, sy: integer;
begin
 x:=-15;
 while x < 15 do begin
   SetCursorPos(trunc(20*x)+400,500-trunc(60*sin(x)));
   x:= x+0.001;
   //sleep(1);
   Application.ProcessMessages;
 end;
end;



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

Текущий архив: 2011.06.05;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
2-1299013317
vasya
2011-03-02 00:01
2011.06.05
Мерцание в TCustomControl


2-1298927662
Sashka
2011-03-01 00:14
2011.06.05
Работа с AsyncCall


15-1297940356
***
2011-02-17 13:59
2011.06.05
«Яндекс» и «Касперский» вошли в топ самых инновационных компаний


2-1298365017
oleg_teacher
2011-02-22 11:56
2011.06.05
Таблицы, word, delphi


1-1256548761
GreyWolf
2009-10-26 12:19
2011.06.05
False virus detection