|
#1
|
||||
|
||||
Помогите с циклом
Как зделать так что бы программа брала координаты из Edit1 и Edit2 (X=Edit1 а Y=Edit2) и перемещала курсор по этим координатам потом ждала какоето время например 5 секунд и брала координаты из Edit3 и Edit4 (X=Edit3 а Y=Edit4) и перемещала курсор по этим координатам и так до 3 шагов. А потом повторяла эти действия циклом. Заранее спасибо
|
#2
|
||||
|
||||
после каждого назначения координат приходится делать sleep(например на пять секунд)... не смейтесь на такой объем кода... сделал на скорую руку...
Код:
procedure TForm1.Timer1Timer(Sender: TObject); var pPoint:Tpoint; i:integer; begin for i:=1 to 3 do begin if i=1 then begin pPoint.X:=strtoint(edit1.text); pPoint.Y:=strtoint(edit2.Text); sleep(5000); end else if i=2 then begin pPoint.X:=strtoint(edit3.text); pPoint.Y:=strtoint(edit4.Text); sleep(5000); end else if i=3 then begin pPoint.X:=strtoint(edit5.text); pPoint.Y:=strtoint(edit6.Text); sleep(5000); end; SetCursorPos(pPoint.x,pPoint.Y); end; end; |
#3
|
|||
|
|||
Можно влепить такое на таймер
Код:
procedure SET_CURSOR; var POINT : TPoint; STEP : integer; T1, T2 : integer; begin FOR STEP := 0 TO 2 DO begin CASE STEP OF 0: begin POINT.X := StrToInt(Edit1.text); POINT.Y := StrToInt(Edit2.text); end; 1: begin POINT.X := StrToInt(Edit3.text); POINT.Y := StrToInt(Edit4.text); end; 2: begin POINT.X := StrToInt(Edit5.text); POINT.Y := StrToInt(Edit6.text); end; END; SetCursorPos(POINT.X, POINT.Y); T1 := GetTickCount; repeat T2 := GetTickCount; Application.ProcessMessages; until (T2 - T1) >= 1000; // задержка 1 сек end; end; |
#4
|
||||
|
||||
Добавлю свои 5 копеек:
Код:
procedure TForm8.Button1Click(Sender: TObject); begin Step := 0; Timer1.Interval := 5000; Timer1.Enabled := not Timer1.Enabled; end; procedure TForm8.Timer1Timer(Sender: TObject); begin Inc(Step); case Step of 1: SetCursorPos(StrToIntDef(Edit1.Text,0),StrToIntDef(Edit2.Text,0)); 2: SetCursorPos(StrToIntDef(Edit3.Text,0),StrToIntDef(Edit3.Text,0)); 3: SetCursorPos(StrToIntDef(Edit5.Text,0),StrToIntDef(Edit6.Text,0)); else Step := 0; end; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
Страдалецъ, у тебя один проход холостой будет. Делай сброс на единицу, и в конце третьего шага, а инкремент перенеси в конец.
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#6
|
||||
|
||||
Всем большое спасибо помогли =)
Всем большое спасибо помогли
|
#7
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |