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

Тема в разделе "Pascal and Delphi", создана пользователем Jaspe, 22 фев 2012.

Статус темы:
Закрыта.
  1. Jaspe

    Jaspe Гость

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

    Код (Delphi):
    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.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей