Перейти к содержанию
Fire Monkey от А до Я

Brovin Yaroslav

Администраторы
  • Постов

    2 124
  • Зарегистрирован

  • Посещение

  • Победитель дней

    390

Сообщения, опубликованные Brovin Yaroslav

    1. Если картинка часто используется и она не большая, то лучше ее грузить в память.
    2. Операция загрузки картинки из файла дорогостоящая операция, особенно, когда она очень часто используется и изображение очень большое.

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

    Описание включения и использования своих файлов в пакет приложения доступно здесь: Включение своих файлов в приложение

  1. Когда StopValue = 1 не работает, а при 100 работает. Но только появляется и не гаснет, галка AutoReverse стоит.

     

    Работает. Duration указывается в секундах, Поэтому для 500 миллисекунд

    Duration := 0,5
    1. Повесить анимацию TFloatAnimation на свойство Opacity
    2. Установить длительность анимации в 500 мс. Duration = 0.5
    3. Задать начальное и конечное значения в 0 и 1. StartValue = 0, StopValue = 1.
    4. И поставить галку TFloatANimation.AutoReverse для анимации.

    Ну и вызывать анимацию вручную в нужный момент времени. Перед каждым вызовом анимации задавать Inverse в True.

  2. Положение контрола по оси Z (направлена перпендикулярно плоскости монитора в направлении пользователя) регулируется порядком в списке дочерних объектов TFmxObject.Children. Первый контрол располагается дальше всего от пользователя, последний - ближе всего.

     

    Чтобы отобразить панель сверху среди объектов своего уровня нужно вызвать метод:

    TFmxObject.BringToFront
    

    Если же объект нужно расположить выше всех объектов формы, то нужно расположить объект по иерархии выше, например к форме и опять же вызывать BringToFront

     

    Варианта с TopMost, как у формы, у контролов нет.

  3. FireMonkey позволяет работать со статус баром на уровне формы. Это значит, что каждая форма сама решает, нужно ли отображать системный статус бар или его следует скрыть.

     

    Чтобы скрыть системный статус бар на мобильных платформах, достаточно установить на форме 

    BorderStyle = TFmxFormBorderStyle.bsNone

    При этом в дизайнере вы увидите, как на форме пропадет или появится статус бар. Любое другое значение BorderStyle приводит к отображению статус бара.

  4. Скачать:

     

    Цитата

    Этот пакет включает в себя набор из нескольких компонентов:

    1. TfgProgressDialog, TfgActivityDialog - Индикация хода выполнения длительных операций (iOS, Android)
    2. TfgVirtualKeyboard - Упрощенная работа с виртуальной клавиатурой (iOS, Android)
    3. TfgActionSheet - страница для выбора действий (http://fire-monkey.ru/topic/23-kak-sdelat-panel-dlia-vybora-deistvii-na-podob/)
    4. TfgGradientEdit - улучшенный контрол для задания градиента
    5. TfgColorsPanel - набор цветов, позволяет пользователю выбрать любой цвет.
    6. TfgLinkedLabel - метка со ссылкой. По нажатию открывает ссылку в стандартном браузере (поддерживает все платформы)

    Special components for displaying notifications of longtime operation (downloading, authorization): TfgProgressDialog and TfgActivityDialog

     
    TfgProgressDialog - If you can estimate duration of long time operation (count of downloaded files, size of file and etc.).
    TfgActivityDialog - if you can not estimate duration of long time operation (Response from server, authorization).

    fgx_0.6.0.46.zip

    fgx_0.6.0.60.zip

    fgx_0.7.0.69.zip

    fgx_0.7.1.74.zip

  5. Кроссплатформенный генератор отчетов с широчайшими возможностями для Apple Mac OS X и Microsoft Windows. Совместим с Embarcadero RAD Studio XE2. Генератор отчетов FastReport FMX — первое кросс-платформенное решение для внедрения Business Intelligence в программное обеспечение на базе среды разработки Embarcadero FireMonkey (Delphi для MS Windows и Apple Mac OS X).

     

    Автор: Fast Reports Inc

    Тип лицензии: Commercial

    Ссылка: http://www.fast-report.com/ru/product/fast-report-fmx/

    Скачать: URL

     

    Кроссплатформенный генератор отчетов с широчайшими возможностями для Apple Mac OS X и Microsoft Windows. Совместим с Embarcadero RAD Studio XE2. Генератор отчетов FastReport FMX — первое кросс-платформенное решение для внедрения Business Intelligence в программное обеспечение на базе среды разработки Embarcadero FireMonkey (Delphi для MS Windows и Apple Mac OS X).

    Теперь вы можете создать бизнес-приложения и для пользователей Apple Mac OS! 

    Вы получаете мощное средство для ваших бизнес-приложений, которое позволяет формировать документы и выводить их на печать под  популярными коммерческими операционными системами для PC/Apple! 

    Полный список всех возможностей FastReport FMX: 

    Данные для отчётов

    • Любые базы данных. FastReport работает со всеми базами данных, доступными в FireMonkey, включая Oracle.
    • Пользовательские данные. Источником данных может быть приложение.


    Дизайн отчётов

    • Визуальный дизайнер. Полноценный современный редактор, инструментарий которого включает огромное количество средств для визуального оформления, создания, настройки и изменения шаблонов отчетов.
    • простой и понятный классический интерфейс.
    • отдельные вкладки «дизайн отчёта», «данные» и «код отчета».
    • Инструменты и объекты: фигура, диаграммы и графики, линия, таблица, «флажок», изображение, градиент,  сводная таблица, штрих-код и т.д.


    Ядро формирования отчётов 

    FastReport специально оптимизирован и многократно протестирован для формирования корпоративных отчётов реального бизнеса! Если ваши клиенты хотят получать отчёты быстро - то только FastReport! Все эти возможности одного только движка построения отчётов:

    • бэнд-ориентированный генератор отчетов. Широкий выбор типов бэндов позволяет построить отчет любого уровня сложности.
    • построение отчёта полностью из кода (code-based reports)
    • многостраничные и многошаблоные отчёты
    • сводные (кросс-таб) отчеты. Позволяют строить табличные отчеты со сложными (составными) заголовками, используя данные из одного источника.     
    • интерактивность. Диалоговые формы, Drill-Down отчеты, вызов другого отчета с детальной информацией из окна просмотра одним кликом мыши.
    • встроенный интерпретатор (FastScript), поддерживающий 4 языка: PascalScript, C++Script, BasicScript, Jscript.


    И все эти возможности можно комбинировать даже в одном отчёте! 

    Доставка отчётов

    • окно предпросмотра.
    • Вывод сформированных отчётов на печать.
    • Фильтры экспорта:
    • PDF (в Apple Mac OS X - на уровне операционной системы) txt, bmp, jpeg, gif, tiff, png, html, ODS, ODT, CSV.


    Гибкость и интернациональность

    • Гибкая архитектура. Если имеющихся возможностей FastReport не достаточно, то можно их расширить: создать и подключить к отчету свои объекты, фильтры экспорта, функции, движки БД.
    • UNICODE. Отчет может быть на любом языке мира.
    • Исходный код. Поставка продукта включает в себя исходные коды FastReport. Это очень удобно для компаний, желающих адаптировать его под свои нужды.
  6. Библиотека распознавания букв на изображениях для FireMonkey от компании WinSoft.

     

    Автор: WinSoft

    Тип лицензии: коммерческая

    Ссылка: http://www.winsoft.sk/focr.htm

    Скачать Trial: EXE

     

    Use OCR component to retrieve text from image, for example from scanned paper document.

    • uses Tesseract OCR engine and Leptonica image processing library
    • supports Windows 32, Windows 64 and OS X
    • source code included in full version
    • royalty free distribution in applications
  7. Прочитайте еще раз внимательно мой ответ.

     

    Платформы не поддерживают этого на уровне API.

    Галерея - это стандартное приложение и для него нет апи, позволяющее использовать это приложение для множественного выбора картинок.

     

    Увы, только ручками с нуля.

  8. Есть такое дело.

     

    Поэтому как временное решение:

    1. Используете дизайнер стилей на обычной форме
    2. Потом сохраняете готовый стиль в файл
    3. Загружается стиль из файла в TStyleBook в дата модуле.
  9. В FireMonkey нету готового механизма для этого. Есть только вариант с выбором одной фотографии из галереи при помощи стандартных действий: TTakePhotoFromLibraryAction или TTakePhotoFromCameraAction

     

    Так же самое и в iOS API или Android API не предоставляет ничего готового для этого. Только вариант с выбором одного изображения. Поэтому если вам такой вариант нужен, то вам следует реализовать его самостоятельно для всех платформ: 

    1. Достать все изображения из системной галереи изображений: На iOS, используя AssetManager, и на Андроиде, используя - MediaStore
    2. Создать на FireMonkey специальное окно для выбора изображений.
    3. Написать стандартное действие для TAсtionList, завернув всю логику по выбору изображения в это действие.
  10. Добрый вечер

    1. Браузер определяет кодировку страницы на основании специального тэга в разметки страницы при помощи атрибута "charset". Если кодировка не указана, то обычно берет текущую системную.
    2. Важно знать платформу, на которой у вас возникает такое некорректное поведение.
    3. Нужно проверить этот же сайт в стандартном браузере устройства. Если проблема наблюдается и в штатном браузере, то проблема на стороне самого устройства.
    4. Обязательно приложите снимок экрана, чтобы было полностью было понятно.

    Кодировку нельзя задать в TWebBrowser, потому что ее так же нельзя указать системными средствами самих платформ. И как я уже сказал в пункте (1) кодировка определяется самим сайтом. Если же проблема появляется, значит нужно проверить региональные настройки вашего телефона и искать причину в самом аппарате.

     

    Проверил вашу ссылку в браузере FireMonkey TWebBrowser, и у меня во всех случаях на iPhone 5, iOS iPhone Simulator и Nexus 4 страница отображается корректно:

    post-1-0-04032900-1391783680.pngpost-1-0-14496400-1391783733.png

    post-1-0-09563300-1391783675.png

  11. Можно с использованием дата модуля.

     

    Делаем так:

    1. Создаем в проекте TDataModule File->New->Other->DelphiFiles->Data Module.

    2. Кидаем на дата модуль стиль бук TStyleBook и загружаем туда нужный стиль:

    post-1-0-71624400-1391762566.jpg

    3. Открываем остальные формы, и в interface секции модуля в uses добавляем наш дата модуль.

    4. Указываем в свойстве формы

    StyleBook = DataModuleStyle.StyleBook1

    Обратите внимание, если вы не подключите в uses дата модуль, то в выпадающем списке не будет варианта указать стильбук с дата модуля.

    post-1-0-01254200-1391762567.jpg

    5. Меняем порядок создания форм. Дата модуль со стилем обязательно должен создаваться раньше мест использования.

    post-1-0-31563600-1391762567_thumb.jpg

     

    P.S. В дизайнере стилей в дата модуле не доступны контролы FireMonkey, поэтому для создания стиля используйте дизайнер стилей на обычной форме, затем сохраните ваш стиль в файл и загрузите его в стиль бук в дата модуле.

  12. Добрый день,

     

    1. В TSpeedButton нету функции встраивания изображения. Однако, в аналогичной теме: Как добавить изображение на кнопку SpeedButton? Я рассказал, как добавить такую поддержку и интегрировать это решение с TImageList, основанные на TStyleBook. Так же в моей статье прикреплены исходники этой кнопки. (правда они были сделаны для XE3-4. Так что возможно нужно будет в uses поменять юниты)
    2. К TAction сомневаюсь. Так как тут нужен общий подход для всех контролов. Как вариант, вы можете сделать свой наследник TAсtion с поддержкой выбора картинки из TStyleBook, но потом, все равно для всех контролов, которые будут использовать картинки, нужно будет добавлять эту поддержку вручную.

    Спасибо

  13. За постоянное нарушение этих правил пользователь может быть забанен, в том числе по адресу IP.Если тема оформлена не правильно, то она будет закрыта.

    1. Общие правила

    • Перед тем как создать тему по вашему вопросу, воспользуйтесь поиском по форуму.
    • Форум рассчитан на консультирования применения FireMonkey, решения прикладных задач с использованием FireMonkey. 
    • Запрещено публиковать найденные ошибки. Для публикации и решения вопросов ошибок FMX существует специальный ресурс Embarcadero Quality Central.
    • Запрещается обсуждение вопросов не связанных с разработкой и FireMonkey
    • Запрещается использовать нецензурные выражения в тексте и заголовке сообщений

    2. Создание темы

    • Одна тема — один вопрос. Два вопроса в одной теме задавать запрещено.
    • Запрещено создавать несколько тем для одного вопроса.
    • Тема должна быть размещена в наиболее подходящем для нее по смыслу разделе. Если такового не имеется, то размещать тему на свое усмотрение.

    2.1 Каким должен быть заголовок темы?

    • Вопрос должен быть сформулирован в заголовке темы.
    • Заголовок темы должен содержать не менее 4 слов.
    • Заголовок темы должен формулировать вопрос как можно подробнее.

    2.2. Каким должен быть текст вопроса?

    • Текст вопроса нужно начать с указания используемой версии RAD Studio, Версии ОС и модель устройства (если речь идет о мобильной разработке)
    • Текст темы должен максимально подробно описывать суть вопроса.
    • Текст темы должен по возможности содержать иллюстрации. 
    • Иллюстрации должны быть не от балды, а иллюстрировать текущее состояние вопроса: то есть, наглядно показывать факт существования описанного поведения.
    • Если ваш вопрос касается конкретного случая разработки, нужно прикрепить проект (только исходные коды в zip архиве) к сообщению.
    • Вставляя код в текст темы, позаботьтесь о том, чтобы он соответствовал стандарту «Руководство по оформлению кода на Pascal» (это можно сделать, при помощи средств автоматического форматирования кода, которые есть в RAD Studio Edit -> Format Source или Ctrl + D), а также не забудьте использовать тег «Код» при оформлении кода в сообщении.

    3. Ответы в темы

    • Задавать свой вопрос в чужой теме можно только в случае если ваш вопрос совпадает с вопросом в теме.
    • Отвечать можно на любые темы. При ответе старайтесь подробно описывать решение вопроса.
    • Избегайте лишних сообщений не касающихся решения вопроса.
  14. Прежде чем задавать подобный "вопрос", нужно прежде задать себе другой вопрос: "что я могу понять из этого описания?". 

     

    Все подобные вопросы, заканчивающиеся только вопросом: "У меня в программе ошибка?" рассматриваться на этом форуме не будут и будут закрыты или удалены. 

     

    Уважайте труд и время других, кто будет читать это.

    Хотите помощи? Потратьте время на детальное пояснение проблемы, код который к этому приводит, исходники вашего кода, а лучше прикрепить пустой проект, содержащий минимум, необходимый для воспроизведения ошибки.

  15. Завтра все равно попробую с IBitmapLink.

     

    Так как это работает намного быстрее, при таком подходе картинка существует в одном экземпляре и используется во всех итемах.

     

    Вариант с заданием картинки через IBitmapLink нельзя использовать.

    1. Извиняюсь, с датой выхода перепутал.
    2. Если со своей стороны заведете в QC известные вам ошибки с внятным объяснением шагов для воспроизведения, я со своей стороны поспособствую, чтобы они были подтверждены и попали на исправление. Если их введете, киньте мне личным сообщением ссылки на них.
  16. После запуска приложения. В любом месте на форме запрашиваем класс канвы:

    Canvas.ClassName
    

    Далее по классу определяем канву:

    • TCanvasD2D - Direct 2D (Win)
    • TCanvasGdiPlus - GDI + (Win)
    • TCanvasGpu - GPU (Все платормы)
    • TCanvasQuartz - Quartz (iOS, OSX)
  17. Нужно указать:

    1. Версию RAD Studio
    2. Версию операционной системы
    3. Используется ли виртуальная машина?
    4. Желательно понять, какая канва используется: GDI+ или Direct2D. Как определить текущую канву можно тут: Как определить, какая канва сейчас используется?

    После этого можно будет точнее диагностировать вашу ситуацию.

    1. Этот способ, как и в Windows подразумевает встраивание ресурсов прямо в исполняемый файл приложения. Поэтому при установки на устройство, как вы понимаете, ресурс останется в исполняемом файле. Чтобы ресурс распаковался в виде файла, нужно использовать способ с Deployment Manager по этому руководству: Включение своих файлов в приложение
    2. Без распаковки отдельным файлом стандартными средствами никак. Если это и возможно, то только при помощи низкоуровневого кодирования с использованием Android API. Поскольку, судя по описанию используемого JMediaPlayer в Android API (MediaPlayer), он не умеет читать из кастомного потока. Если же вопрос встраивания медиа ресурсов в приложение важно для вас, то либо распаковка файла либо долгие и мучительные поиски решения. Поскольку так в большинстве случаев не делают. Поскольку сам формат андроид приложения подразумеваем хранение всех ресурсов отдельно.
×
×
  • Создать...