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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.04.2011, 18:57   #1
Сергей58rus
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 28
Вопрос в чем ошибка???

Объект в дельфи должен передвигаться с помощью мыши...
пожалуйста, подскажите в чем ошибка???



unit Unit1;

interface

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

type
TForm1 = class(TForm)
Image1: TImage;
procedure Image1Click(Sender: TObject);
procedure TformTImage1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TFormTImage1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
ax, ay: integer;
implementation

{$R *.dfm}

procedure TForm1.Image1Click(Sender: TObject);
begin
Image1.Canvas.MoveTo(285+ax,167+ay) ;
Image1.Canvas. LineTo(275+ax,157+ay);
Image1.Canvas. LineTo(273+ax,168+ay);
Image1.Canvas. LineTo(285+ax,167+ay);

Image1.Canvas. MoveTo(265+ax,155+ay);
Image1.Canvas. LineTo(255+ax,146+ay);
Image1.Canvas. LineTo(253+ax,158+ay);
Image1.Canvas. LineTo(265+ax,155+ay);

Image1.Canvas. MoveTo(290+ax,152+ay);
Image1.Canvas. LineTo(280+ax,162+ay);
Image1.Canvas. MoveTo(270+ax,140+ay);
Image1.Canvas. LineTo(260+ax,150+ay);
Image1.Canvas. MoveTo(300+ax,230+ay);
Image1.Canvas. LineTo(300+ax,170+ay);
Image1.Canvas. MoveTo(350+ax,200+ay);
Image1.Canvas. LineTo(180+ax,200+ay);
Image1.Canvas. MoveTo(300+ax,200+ay);
Image1.Canvas. LineTo(230+ax,150+ay);
Image1.Canvas. LineTo(230+ax,250+ay);
Image1.Canvas. LineTo(300+ax,200+ay);

end;

procedure Tform1.TformTImage1MouseDown(Sender : TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then
begin
ax:=x-200;
ay:=y-200;
end;
end;
procedure TForm1.TformTImage1MouseMove(Sender : TObject; Shift: TShiftState; X,
Y: Integer);

begin
if ssLeft in Shift then
begin
ax:=x-200;ay:=y-200;
Repaint;

end;
end;


end.
Сергей58rus вне форума
Старый 26.04.2011, 19:07   #2
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Посмотрите здесь только код
http://delphi.about.com/od/vclusing/a/dragdrop.htm
До свидания
OlegVE вне форума
Старый 26.04.2011, 19:25   #3
Сергей58rus
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 28
По умолчанию

Спасибо, но всё равно ничего не понятно раньше на паскале писал...а курсовик заставили на дельфи делать...пытался как в паскале процедуры использовать но ничего не получилось...вот 2 день уже думаю что сделать.
Сергей58rus вне форума
Старый 26.04.2011, 19:43   #4
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

1. Вы не можете вольно писать процедуры и функции для компонентов (но можете использовать готовые, но пока не трогайте этот вопрос). Их нужно назначить. Выбираете компонент и в Object Inspector на вкладке Events кликаете в нужном месте и Вас перенесёт в редактор кода, во там и вписываете всё Вам нужное (событие onClick для Image1 создаст, например,
Код:
procedure TForm1.Image1Click(Sender: TObject);
begin
// Здесь будет пусто, что Вы и увидите если в конце концов сделаете правильно
end;
). Можете после этого заменить на код из примера.
2. Инициализируйте переменные ax:=x-200;ay:=y-200; (только откуда появляются здесь х и у..) в событии формы onCreate.
3. Посмотрите для начала любой простейший пример программы на Delphi.
4. С "нуля" создайте Ваш проект. Просьте на форму Image1: TImage, добавьте в var ax, ay: integer (что Вы и сделали сами), а дальше сделайте всё, как я написал.

Последний раз редактировалось OlegVE; 26.04.2011 в 19:47.
OlegVE вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем ошибка!? Файзулка Помощь студентам 5 17.01.2011 10:27
в чем ошибка??? Cnfczy Общие вопросы Delphi 1 28.11.2010 21:16
В чем ошибка? Кинельски Общие вопросы Delphi 17 24.05.2010 23:08
В ЧЕМ ОШИБКА? salmanbaz Общие вопросы C/C++ 5 11.01.2009 13:21
В чем ошибка? fosto Паскаль, Turbo Pascal, PascalABC.NET 3 07.12.2008 19:10