Показать сообщение отдельно
  #5  
Старый 19.01.2018, 20:11
pANda777 pANda777 вне форума
Прохожий
 
Регистрация: 19.01.2018
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Код:
var
iX, iY: integer;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Label2.Caption:= 'Координато: X ' + IntToStr(X) + ',Y ' + IntToStr(Y);
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 if (iX = X) and (iY = Y) then
  begin
   Label1.Caption:='Попал!';
   iX:= Random(ClientWidth);
   iY:= Random(ClientHeight);
  end else Label1.Caption:= 'Промах...';
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Label1.Caption:= 'Тыкни: X ' + IntToStr(iX) + ',Y ' + IntToStr(iY);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Randomize;
 iX:= Random(ClientWidth);
 iY:= Random(ClientHeight);
 Label1.Caption:= 'Тыкни: X ' + IntToStr(iX) + ',Y ' + IntToStr(iY);
end;

Вот мой пример. Только надо сделать так, чтобы в условии было не 1 координата и через or другая, а сразу много. Я думал в массив это всё и через массив сравнивать есть такие коры или нет. Только как это точно записать я не знаю.

Код:
procedure TForm4.Image1Click(Sender: TObject);
var P: TPoint;
begin
GetCursorPos(P);
P := Form4.ScreenToClient(P);
if (P.X=447) AND (P.Y=392) then ShowMessage('Верно! Это центр поля!')
else ShowMessage ('Не верно. Это не центр поля');
end;
Ответить с цитированием