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

mazayhin

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

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

  • Посещение

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

    19

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

  1. Thanks
    mazayhin получил реакцию от Ingalime в [Android]Входящий звонок   
    Думаю, что правильнее и проще всего будет добавить в приложение ресивер, и подписаться на событие входящего вызова, ну, и далее, скажем, в сервис интент отправить, или в приложение, или еще что сделать
  2. Like
    mazayhin отреагировална OnePeople в [Android]Входящий звонок   
    Ну смотрите, вообще любой нормальный плеер когда начинает играть запрашивает фокус себе, чтобы другие приложения приостановили проигрывание, когда происходит звонок приложение телефон также забирает аудио фокус себе, ваше задача отловить этот момент, при внедрении этого кода, ваше приложение будет останавливать проигрывание когда потеряет фокус. Во первых это единственно правильный метод. Во вторых ваше приложение будет останавливать проигрывание и при запуске видео в Ютуб, или входящем звонке с мессенджеров.
  3. Like
    mazayhin отреагировална OnePeople в [Android]Входящий звонок   
    Правильнее через аудио фокус!
  4. Like
    mazayhin отреагировална Vitaldj в Android 10 (API уровня 29)   
    Вы fgx видели?
  5. Like
    mazayhin отреагировална Tumaso в Android 10 (API уровня 29)   
    Осталось понять, зачем нам здесь реклама флаттера?
  6. Like
    mazayhin отреагировална Tumaso в [Android] Файловый менеджер   
    @Android покажите свой код, который вы уже написали в рамках этой задачи. mazayhin сказал всё верно, что никто не будет делать файловый менеджер за вас. Помочь в существующем коде, где что то не получается - один разговор, а дать готовый код без капли усилий с вашей стороны?
  7. Like
    mazayhin отреагировална krapotkin в Android SDK - с чем едят и как бороться?   
    Delphi никакого отношения к вашим SDK/NDK не имеет, она использует то что вы установили/ настроили.
    и даже предлагает установить кое-что, с чем точно умеет работать
    Я начиная с XE5 просто ставил Android Studio и SDK / NDK, чтобы иметь возможность контролировать что где у меня стоит, и не лазить по папкам с путем длиной 2000 знаков.
    Просто без AS нет SDK manager, и настройки делать неудобно. 
    Потом выбираем те версии, которые нужны. (запоминаем, что там Delphi хотела поставить) и прописываем пути в настройках delphi
    К последним версиям это стало работать практически в один клик.
    Выбирать, какие устройства видны или нет, тоже делфи ни при чем. Она все делает через ADB. Если ADB не видит девайс, то ни одна другая программа не увидит тоже. Для решения этой проблемы тоже есть тема на форуме, где правится sys - файл с описаниями доступных VendorId / ProductId в стандартном драйвере Googel ADB
  8. Like
    mazayhin получил реакцию от Ingalime в Служба + перехват номера   
    Описать BroadcastReceiver в приложении, а из сервиса слать сообщение (интент) с необходимыми данными.
    На форуме есть пример даже с сервисом 
     
  9. Like
    mazayhin получил реакцию от OnePeople в [Android] Воспроизводить аудио   
    Сибирь рулит )) 
  10. Like
    mazayhin получил реакцию от Ingalime в [Android] Воспроизводить аудио   
    Вот я и говорил что не плохо было бы исправить этот код, и в extra отправлять комманды сервису из приложения, например, пауза там, и останавливать так же, посылая интент из приложения
  11. Like
    mazayhin получил реакцию от Roma77751 в [TWebbrowser] как вытащить куки   
    {$IFDEF ANDROID} uses Androidapi.Helpers, Androidapi.JNI.Webkit; (...) var CookieManager: JCookieManager; Cookie: string; begin CookieManager := TJCookieManager.JavaClass.getInstance; Cookie := JStringToString(CookieManager.getCookie(StringToJString(WebBrowser1.URL))); CookieManager := nil; end; Результат - строка формата HTTP-заголовка Cookie - PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1
    Так же, через менеджер для URL можно установить свои куки, или удалить их.
  12. Like
    mazayhin получил реакцию от Сергей Сергеев в [TWebbrowser] как вытащить куки   
    {$IFDEF ANDROID} uses Androidapi.Helpers, Androidapi.JNI.Webkit; (...) var CookieManager: JCookieManager; Cookie: string; begin CookieManager := TJCookieManager.JavaClass.getInstance; Cookie := JStringToString(CookieManager.getCookie(StringToJString(WebBrowser1.URL))); CookieManager := nil; end; Результат - строка формата HTTP-заголовка Cookie - PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1
    Так же, через менеджер для URL можно установить свои куки, или удалить их.
  13. Thanks
    mazayhin получил реакцию от Ingalime в [Android] Воспроизводить аудио   
    А, ок, понял. Но сейчас уже ухожу с работы от компа... Если никто не распишет, может, на выходных, или уже в понедельник, распишу.
    Да, и код сервиса "выдран" от куда то, я б, честно, его поменял немного, но ничего.
    По поводу ExtraData - при запуске сервиса предполагается какое-то дальнейшее действие, вот оно в эту дату и прилетает при запуске, и дальше автор что-то с этим значением делает
  14. Like
    mazayhin получил реакцию от Ingalime в [TWebbrowser] как вытащить куки   
    {$IFDEF ANDROID} uses Androidapi.Helpers, Androidapi.JNI.Webkit; (...) var CookieManager: JCookieManager; Cookie: string; begin CookieManager := TJCookieManager.JavaClass.getInstance; Cookie := JStringToString(CookieManager.getCookie(StringToJString(WebBrowser1.URL))); CookieManager := nil; end; Результат - строка формата HTTP-заголовка Cookie - PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1
    Так же, через менеджер для URL можно установить свои куки, или удалить их.
  15. Like
    mazayhin получил реакцию от Barbanel в REST Client Library vs. THTTPClient   
    THTTPClient - голый клиент, а в TREST... За вас сделана часть работы для работы по rest, и ну и преобразования результата в TDataSet. Внутри там тот же HttpClient
  16. Like
    mazayhin отреагировална Slym в Требуется приложение на на все смартфоны   
    1. Говорят - сначала сделай "какнибудь" - оптимизацию оставь на потом
    2. А книжку почитай... ООП там всякие... инкапсуляция там, переиспользование кода...

    по вашему списку
    1. Список счетов (желательно с оповещением статусов, типа как на СМС на ватсапе приходят)
    Кто их делать будет? Бекенд? На чем написан? или его нет?
    2. Онлайн каталог номенклатуры (калькулятор с разными расчетами, примерно как в Apk, думаю надо будет подробно объяснять как и что)
    Онлайн каталог ты получил выше...
    3. Раскрой листа (алгоритм я же сделал, просто внедрить): ввод списка с числами (габаритY, габаритX, кол-во) , показать изображение работы алгоритма:
    Прежде чем внедрять нужно понять к чему? Нафега клиенту твой алгоритм? Он не тебе материал экономит, а себе деньги... Сущьность какая? Заказ? список деталей? детали круглые/квадратные/в форме котиков?
    Кто раскрой делать будет? Клиент - ему это нафиг ненадо, хоть 1 деталь на лист. Бекенд? Админский фронтэнд? На чем написан? или его нет?
    4. Контакты (просто текстовая информация с ссылками)
    Тупо вывести на экран как Hello world...
    5. Отзыв (отправка текста мне на почту)
    Кто почту отправлять будет? Бекенд? На чем написан? или его нет?
    6. Загрузка файлы xls (прайс)
    Кто и главное куда (база) парсить будет? Бекенд? На чем написан? или его нет?

    Рано тебе клиентское приложение делать - я тебя бекенда нет по 1,3,5,6 пунктам...
    и того 2 или даже 3 программы: бекенд, клиентская часть, и одминка для приемщика заказа
    причем править имеющийся бекенд сайта тебе править низя  иначе ты бы послушался и не парсил html а запилил нормальный JSON в нужном формате
     
  17. Like
    mazayhin отреагировална Евгений Корепов в Создание сервиса (демона) нового стиля для Linux   
    В прошлой теме я показал как делать демонов старой школы - серьезных и самодостаточных. Но это все в прошлом. Теперь существуют системы управления процессами, где все намного, намного проще.
    Исходники тут https://github.com/EvgeniyKorepov/LinuxDaemonNewStyle
    Заметьте, теперь никаких потоков, все элементарно, systemd сделает всю работу за нас.
    Половина кода - разбор параметров командной строки. Вторая половина - бесконечный цикл, ожидающий сигналов от экземпляра класса демона нового стиля . Код самого класса сократился на треть.
    Если запустите приложения в консоли - будет самое обычное приложение, которые умрет при закрытии консоли. Запуск в качестве бессмертного демона - через systemd, причем он сможет автоматически перезапускать вашего демона при крахе. Эти параметры задаются в текстовом файле /etc/systemd/system/DaemonNewStyleTest.service
    program DaemonNewStyleTest; {$APPTYPE CONSOLE} uses System.SysUtils, System.IOUtils, System.SyncObjs, Posix.Stdlib, Posix.SysStat, Posix.SysTypes, Posix.Unistd, Posix.Signal, Posix.Fcntl, Posix.Syslog in 'Posix.Syslog.pas', UnitDaemonNewStyle in 'UnitDaemonNewStyle.pas'; var AEvent : TEventType; begin if ParamCount = 0 then begin syslog(LOG_ERR, 'No parameters'); ExitCode := EXIT_FAILURE; exit; end; if ParamStr(1).ToLower.Equals('stop') then begin if Daemon.Stop(30) then ExitCode := EXIT_SUCCESS else ExitCode := EXIT_FAILURE; exit; end; if ParamStr(1).ToLower.Equals('reload') then begin if Daemon.Reload() then ExitCode := EXIT_SUCCESS else ExitCode := EXIT_FAILURE; exit; end; if not ParamStr(1).ToLower.Equals('start') then begin syslog(LOG_ERR, 'Unknow parameters'); ExitCode := EXIT_FAILURE; exit; end; syslog(LOG_NOTICE, 'main START'); while Daemon.IsRunning do begin syslog(LOG_NOTICE, 'main LOOP'); Daemon.Execute(AEvent); if AEvent <> TEventType.None then syslog(LOG_NOTICE, 'main Daemon receive signal'); case AEvent of TEventType.Start : begin syslog(LOG_NOTICE, 'main Event START'); end; TEventType.Reload : begin // Reload config syslog(LOG_NOTICE, 'main Event RELOAD'); end; TEventType.Stop : begin syslog(LOG_NOTICE, 'main Event STOP'); ExitCode := EXIT_SUCCESS; Sleep(10); // simulate destroy delay break; end; end; Sleep(1000); end; end. systemctl start DaemonNewStyleTest.service systemctl reload DaemonNewStyleTest.service systemctl stop DaemonNewStyleTest.service  
  18. Like
    mazayhin отреагировална Евгений Корепов в Требуется приложение на на все смартфоны   
    Вам проще адаптировать сайт https://gector-spb.ru/ для мобильных браузеров. Наймите верстальшика за доширак - обойдется дешевле и по времени гораздо быстрее.
  19. Like
    mazayhin получил реакцию от Ingalime в Логика авторизации по отпечатку пальца   
    На форуме была тема про кейстор, с скидывал пример работы с ним (плохенький, но работает)
    Для входа по пин коду:
    Генерируйте ключ, ставьте пин на него, храните в кейсторе, гугл вроде как гарантирует неизвлекаемость ключа. Шифруйте данные авторизации и храните их да хоть в загрузках. Без ключа они бесполезны. Далее пытайтесь расшифровать и работать с ними. Не расшифровались-не тот ключ. Нет доступа к ключу-не тот пин.
    Если следовать закону, то не удивлюсь, что шифрование должно быть ГОСТ..
  20. Thanks
    mazayhin получил реакцию от Олег Киреев в Импорт/экспорт БД   
    Олег, если файл деплоится в external, то путь к нему надо получать так:
    TPath.Combine(TPath.GetSharedDocumentsPath, 'DB_BOKA.db3')
  21. Like
    mazayhin получил реакцию от dnekrasov в FMX асинхронное управление интерфейсом в процедуре до её завершения.   
    Еще, причем, если будете запускать не только на Windows, сразу выберете кросплатформенного поставщика (DOM Vendor) ADOM XML v4
    Тогда не надо будет вызывать CoInitialize, который и работает только для Windows
  22. Like
    mazayhin отреагировална #WAMACO в Удаление динамически созданных компонентов   
    Что? Опять? Сериал. Новый сезон. "Убийство кнопок" :))
  23. Like
    mazayhin отреагировална Олег Киреев в Приложение для расчёта сцепления автомобиля и его привода v.1.1   
    Это приложение для OS Windows выполняет:
    1.Расчёт сцепления:
    -расчёт и подбор геометрических параметров нажимного и 
    ведомого дисков, муфты выключения;
    -проверка параметров по теплонагруженности пар трения;
    -расчёт всех наиболее нагруженных деталей сцепления 
    (пружины, пластины, подшипник).
    2.Расчёт пневмогидравлического привода сцелпения:
    -подбор и проверка управляющего и исполнительного 
    органов;
    -объём жидкости.
    3.Возможность вноса и редактирования исходных данных и 
    результатов в БД.
    4.Распечатку всего расчёта с исходными данными, 
    формулами, графиками, используемой литературой и 
    результатами в MS Word.
    5.Просмотр и изучение нажимного, ведомого дисков
    и муфты выключения в 3D.
    Изначально для работы в приложении необходимы 
    некоторые
    знания конструкции сцепления и теории расчёта.
     Автор: Олег Киреев-ведущий инженер-конструктор,
                  kireevoleg1966@gmail.com, +375 29 676 13 84
                  БЕЛАРУСЬ, г.Минск.
    Приму Ваши замечания и предложения.
    По совету Равиля Зарипова РАЗМЕСТИЛ на файлообменнике 12.08.2019г по этой: https://mega.dp.ua/a27WmeXKwY ссылке. На этом ресурсе обещают хранить 90 дней. Интересно услышать Ваши отзывы.




  24. Like
    mazayhin получил реакцию от Татьяна в Как узнать Device Name на Андроиде?   
    Человек хочет получить то имя, которое на скрине идет первой строкой, на сколько я понял
     
     
  25. Like
    mazayhin получил реакцию от Anatoliy в Как узнать Device Name на Андроиде?   
    Это будет имя Bluetooth-адаптера.
    //uses System.Bluetooth; TBluetoothManager.Current.CurrentAdapter.AdapterName  
×
×
  • Создать...