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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 21:36   #1
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
Вопрос прогрманое вытаскивание компонента

мне, например, надо сделать игровую локацию, и объекты на ней, но для облегчения перерисовки локации (если игрок ходит) я заново рисую канву (точнее, почти все на ней). Но мне кажется, что лучше просто перемещать (или переносить на верхний слой) картинки.
вопрос:
как програмно создать объект типа "image", получить его имя в форме и обратиться к нему?
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 20.04.2009, 21:53   #2
Лукманов Александр
работа не волк....
Форумчанин
 
Аватар для Лукманов Александр
 
Регистрация: 09.06.2008
Сообщений: 337
По умолчанию

Код:
procedure TForm1.btn1Click(Sender: TObject);
begin
with TImage.Create(self) do
 begin
  Picture.LoadFromFile('1.bmp');
  Name:='1';
 end;

end.
не забудьте в uses дописать ExtCtrls
Цель, для которой требуются неправые средства, не есть неправая цель.
Лукманов Александр вне форума Ответить с цитированием
Старый 20.04.2009, 22:00   #3
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

а можешь пояснить каждый оператор?
и, да, как к ним обращаться?
Nobody expects Spanish Inquisition!

Последний раз редактировалось Juffin; 20.04.2009 в 22:16.
Juffin вне форума Ответить с цитированием
Старый 20.04.2009, 22:27   #4
Лукманов Александр
работа не волк....
Форумчанин
 
Аватар для Лукманов Александр
 
Регистрация: 09.06.2008
Сообщений: 337
По умолчанию

Код:
procedure TForm1.btn1Click(Sender: TObject);
begin

with TImage.Create(self) do // создаём Image, и начинаем работу с созданным элементом.

 begin
  Picture.LoadFromFile('1.bmp'); // присваиваем компоненту имя и картину
  Name:='1';
 end;

end.
чтобы обращаться к нему, для удобства можно добавить в Var
Код:
a: TImage
Потом присваиваешь к А, созданный компонент.
Код:
A:= TImage1.Create(Self)
дальше обращайся к А
Цель, для которой требуются неправые средства, не есть неправая цель.
Лукманов Александр вне форума Ответить с цитированием
Старый 21.04.2009, 13:42   #5
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

а можно вместо этого
Код:
procedure TForm1.btn1Click(Sender: TObject);
begin
with TImage.Create(self) do
 begin
  Picture.LoadFromFile('1.bmp');
  Name:='1';
 end;

end.
сделать так:
Код:
var a:TImage;

procedure TForm.btn1Click(Sender: TObject);
begin
a:=TImage.create(self)
a.Picture.LoadFromFile('1.bmp');
end;
и дальше обращаться как к a?
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 21.04.2009, 13:51   #6
Juggernaut
Пользователь
 
Регистрация: 18.04.2009
Сообщений: 55
По умолчанию

Помоему после динамического создания Image необходимо ему присвоить родителя, это самое главное, а то он не будет отображаться.

Код:
Parent:=Form1;
Весы слева, не забыли?

Абсурдопедия
Juggernaut вне форума Ответить с цитированием
Старый 21.04.2009, 15:34   #7
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

все равно что-то не получается. у меня есть переменная, я пишу
Код:
objects[i].pic.Picture:=TImage.Create(self);
вылетает ошибка Undeclarated identifier (self)

objects - массив записей, pic - элемент записи типа TImage. В чем дело?
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 21.04.2009, 15:36   #8
Juggernaut
Пользователь
 
Регистрация: 18.04.2009
Сообщений: 55
По умолчанию

Проверь Uses'ы, вставь из пустого проекта (замени).
Весы слева, не забыли?

Абсурдопедия
Juggernaut вне форума Ответить с цитированием
Старый 21.04.2009, 18:59   #9
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
Печаль

проверил, вставил, не помогло.
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 21.04.2009, 19:57   #10
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Почитай http://www.programmersforum.ru/showthread.php?t=45082 может поможет.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вытаскивание ссылок из текста jocry Общие вопросы Delphi 2 10.02.2009 16:51
Регистрация компонента AnnNet Компоненты Delphi 2 18.11.2008 14:17
Установка компонента Черничный Компоненты Delphi 1 13.06.2008 19:22
Прозрачность компонента JoanM Общие вопросы Delphi 14 16.02.2008 15:40