Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Уничтожение динамического TImage [D7, WinXP]


Страницы:   1 2

indiegod ©   (2009-09-07 00:38:00) 

Есть несколько TImage, которые создаются кликом по форме. Есть желание создать кнопку "очистить", которая бы убирала все эти TImage.
Вот как создаются эти копоненты:

numrry[i]:=TImage.Create(Form2);
numrry[i].Parent:=Form2;
numrry[i].Visible:=true;
numrry[i].Left:=Mouse.CursorPos.X - 10;
numrry[i].Top:=Mouse.CursorPos.Y - 55;
numrry[i].Height:=25;
numrry[i].Width:=25;


Anatoly Podgoretsky   (2009-09-07 16:09:00) [1]

Так и будет, пока они так считают, но славо богу есть адекватные люди и их большинство.


Плохиш   (2009-09-07 16:04:00) [2]


> KilkennyCat ©   (07.09.09 14:34) [36]
>
> Тогда объясни, зачем этот раздел форума.

Самый прикол, что все (недо-)начинающие упорно игнорируют раздел "Начинающим", они ж знают, что модераторам заняться больше нечем, чем переносить вопросы разжёванные в книжках из всех конференций в "Начинающим".


clickmaker   (2009-09-07 15:55:00) [3]

> Anatoly Podgoretsky ©   (07.09.09 15:51)

чтобы мастера могли пальцы погнуть. По крайней мере, так считают многие начинающие -)


Anatoly Podgoretsky   (2009-09-07 15:51:00) [4]

Неужели для обучения начинающих?


KilkennyCat   (2009-09-07 14:34:00) [5]

Тогда объясни, зачем этот раздел форума. И могу за небольшую сумму убедить того, кто заставляет тебя бесцельно тратить время не заставлять это делать.


Плохиш   (2009-09-07 12:01:00) [6]


> KilkennyCat ©   (07.09.09 11:21) [33]
>
>
> > Плохиш © (07.09.09 10:35) [32]
> > Научиться кодить за счёт времени обитателей форума.
>
> Разве это плохо?

Я не знаю как расценивают другие бесцельно потраченное время.


DVM   (2009-09-07 11:32:00) [7]


> indiegod   (07.09.09 01:43) [14]
>
> да, кстати, там на форме еще есть имейджи, этот метод их
> тоже стирает
> и еще есть ошибка List Index is out of bunds

Я же тебе написал, удалять надо не все имиджи, а по критерию какому нибудь. Проще всего в Tag их положить по какому нибудь числу. Те имиджи у которых это число в теге есть удаляем, прочие - нет.

List Index is out of bunds возникает из-за того, что ты не вник в [12] последний абзац.


KilkennyCat   (2009-09-07 11:21:00) [8]


> Плохиш © (07.09.09 10:35) [32]
> Научиться кодить за счёт времени обитателей форума.

Разве это плохо?


Плохиш   (2009-09-07 10:35:00) [9]


> Германн ©   (07.09.09 01:49) [16]
> Ты бы лучше изложил свою задачу.

Научиться кодить за счёт времени обитателей форума.

> Германн ©   (07.09.09 02:03) [19]
> На футбольном поле может быть только один мячик!

Хоттабыч с тобой не согласен ;-)


Anatoly Podgoretsky   (2009-09-07 09:17:00) [10]


> правда программа выдает ошибку операции с плавающей точкой

Надо бы сначала исправить ошибку, а то вместо одной будет уже две, собственно так это и произошло.


KilkennyCat   (2009-09-07 03:20:00) [11]

Можно и не все.

http://www.kilkennycat.ru/_SocioOpros.zip
Здесь небольшой пример, как коряво (ибо тогда я тогда я еще учился), но работоспособно можно работать по вышеуказанному мной способу. Включая перетаскивание мышкой. Требует RxLibrary


Германн   (2009-09-07 03:15:00) [12]


> KilkennyCat ©   (07.09.09 03:11) [28]
>
> не знаю. вполне понятная задача. имеем некое поле, на которое
> можно в произвольном порядке отрисовать некие объекты, при
> необходимости - стереть все.
>

Дык "все" автор стирать не хочет!
См. indiegod   (07.09.09 01:43) [14]
Но про футбол я молчу!


KilkennyCat   (2009-09-07 03:11:00) [13]

не знаю. вполне понятная задача. имеем некое поле, на которое можно в произвольном порядке отрисовать некие объекты, при необходимости - стереть все.


Германн   (2009-09-07 03:04:00) [14]


> KilkennyCat ©   (07.09.09 02:50) [26]
>
> гм... у мня нет шарфика.
>

Ну и слава богу! Ты ведь в первую очередь "нормальный человек".  Да и во вторую тоже. И во все следующие.
Но ведь автор привёл некий "футбольный" пример! Но так и не удосужился описать саму задачу.

P.S.
Я сам когда-то давно занимался спортом, спортивными играми на любительском уровне.


KilkennyCat   (2009-09-07 02:50:00) [15]

гм... у мня нет шарфика.


Германн   (2009-09-07 02:44:00) [16]


> KilkennyCat ©   (07.09.09 02:23) [24]
>
> Я бы сделал так.

Некоторые Питерцы делают ещё проще, кидают шарфик в морду.
:)


KilkennyCat   (2009-09-07 02:23:00) [17]

Я бы сделал так. Имеем три TBitMap и один массив координат.
TBitMap1 содержит фон , поле, например.
TBitmap2 содержит рисунок, мячика, например.
TBitmap3 - тут мы рисуем.

Итог:
Рисование:
Кидаем TBitMap1 на TBitMap3
Бежим по массиву координат и смотрим, если что-то там есть - по координатам кидаем TBitmap2 на TBitmap3
Кидаем TBitMap3 на канву контрола, который у нас для отображения, например TPanel.
Обработка клика:
Запоминаем в массив координату клика и убегаем на Рисование.
Удаление:
То же, что и рисование, но по массиву не бежим.

Все. И не надо кучи визуальных компонентов.


Германн   (2009-09-07 02:21:00) [18]


> объясняю еще раз
>
> есть схема поля. допустим, игрок №7 ударил с линии штрафной.
>  мне нужно поставить точку с его номером в месте, откуда
> он бил. я кликаю по месту на картинке с полем, у меня генерится
> картинка с изображением футболки с номером 7
>
> в конце тайма мне надо стереть все данные за прошлый тайм.
>
> вопрос только в ом как?
>

Задачу, извини, так и не понял.
Но могу сказать, что совет
> DVM ©   (07.09.09 00:42) [1]
>
> Заведи свой список (TList) куда заноси указатели на все
> созданные имейджи

гарантировано сработает.


indiegod   (2009-09-07 02:15:00) [19]

оххх

ладно.

объясняю еще раз

есть схема поля. допустим, игрок №7 ударил с линии штрафной. мне нужно поставить точку с его номером в месте, откуда он бил. я кликаю по месту на картинке с полем, у меня генерится картинка с изображением футболки с номером 7

в конце тайма мне надо стереть все данные за прошлый тайм.
вопрос только в ом как?


Германн   (2009-09-07 02:11:00) [20]


> indiegod   (07.09.09 02:05) [20]
>
> я сказал, допустим, что мячиков
> мне нужно выводить на экран в точке изображение

Иногда лучше жевать чем говорить.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо