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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2012, 15:31   #11
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
var I : Integer;
begin
   for i := 0 to (Sender as TForm).Objects.Count - 1 do
      if (Sender as TForm).Objects[I] is TImage then
        with (Sender as TForm) do
           (Objects[I] as TImage).OnClick := ImageClick;
end;
как-то так можно программно назначить обработчик каждому элементу такого типа если очень лениво в инспекторе назначать. (код не проверял - написал по-памяти)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 24.02.2012, 15:48   #12
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

я же говорю, эту проблему я решил, сейчас другая проблема.

Как обратить из процедуры например к TImage3.
Я не могу из процедуры написать Form2.TImage3.Visible:=false т.к. я обращаюсь в процедуре ко многим TImage.

Я отправляю имя TImage через переменную и при помощи переменной нужно как-то скрыть форму.
TImage(ibuf).Visible:=false - не прокатит.
Form2.ibuf.Visible:=false - То же.
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 24.02.2012, 15:56   #13
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Так используйте в качестве параметра не имя, а сам Image
Код:
procedure TtaTaTa(Image: TImage);
begin
  Image.Visible:=False;
end;

...

  TtaTaTa(Image1);
  TtaTaTa(Image2);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.02.2012, 15:57   #14
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

Проблема была успешно решена с помощью:
Код:
TImage(Form2.FindComponent(ibuf)).Visible:=false;
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 24.02.2012, 16:00   #15
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

в таких случаях самое простое и логичное - создать массив [1..n] of TImage и либо в самом начале создавать объекты, либо сделать привязку к существующим. инициализацию массива можно проводить в зависимости от имени объекта. тогда по индексу элемента всегда можно получить доступ к нужному объекту.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 24.02.2012, 16:03   #16
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

DiemonStar спасибо за помощь.
Товарищу Аватар отдельное грамаднейшее спасибо за помощь и разжевывание.
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два задания в паскале-одно на текстовые файлы,др-ое на записи Novenkaja Помощь студентам 19 30.05.2011 23:06
событие нажатия кнопки CodeNOT Общие вопросы C/C++ 0 05.01.2011 00:04
Событие OnChange - на одно из полей namazi74 БД в Delphi 4 22.04.2010 12:52
Почему из файла считывается два значения, если там одно yorik1984 Помощь студентам 3 19.03.2010 01:48
Проверить событие нажатия кнопики! фЁдОр Помощь студентам 13 31.03.2008 13:27