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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2011, 15:51   #1
megostudent
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 320
По умолчанию чтение координат из мемо

вот код который читает координаты из мемо и воспроизврдит их
Код:
procedure TForm1.Button2Click(Sender: TObject);
const
  commands:array[1..2] of string = ('lclic-on','lclic-off');
var
  MCur:TStringList;
  x,y,i,j:integer;
  pt:TPoint;
  temp1,temp2:string;
begin
 MCur:=TStringList.Create;
 MCur.LoadFromFile('lol.txt');
 for i:=0 to MCur.Count-1 do begin
  for j:=1 to length(commands) do
   if MCur.Strings[i]=commands[j] then begin
    GetCursorPos(pt);
    case j of
     1: begin mouse_event(MOUSEEVENTF_LEFTDOWN,pt.x,pt.y,0,0); end;
     2: begin mouse_event(MOUSEEVENTF_LEFTUP,pt.x,pt.y,0,0); end
    end;
   end
   else begin
    if (MCur.Strings[i]<>'lclic-on') and (MCur.Strings[i]<>'lclic-off') then begin
     memo1.Lines.Add(MCur.Strings[i]+'  '+commands[j]);
     sleep(5);
     x:=StrToInt(Copy(MCur.Strings[i],0,Pos(' ',MCur.Strings[i])-1));
     y:=StrToInt(Copy(MCur.Strings[i],Pos(' ',MCur.Strings[i]),Length(IntToStr(x))+1));
     SetCursorPos(x,y);
    end;
   end;
 end;
 MCur.Free;
end;
эти коорды пробегаются очень быстро, как сделать что они пробигались например через 1 сек???
megostudent вне форума Ответить с цитированием
Старый 23.09.2011, 16:10   #2
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

вставь в цикл Sleep(число_миллисекнуд)
например Sleep(1000); это будет приблизительно 1 секунда. Если нужно чтобы программа была живая а не зависшая то советую следующий метод
Код:
dx:=0; // integer;
while dx<20 do
begin
  sleep(50);
  Application.ProcessMessages();
  inc(dx);
end;
В таком случае, пауз будет 20 по 50 миллисекунд = 1 сек, но без затормаживание системы (можно закрыть коно или прервать процесс)
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетка координат Shyt JavaScript, Ajax 15 27.12.2010 17:55
оси координат) willhunting Фриланс 6 13.06.2010 17:36
Чтение и запись информации из файла в мемо Delphi DEFENEK Помощь студентам 2 19.09.2009 22:09
Чтение, чтение и еще раз чтение Alex Cones Общие вопросы Delphi 3 07.06.2009 15:28
Как скопировать текст из мемо одной формы в мемо другой CraZZy RabbIt Общие вопросы Delphi 4 27.02.2009 00:01