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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 13:03   #1
gadilla_cs
Пользователь
 
Регистрация: 05.12.2010
Сообщений: 25
По умолчанию Создание группы или что то в этом роде

Помогите пожалуйста, у меня есть несколько картинок и все они передвигаются по нажатию кнопок движение(влево вправо вверх вниз)

Пока сделал код только для одной картинки и теперь по введению второй возник вопрос, можно ли сделать так что бы один код работал для двух объектов (без or или and а то с ними код очень большой)
gadilla_cs вне форума Ответить с цитированием
Старый 25.12.2010, 14:36   #2
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

Цитата:
несколько картинок и все они передвигаются по нажатию кнопок
обрабатывай при нажатии этих кнопок несколько картинок, если их довольно много создай массив. или напиши процедуру с входным параметром-указателем на картинку.
если производится обработка событий например TImage'а то в инспекторе объектов вполне можно задавать уже определенные обработчики
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 25.12.2010, 14:42   #3
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Ты можешь их поместить на TPanel, и Убрать у нее BevelOuter, и подогнать под цвет фона.

Смотри, мы тут обсуждаем в соседней теме, стиль программирования основанный только на написании кода. Если бы ты обьявил массив глобально:
Код:
img:array[1..100] of TImage
А в Oncreate формы написал бы:
Код:
for i:=1 to 100 do
begin
  img[i]:=TImage.create(self);
  with img[i] do
  begin
    paren:=form1;
    height:=..
    width:=...
    //или просто autosize:=true;
    Picture.loadfromfile('путь');//или если это разные картинки - выделить их за пределы цикла
end;
//img[1].Picture.loadfromfile('путь');
//img[2].Picture.loadfromfile('путь');
//...
Создал таймер(Timer) и в его событии написал бы:
Код:
if getasynckeystate($26)<>0 then   //$26 - UP, вся табличка тут: http://delphiexpert.ru/view_lesson.php?id=16
for i:=1 to 100 do
img[i].top:=img[i].top-1;//поднимаем вверх на 1 рх

То это было бы очень оптимально и умно с твоей стороны. Я вообще перестал визуально с формой работать
Ненавижу быть как все, но люблю, чтобы все были как я.

Последний раз редактировалось MyLastHit; 25.12.2010 в 14:52.
MyLastHit вне форума Ответить с цитированием
Старый 23.01.2011, 13:53   #4
gadilla_cs
Пользователь
 
Регистрация: 05.12.2010
Сообщений: 25
По умолчанию

Не совсем понял смысл двух последних строк кода
gadilla_cs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что менее затратно: создание кодом или размещение на форме компонента? MyLastHit Общие вопросы Delphi 12 25.12.2010 14:09
Как узнать что строка является корневым узлом группы rdama Microsoft Office Excel 3 11.10.2010 03:00
Создание пользователя рабочей группы Eseniya Microsoft Office Excel 5 28.12.2009 20:17
Проблема с подключением модуля в uses или что-то в этом роде Botanik87 Помощь студентам 1 27.05.2009 16:04