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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2008, 20:44   #1
SanekIrk
Пользователь
 
Аватар для SanekIrk
 
Регистрация: 10.07.2008
Сообщений: 87
По умолчанию Удаление компонентов

Привет. При событии MouseDown на форме у меня динамичеки создается компонент TImage. Кликаю 20 раз появляется 20 BITMAPов. Как сделать чтобы при 21-ом клике удалялось именно первое изображение, потом второе и тд. Кто поможет огромное спасибо.
SanekIrk вне форума Ответить с цитированием
Старый 15.08.2008, 21:19   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Можно так же динамически создавать очередь указателей на созданные объекты
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 15.08.2008, 21:19   #3
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Хм... ставь условие или счётчик, если > 20 то ..... и удаляешь 1
потом второй, т.е. по порядку.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 15.08.2008, 21:21   #4
SanekIrk
Пользователь
 
Аватар для SanekIrk
 
Регистрация: 10.07.2008
Сообщений: 87
По умолчанию

Как мне их пронумеровать?

или как подсчитать их колличество?

Цитата:
Сообщение от Greblin Посмотреть сообщение
Можно так же динамически создавать очередь указателей на созданные объекты
Как это можно реализовать.

Последний раз редактировалось zetrix; 15.08.2008 в 21:40.
SanekIrk вне форума Ответить с цитированием
Старый 15.08.2008, 21:37   #5
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Дык....
при создании компонента можно в св-ве TAG указать номер.
как создал компонент, присвой ему номер по порядку.
типа
inc(i);
<компонент>.tag:=i;
и всё...

а подсчитать - переменная i будет указывать их кол-во.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 15.08.2008, 21:44   #6
SanekIrk
Пользователь
 
Аватар для SanekIrk
 
Регистрация: 10.07.2008
Сообщений: 87
По умолчанию

Цитата:
Сообщение от Air Посмотреть сообщение
Дык....
при создании компонента можно в св-ве TAG указать номер.
как создал компонент, присвой ему номер по порядку.
типа
inc(i);
<компонент>.tag:=i;
и всё...

а подсчитать - переменная i будет указывать их кол-во.
Да я пытался так сделать. Как мне удалить компонент с определенным TAGом.
SanekIrk вне форума Ответить с цитированием
Старый 15.08.2008, 21:45   #7
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Смотри


это если строго на форме
Код:
for i:=0 to form1.ComponentCount do

if form1.ComponentCount > 0 then
 begin
  if form1.Components[i] is TImage then
   if TImage(form1.Components[i]).Tag = <тут нужный тебе номер> then .... удаление.
 end;
это если на панели, если что то другое, то просто замени типы Panel2 на свой.
Код:
for i:=0 to form1.Panel2.ControlCount do
 
if form1.Panel2.ControlCount > 0 then
 begin
  if form1.Panel2.Controls[i] is TImage then
  if TImage(form1.Panel2.Controls[i]).Tag = <тут нужный тебе номер> then .... удаление.
 end;
будут вопросы спрашивай.



А можешь просто проверить...
Код:
if i > 20 then
if <компонент>.tag= 1 then del
if i > 21 then
if <компонент>.tag= 2 then del
......
это конечно тупо, но очень просто.
Всё гениальное - просто!

Последний раз редактировалось Air; 16.08.2008 в 14:21.
Air вне форума Ответить с цитированием
Старый 15.08.2008, 22:55   #8
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Цитата:
Сообщение от SanekIrk Посмотреть сообщение
Как это можно реализовать.
Вот, тут код. Он конечно выглядит пострашнее, чем тот, который предложил Air, но зато не используется перебор компонентов, так что наверно будет быстрее работать
Вложения
Тип файла: rar imageCreate.rar (5.9 Кб, 17 просмотров)
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 16.08.2008, 09:26   #9
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Можно попробовать через массив
Вложения
Тип файла: rar 1.rar (177.2 Кб, 10 просмотров)

Последний раз редактировалось SERG1980; 16.08.2008 в 09:34.
SERG1980 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение компонентов _SERGEYX_ Общие вопросы Delphi 2 10.04.2008 13:33