![]() |
|
#1
|
|||
|
|||
![]() Вот условие: Расположите на форме компоненты TButton, в виде таблицы 4х4, с номерами от 1 до 16 в случайном порядке (почти как в игре "Пятнашки"). При щелчке на кнопке она должна меняться местами с левой от нее стоящей. Если обмен невозможен, выдавать соответствующее сообщение.
Сказали, что нужно использовать метод sender. Кто решит, пожалуйста обьясните, что это такое. |
#2
|
|||
|
|||
![]() Это не метод, а переменная, передаваемая внутрь обработчика события.
По этой переменной можно определить, какой компонент вызвал это событие. Таким образом, можно написать один обработчик для нескольких однотипных компонентов. Пример: Код:
|
#3
|
|||
|
|||
![]() С sender теперь понятно, но программу все равно не могу написать.
![]() |
#4
|
||||
|
||||
![]() Несколько непонятно, когда возможен/невозможен обмен.
Для пятнашек понятно. А тут как? Ведь свободного элемента нет. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
![]() если мы щелкаем на самый левый button, то обмен невозможен. А в остальных случаях - возможен.
Последний раз редактировалось km_, 26.12.2009 в 21:37. |
#6
|
||||
|
||||
![]() Действительно.
![]() Вот вам почти рабочий вариант. Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 27.12.2009 в 01:27. |
#7
|
||||
|
||||
![]() Ну и собственно сам обмен:
Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 27.12.2009 в 11:11. |
#8
|
||||
|
||||
![]() Читер) не примут у человека такую задачку, ты ж надписи меняешь а не кнопки, а это может быть принципиально.
Нет повести печальнее на свете, чем повесть о заклиневшем Resete. ![]() |
#9
|
||||
|
||||
![]() Визуально, ничем не отличимо, да и не думаю, что это принципиально, а вот по реализации несколько сложнее будет.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |