Проверка Результатов Драг Энд Дроп

  • Автор темы Jaspe
  • Дата начала
Статус
Закрыто для дальнейших ответов.
J

Jaspe

#1
Добрый день!
Снова нужна ваша помощь
В своей программе проверяю результаты перемещения элемента. То есть сравниваю координаты нажатия мышки с положением элемента и далее координаты отпускания клавиши с координатой ячейки куда нужно поместить мой объект. Но сравнить у меня не получается. Нужна ваша помощь.
Нужно срочно сделать программу и ее описать а я с Делфи совсем недавно работаю поэтому могут быть совершенно глупые ошибки, прошу за них прощения.
Заранее спасибо!
Вот код

<pre><code class="delphi"></code></pre>
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;

type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Image8: TImage;
Image9: TImage;
Image10: TImage;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
StaticText7: TStaticText;
StaticText8: TStaticText;
StaticText9: TStaticText;
StaticText10: TStaticText;
Image13: TImage;
Image11: TImage;
Image12: TImage;
Image14: TImage;
Image15: TImage;
Image16: TImage;
Image17: TImage;
Image18: TImage;
Image19: TImage;
Image20: TImage;
Image21: TImage;
Image22: TImage;
Image23: TImage;
Image24: TImage;
Image25: TImage;
Image26: TImage;
Image27: TImage;
Image28: TImage;
Image29: TImage;
Image30: TImage;
Image31: TImage;
Image32: TImage;
Image33: TImage;
Image34: TImage;
Image35: TImage;
Image36: TImage;
Image37: TImage;
Image38: TImage;
Image39: TImage;
Image40: TImage;
Image41: TImage;
Button1: TButton;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image11EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure Image15DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure Button1Click(Sender: TObject);



private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;



implementation

{$R *.dfm}
var
x0, y0,x1,y1: integer;
drag: boolean = false;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft
then begin
x0:=x;
y0:=y;
drag:=true;

(Sender as TImage).BringToFront;

end
else
drag:=false;

end;



procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if drag
then
with TImage(Sender) do
begin
Left:=Left+x-x0;
Top:=Top+y-y0
end
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drag:=false;

end;
procedure TForm1.Image15DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:=Source is TImage;
end;
procedure TForm1.Image11EndDrag(Sender, Target: TObject; X, Y: Integer);
begin

x1:=x;
y1:=y;


end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if ((x0>24) and (x0<137)) and ((y0<16) and (y0>169)) then
begin
if (((x1>544) and (x1< 721)) and ((y1<400) and (y1>569))) or
(((x1>522) and (x1< 699)) and ((y1<333) and (y1>502))) then

ShowMessage('Схема собрана правильно')
else
ShowMessage('Схема собрана неправильно');
end
end;

end.
 
Статус
Закрыто для дальнейших ответов.