Вот интересная запись в блогах Embarcadero:
http://community.embarcadero.com/blogs/entry/coming-soon-to-delphi-execute-background-tasks-with-android-services
Похоже в XE9 будет поддержка сервисов андроид
Получаешь из Браузера содержимое страницы(как? я не увидел такого метода в классе, ищи сам, или жди помощи других пользователей)
Из содержимого удаляешь все ненужное
Вставляешь обратно в браузер
я делал галерею полностью из layout + scrollbox для timage, заключенных в эти layouts
и в той же программе просто масштабируемый вывод нескольких слоев картинки в панель
во втором случае мне кажется использование TImage не нужно
насколько я разумею, атрибут это дополнительные свойства и даже методы, приаттаченные к объекту RTTI - классу, методу класса, полю
при работе мы можем учитывать это свойство
например, в этой библиотеке
при сериализации объекта в JSON можно переименовать поле, или убрать его из сериализации вовсе
в датаснап с помощью атрибутов сделана авторизация на исполнение метода
Если попроще, то я бы сделал так:
- один TListBox (с выравниванием либо Bottom, либо Client)
- с нужным количеством TListBixItem, соответственно кол-ву "фигур"
- у TListBox Columns = кол-ву TListBixItem, либо ListStyle = Horizontal
- ну и соответственно все настройки по высоте и т.п.
- TListBox.StyleLookup = 'transparentlistboxstyle'
- поместил бы в каждый TListBixItem по картинке (TImage) с выравниванием Bottom
и менял бы высоту этих картинок.......
З.Ы. Если Вам не нужно что-то более "красивое"
З.З.Ы. А можно сделать свой дополнительный стиль для TListBixItem, взяв за основу стандартный стиль и изменив в нем объект 'icon'. Тогда не нужен будет TImage для каждого TListBixItem, и можно будет управлять им через StylesData['icon.....']...
Чтобы каждый раз при добавлении элемента не запрашивать память на 1 элемент, список растет на несколько элементов вперед. За это отвечает свойство Capacity. Таким образом скорость добавления элементов возрастает.
Да, но не смотря на это, пользователь работает только в границах от [0, Count -1]
Судя по всему, фишка довольно старая, но я ни разу не сталкивался с ее реальным применением.
Нашел такое описание с примером: http://habrahabr.ru/post/105776/
И сдается мне, что все тоже самое можно реализовать при помощи обычного Сеттера свойства.
Как доведу до ума. Сейчас уже многое сделано, но и не мало еще. Я хочу завершить логически архитектуру, чтобы потом не вносить в нее изменения, а лишь расширять.
Новые вести с полей.
Проверена работа на Андроиде. Рендеринг прошел нормально.
Добавлена возможность указывать межстрочный интервал для параграфов.
Значительно переработаны настройки. Теперь можно задавать настройки для всех элементов в целом, для всех параграфов, так и локально для одного параграфа.
Работа продолжается.
Добавлена поддержка расскраски Delphi кода.
Создана система, позволяющая самостоятельно обрабатывать блоки документа. Например, чтобы сделать разметку кода.
Значительно проработаны отступы для блоков. Добавлены внешние и внутренние отступы.
Исправлены многострочные списки. Теперь если элемент списка занимает больше одной строки, он отображается корректно.
Добавлена поддержка закрашивания заднего фона.
Так же этот компонент уже интегрирован в будущую настольную версию клиента форума.
В текущую версию добавлена поддержка:
Нумерованные списки
Ненумерованные списки
Форматированный код. Пока только сохранение отступов в коде и применение моношрифта. В будущем планирую добавить систему плагинов расширяющих базовые элементы разметки для реализации подсветки кода.
Добавлено прокручивание текста
Советую почитать про TestFlight. Это поможет вам удаленно установить свое приложение тому, кому вы хотите показать его на этапе разработки.
Да и все ответы на ваши вопросы я без труда нашел на просторах интернета когда сам проходил этот путь джедая