Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 21

Drag and drop проверка условия

16.12.2017, 13:11. Показов 1077. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый всем день, возник вопрос есть 3 компонента image, есть процедуры при которых image1 и 2 перетаскиваются на image3, возможно ли проверить условие: если в image3 перетащили 1 вывести сообщение "верно" если нет соответственно "неверно". Или же есть способ сделать аналогичную задачу проще через что то другое?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.12.2017, 13:11
Ответы с готовыми решениями:

Drag And Drop
Подскажите пожалуйста где здесь изменить текст чтобы было четкое распределение источник1 только в приемник1, источник2 только в приемник2...

Drag and drop
Здравствуйте, суть вопроса заключается в следующем: дана форма и на ней объект (пусть будет panel1), как сделать так, чтобы пользователь...

Drag and drop
Разрабатываю практическое задание по химии, суть заключается в чем: есть картинки с определенными химическими элементами, которые нужно...

12
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,423
Записей в блоге: 3
16.12.2017, 15:32
Цитата Сообщение от Александр3110 Посмотреть сообщение
через что то другое
Чем событие OnDragDrop не устраивает?
Delphi
1
2
3
4
procedure TForm1.Image3DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
 if (Source as TImage).Name = 'Image1' then ShowMessage('Yes') else ShowMessage('No');
end;
0
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 21
16.12.2017, 16:26  [ТС]
попробовал данный вариант, при перетаскивании любой картинки выводится один и тот же ответ
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var
  Form1: TForm1;
  i, a: integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Image2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
      accept:= sender is timage;
end;
 
procedure TForm1.Image2DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
    (sender as timage).Picture.Assign((source as timage).Picture);
end;
 
procedure TForm1.Image3DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
a:=1;
i:=1;
if (Source as TImage).Name = 'Image1' then i:=a+1
 else i:=a-1;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   if i>1 then memo1.Lines.Add('âåðíî') else memo1.lines.Clear; memo1.Lines.Add('íåâåðíî');
end;
 
end.
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,423
Записей в блоге: 3
16.12.2017, 16:28
А у меня все нормально выводит... Код показывайте.
0
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 21
16.12.2017, 16:31  [ТС]
обновил сообщение выше
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,423
Записей в блоге: 3
16.12.2017, 17:58
Да, страница не обновилась, сразу не увидел...
Есть 2 решения Вашей "беды". Посмотрите внимательно на строку 30 Вашего кода. Если не поняли, см. под спойлер!
Не подглядывать!
Двоешник!
Вариант 1.
Delphi
1
if i>1 then memo1.Lines.Add('ГўГҐГ°Г*Г®') else begin memo1.lines.Clear; memo1.Lines.Add('Г*ГҐГўГҐГ°Г*Г®'); end;
Вариант 2.
Delphi
1
if i>1 then memo1.Text := 'ГўГҐГ°Г*Г®' else memo1.Text := 'Г*ГҐГўГҐГ°Г*Г®';
0
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 21
16.12.2017, 18:08  [ТС]
оба варианта ни к чему не привели, закрывающий end на 31 строке поэтому еще один вызывает ошибку, второй вариант оставляет все как есть т. е. значение в memo не меняется (проверка результата не проходит)
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,423
Записей в блоге: 3
16.12.2017, 18:47
Цитата Сообщение от Александр3110 Посмотреть сообщение
закрывающий end на 31 строке поэтому еще один вызывает ошибку
А то, что там необходимы операторные скобки begin - end, до Вас так и не дошло...
Цитата Сообщение от Александр3110 Посмотреть сообщение
второй вариант оставляет все как есть
Не верю. У меня все нормально определяется и записывается. Я неудачник?

Добавлено через 14 минут
Чтобы не быть голословным - запустите и проверьте (левая картинка будет "верно", правая - "неверно")
Вложения
Тип файла: rar Project1.rar (213.7 Кб, 4 просмотров)
0
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 21
16.12.2017, 18:55  [ТС]
не знаю что там получается вот код и он не работает как надо обе картинки выдают неверно:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var
  Form1: TForm1;
  i, a: integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Image2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
      accept:= sender is timage;
end;
 
procedure TForm1.Image2DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
    (sender as timage).Picture.Assign((source as timage).Picture);
end;
 
procedure TForm1.Image3DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
a:=1;
i:=1;
if (Source as TImage).Name = 'Image1' then i:=a+1
 else i:=a-1;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   if i>1 then memo1.Lines.Add('âåðíî') else begin memo1.lines.Clear; memo1.Lines.Add('íåâåðíî'); 
end;
end;
end.
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,423
Записей в блоге: 3
16.12.2017, 20:43
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
  Form1: TForm1;
  b: boolean;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Image3DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
 Accept := Source is TImage;
end;
 
procedure TForm1.Image3DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
 (Sender as TImage).Picture.Assign((Source as TImage).Picture);
 b := (Source as TImage).Name = 'Image1';
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 if b then Memo1.Text := 'Верно' else Memo1.Text := 'Неверно';
end;
0
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 21
16.12.2017, 20:55  [ТС]
спасибо но уже свой вправил, а можно ли как то сделать чтобы при перетаскивании картинка была видна под курсором а не менялась на значек drugcursor'а ?
0
Модератор
 Аватар для D1973
9929 / 6467 / 2457
Регистрация: 21.01.2014
Сообщений: 27,423
Записей в блоге: 3
16.12.2017, 21:05
тыц
0
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 21
16.12.2017, 21:09  [ТС]
читал, там нет упоминания подобных вещей...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.12.2017, 21:09
Помогаю со студенческими работами здесь

Drag and Drop
Всем доброго времени суток. Помогите написать программу с помощью события Drag and Drop. Дано 3 корзины, в которые надо попадать шаром. При...

Drag and drop
напишите плиз примерчик как содержимое edita перетащить в memo

Drag and Drop
Добрый день! Вопрос заключается в следующем: на форме размещаю панель, на панели кнопку. procedure TForm1.Button1MouseDown(Sender:...

Drag and Drop
Мне нужно переместить файл(txt) на форму, при этом во время перетаскивания файла на форме(не на самой форме , а на Panel) должно быть...

Drag&Drop
Вот я зделал чтоб при перетаскивание c List на Panel окно закрывалась!А как зделать чтоб окно сворачивалась? TListBoХ: В OnDragDrop: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru