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

zairkz

Пользователи
  • Постов

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

  • Посещение

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

    12

Активность репутации

  1. Like
    zairkz отреагировална Cody71727172 в Работа сервиса при закрытом приложении   
    Здравствуйте!
    Есть такой вопрос: необходимо выводить нотификатор каждый раз как в базе данных в таблице появляются новые записи, а главное делать это даже если приложение закрыто.
    Удалось добиться этого при свернутом приложении (Нашёл в сети и использовал пример сервиса в xe7 от Brian Long), но такой вариант не устраивает (процесс убивается через время)
    Предлагали использовать AlarmManager, но информации по этому поводу не нашёл
    Заранее спасибо
  2. Like
    zairkz отреагировална K0der86 в [TWebBrowser] Можно ли получить доступ к элементам разметки страницы HTML?   
    Здравствуйте, хотел узнать как в FM можно работать с HTML элементами? Пример на VCL: 
    WebBrowser.OleObject.Document.item(5).Click; Или ткните в норм help по FM. Заранее спасибо!
  3. Like
    zairkz отреагировална brunnengi в [Android] Разделить скроллинг и нажатие   
    Здравствуйте.
    -------------
    Delphi XE7
    -------------
    В компонент TVertScrollBox положил несколько Layout'ов. Layout'ы имеют события MouseDown и MouseUp.
    При прокручивание списка идет реакция события того layout'а на который пришелся "click" пальцем.
    Как сделать так, что бы MouseDown и MouseUp компонентов Tlayout отрабатывались только в том случае, если это не скроллинг, т.е. так, как это сделано во всех приложениях для андройда?
  4. Like
    zairkz отреагировална Равиль Зарипов (ZuBy) в [Android] Разделить скроллинг и нажатие   
    событие OnTap пробовали?
  5. Like
    zairkz отреагировална brunnengi в [Android] Разделить скроллинг и нажатие   
    событие onTap я использую. Но не всегда нужен именно OnTap.
    Например вам требуется смена цвета когда элемент нажат, а когда с элемент отпущен, то цвет надо вернуть назад.
    Т.е. надо использовать MouseDown и MouseUp.
    Однако если я просто хочу пролестать список вверх или вниз, то срабатывает MouseDown у того элемента, на который пришлось нажатие.
     
    Я не спорю что это абсолютно правильная и ожидаемая реакция. Однако я вижу что в других приложениях это не проблема. Если идет скроллинг, то элементы на которые пришёлся клик не реагируют, а если это именно нажатие, то реагируют.
     
    Как такое реализовать.
  6. Like
    zairkz отреагировална ruslan в [Android] Разделить скроллинг и нажатие   
    Советую покопать в сторону ListView
  7. Like
    zairkz отреагировална Kikoma в [Android] Разделить скроллинг и нажатие   
    Вопрос актуален!!! Тоже ищу решение, пока не нашел
  8. Like
    zairkz отреагировална zairkz в [Android] Разделить скроллинг и нажатие   
    Очень актуален, даже события OnClick срабатывает на Button раньше жеста. Не могу допереть никак, если реализовать включение таймера при OnClick а на таймере с интервалом 0,5 сек проверить был ли жест путем проверки переменной, тогда пуск процедуры, конечно на OnGesture переменной присвоит 1. Еще не пробывал, но уверен что есть нормальный способ, а ни трактор как этот.
    Кстати читал что событие OnClick в принципе срабатывает раньше чем жест, был прям список что срабатывает раньше, и у разных компонентов разыне очередности, что означает я полагаю, что дело в компоненте, подскажите как изменить компонент например Button, то есть очередность срабатывания процедур в компоненте? 
  9. Like
    zairkz отреагировална ruslan в MultiView   
    строки 147-151
     
    procedure TForm1.ListBox1ItemClick(const Sender: TCustomListBox; const Item: TListBoxItem); begin   Item.IsSelected := False;   MultiView1.HideMaster; // убрать end; вы хоть немного думаете перед тем как спрашивать ?
  10. Like
    zairkz отреагировална Brovin Yaroslav в Включение своих файлов в приложение   
    Добрый вечер,
     
    Тут есть два способа:
    Работа с Deployment менеджером. Он довольно подробно описан на Embarcadero Doc Wiki: http://docwiki.embarcadero.com/RADStudio/XE5/en/Deployment_Manager Работа через менеджер ресурсов и их получение через ResourceStream. Этот способ описал MyDelphiPw в сообщении выше тут. 1. Deployment Manager
    Специальная настройка проекта, которая позволяет указать, какие файлы нужно включить в состав пакета (Андроид) или бандла (iOS). Суть его работы простая, вы указываете какие файлы с вашего компьютера нужно перенести на устройство (в какое место). А далее работаете с ними из приложения так, как при обычной работе с файлами под Windows.
     
    На мобильных платформах нужно учесть специфику возможных местоположений файла. Пакет/Бандл (приложение) не допускает изменения внутренних файлов, потому что подписывается сертификатом. Поэтому теоретически при изменении файлов приложения, вы нарушаете целостность подписи. Именно по этому файлы внутри пакета/бандла доступны только на ЧТЕНИЕ.
     
    Однако, мобильные платформы предлагают широкий круг специальных мест для хранения (временные папки, песочницы, документы, карточка памяти и тд) изменяемых файлов (например файл локальной базы данных, или настройки в ini файле и тд).
     
    Описание всех вариантов местоположений с описанием путей есть в записе TPath (RTL): http://docwiki.embarcadero.com/RADStudio/XE5/en/Standard_RTL_Path_Functions_across_the_Supported_Target_Platforms. 

    Общие действия для использования менеджера развертывания такие:
    1. Открываем менеджер развертывания: Системное Меню -> Project -> Deployment.

    2. Выбираем в верхнем выпадающем меню платформу и конфигурацию сборки.

    3. Нажимаем кнопку добавить файл и выбираем нужный файл.
     
    4. Указываем местоположение файла, куда он должен поместиться после развертывания приложения на устройстве. Тут есть особенность, если файл нужен только на чтение, то пути менять не надо. Если возможна ситуация, когда файл может быт изменен, то файл нужно поместить под iOS в Startup\Documents\ (регистр важен)

    Под Андроид в assets\internal (регистр важен) - для внутреннего доступа из пакета приложения или assets - для внешнего доступа

    5. Получаем пути к расположению файлов:
    Под iOS:
    TPath.Combine(TPath.GetDocumentsPath, 'filename') Под Андроид:
    TPath.Combine(TPath.GetDocumentsPath, 'filename') { Внутренний доступ} TPath.Combine(TPath.GetSharedDocumentsPath, 'filename') { Внешний доступ } Полезные ссылки
    Подробное руководство по добавлению файлов для iOS: http://docwiki.embarcadero.com/RADStudio/XE5/en/Creating_an_iOS_App#Loading_and_Deploying_Files Подробное руководство по добавлению файлов для Android: http://docwiki.embarcadero.com/RADStudio/XE5/en/Creating_an_Android_App#Loading_and_Deploying_Files
  11. Like
    zairkz отреагировална Brovin Yaroslav в Включение своих файлов в приложение   
    Не за что, обращайтесь.
  12. Like
    zairkz отреагировална Andrey Efimov в Приложение для создания файла ресурсов (RC, RES)   
    Обновление (версия 1.4):
    - Добавил автоматическое создание .RES файла
    - Добавил ссылку для удобного отслеживания новых версий
     
    На этом всё, больше ни каких новых функций в голову не приходит .
     
    Ссылку и скриншоты обновил.
  13. Like
    zairkz отреагировална Andrey Efimov в Приложение для создания файла ресурсов (RC, RES)   
    Новая версия (1.3):
    - Добавлен диалог для выбора папки
    - Добавлен режим, при котором, имена присваиваются автоматически.
    - Мелкие исправления

     
     
    Ссылку и скриншоты обновил.
  14. Like
    zairkz отреагировална Andrey Efimov в Приложение для создания файла ресурсов (RC, RES)   
    Появилась необходимость добавить большое количество картинок, но делать это стандартными средствами не очень удобно (почитать можно тут: Где хранить большое количество картинок?).
     
    Собственно, написал маленькую программку для создания файла RC и создания bat – файла, который позволяет генерировать RES файл.
     
    В свободное время буду допиливать.
     
    Как использовать:
    Указываете путь до папки с файлами, которые необходимо добавить в ресурсы. Указываете имя выходного файла, без расширения. Расширение (.rc) уже забито в коде. Выбираете тип ресурсов. Ставите необходимые галочки. Жмёте "Создать" Итоговые файлы будут лежать рядом с exe-файлом приложения.
     
    Обращаться к ресурсам можно по оригинальным именам или автоматически сгенерованным.
    Пример (оригинальные имена):
    Имя файла "FruitsVegetables_1.png". В готовом файле будет так: FruitsVegetables_1 ТИП ПУТЬ\FruitsVegetables_1.png Надеюсь, кому-нибудь пригодится.
     
    Версия 1.4:

     
      Скачать с Google Drive (версия 1.4). Новую версию можно скачать ниже, в последнем сообщении.
  15. Like
    zairkz отреагировална AngryOwl в Как программно добавить анимацию к TListBoxItem   
    "Height - не работает"
    а в Вашем TListBox, в котором Вы меняете Item'ы, свойство ItemHeight случаем <> 0 ?
    В смысле - если ItemHeight <> 0, то изменение свойства Height для любого TListBoxItem работать не будет
     
    P.S. Вот простой пример, который только-что опробовал и он прекрасно работает именно так, как Вам нужно
    (удаляет выбранный элемент списка с анимацией)
    ... TListBoxItem(TListBox(Sender).Selected).AnimateFloat('Opacity', 0, 0.3); TListBoxItem(TListBox(Sender).Selected).AnimateFloatWait('Height', 0, 0.3); TListBox(Sender).Items.Delete(TListBox(Sender).Selected.Index); ... P.P.S. проверил - все работает и на Windows и на Android. корректно и с анимацией
  16. Like
    zairkz отреагировална AngryOwl в Как программно добавить анимацию к TListBoxItem   
    Не за что. Удачи!
×
×
  • Создать...