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

Лидеры

  1. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      12

    • Постов

      2 517


  2. krapotkin

    krapotkin

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


    • Баллы

      9

    • Постов

      2 213


  3. Евгений Корепов

    Евгений Корепов

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


    • Баллы

      9

    • Постов

      738


  4. master webs

    master webs

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


    • Баллы

      9

    • Постов

      216


Популярный контент

Показан контент с высокой репутацией 23.06.2016 во всех областях

  1. У меня бомбит от таких вопросов. Когда человек просто поставил среду себе и даже не удасужился небольшую книжку для новичков пролистать. и пишут как цвет текста поменять или в таймере параметр менять - "Как сделать так чтобы было вот так". Просите за флуд. Но такое все чаще
    5 баллов
  2. можно дать понять IOS что после сворачивания приложение будет работать с сенсором
    5 баллов
  3. черт побери код procedure TForm1.Timer1Timer(Sender:TObject); begin progressBar1.value := progressBar1.value + 1; end; легче стало?
    3 балла
  4. Ключевым здесь является TStyledSetting.FontColor NadG.StyledSettings := NadG.StyledSettings - [TStyledSetting.FontColor]; Работает и с BeginUpdate и без оного и c любым положением "Paren :=" См. также Почему не изменяется Font.Style и Font.Size.
    3 балла
  5. Я же писал, что приложение, рано или поздно будет убито. Для длительных операций только сервис! Есть несколько известных мне вариантов, заставить приложение (без сервиса) дольше висеть в памяти: 1) Приложение на переднем плане с отключением блокировки экрана (сна устройства) (Так пишут игры) 2) Вывести постоянный нотификейшен на устройстве, пока он весит, приоритет у приложения повышен По поводу ловли событий "бекона" в фоне или вообще не запущенном приложении. Попробуйте разобраться, как такое реализовано в библиотеке Android Beacon Library. Ап. Судя по всему, всё завязано на BroadcastReceiver и сервисах: <receiver android:name="org.altbeacon.beacon.startup.StartupBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/> <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/> </intent-filter> </receiver> Зажимая кнопку, вы видите список последних запущенных приложений. Т.е. какие-то приложения могут работать и в фоне, в момент просмотра списка, а другие уже будут выгружены из памяти.
    2 балла
  6. Хорошая идея! Добавил не обязательный параметр output_format, если он равен json, то выводится в json: http://kayfolom.ru/?cmd=read&api_key=7imq4rcq7rcqm7q3&output_format=json { "status": "ok", "logs": [ { "datetime": "2016-06-23 11:19:40", "datetime_unix": "1466669980", "ip": "195.22.104.78", "message": "Я еще живой, не дождетесь!" }, { "datetime": "2016-06-23 11:19:26", "datetime_unix": "1466669966", "ip": "195.22.104.78", "message": "Я еще живой, не дождетесь!" }, { "datetime": "2016-06-23 11:19:25", "datetime_unix": "1466669965", "ip": "195.22.104.78", "message": "Я еще живой, не дождетесь!" }, { "datetime": "2016-06-23 11:19:20", "datetime_unix": "1466669960", "ip": "195.22.104.78", "message": "Я еще живой, не дождетесь!" } ] }
    2 балла
  7. chaplin.u@gmail.com, откройте любую книгу и изучите основы, для начала хотя бы по вашему вопросу. Почти в каждой книге есть пример работы с ProgressBar. А вы точно пробовали искать? Вот смотрите delphi ProgressBar по таймеру. Опять же в книгах есть примеры. Вы правы, цель форума - помогать новичкам, которые пытаются сделать что-то самостоятельно и у них что-то не получается, которые имеют хотя бы основные знания. Вам же, дали уже даже код, но вы не стали разбираться, читать описание компонентов с которыми хотите работать... Вывод - вы хотите получить готовое решение по вашему описанию, раздел Ищу подрядчика. p.s. Вопрос был решён, ещё в сообщении от krapotkin, тему закрываю.
    2 балла
  8. Я уже 25 лет пишу программы по ТЗ. Давайте обратимся к ТЗ... Интервал срабатывания таймера задан в чем? - в миллисекундах. Ставим галочку пункт 1. По тикам таймера... Приведенный код - обработчик "тиков" таймера. Галочка пункт 2 Сдвигать progressBar. Тут двояко можно толковать. Можно реально сдвигать прогресс-бар, можно двигать текущее значение в нем. Первый вариант слишком экзотичен, поэтому думаем про второй Value := Value + 1; Галочка три. Задание выполнено точно в соответствии с ТЗ, в сроки, определенные договором. Подпись. печать.
    2 балла
  9. unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Controls.Presentation, FMX.StdCtrls; type TForm1 = class(TForm) ProgressBar: TProgressBar; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } Timer : TTimer; procedure TimerTimer(Sender: TObject); end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.FormCreate(Sender: TObject); begin ProgressBar.Min:=0; ProgressBar.Max:=100; Timer:=TTimer.Create(Self); Timer.Interval:=10; // милисекунд, 1000 = 1 секунде Timer.OnTimer:=TimerTimer; Timer.Enabled:=True; end; procedure TForm1.TimerTimer(Sender: TObject); begin ProgressBar.Value:=ProgressBar.Value+0.1; if ProgressBar.Value>=ProgressBar.Max then Timer.Enabled:=False; end; end.
    2 балла
  10. Попробуйте поэкспериментировать с "Project options -- Version info -- persistent=true", как уже сказал уважаемый krapotkin. Сделайте приложение пустышку которое будет раз в N секунд отсылать запрос на сервер. Чем черт не шутит, может этот вариант подойдет. Я вам безвоздмездно предоставляю api на одном из своих хостингов, на одном из не используемом домене: http://kayfolom.ru/?cmd=[write|read]&api_key=[api_key]&message=[message] cmd - write пишем, read читаем api_key - произвольная строка до 40 символов, идентифицирующая проект, к примеру "kasjlqw4q4t784" или "My_test_persistent_project", лучше использовать латинские буквы без спецсимволов и пробелов. message - произвольная строка, на любом языке, в кодировке utf8. Максимальная длина 255 символов. Пример использования: В своем приложении вы делаете так procedure LogToServer(AMessage, AAPIKey : String); Var Query : String; HTTPClient: THTTPClient; begin Query:='http://kayfolom.ru/?cmd=write&api_key='+AAPIKey+'&message='+AMessage; HTTPClient:=THTTPClient.Create; HTTPClient.Get(Query); FreeAndNil(HTTPClient); end; LogToServer('Я еще живой, не дождетесь!', '7imq4rcq7rcqm7q3'); Потом в браузере открываете ссылку http://kayfolom.ru/?cmd=read&api_key=7imq4rcq7rcqm7q3 и видите примерно следующее: 2016-06-23 11:19:40 195.22.104.78 Я еще живой, не дождетесь! 2016-06-23 11:19:26 195.22.104.78 Я еще живой, не дождетесь! 2016-06-23 11:19:25 195.22.104.78 Я еще живой, не дождетесь! 2016-06-23 11:19:20 195.22.104.78 Я еще живой, не дождетесь! { "status" : "ok" } Сможете мониторить время и с какого IP прислано сообщение. Результатами эксперимента поделитесь. У меня вот XE8, сервисы там отсутствуют, а задумки есть интересные. P.S. Если кому нужно, пользуйтесь этой штукой на здоровье. Только не злоупотребляйте. Несколько запросов с секунду это нормально, а тысячи запросов в секунду вынудят меня прикрыть лавочку :-) Если нужно, прикручу команду очистки истории.
    2 балла
  11. в корне не правильный подход если нет статистики по устройствам пользователей можно потерять очень большую часть аудитории для владельцев сервиса и потерять много клиентов за того что нет возможности собрать проект на ios хотя по факту он будет сделан да и по оборудованию не так дорого выходит я когда начинал сидел на хакинтоше с виндой на виртуалке и с iphone 4s и могу навести простой пример делал приложения для 4х московских интернет магазинов по их статистике с яндекс метрики заходы на сайты были 60 % ios, 30% браузер и только 10% android все 4 сайта сидят в топ 10 яндекса и гугла
    2 балла
  12. По моему опыту: автодополнение кода перестает работать при Длинном методе (вложенные процедуры/функции не в счет) Если между методами (не внутри, а именно между) есть комментарии Если большая вложенность всяких циклов, if и т.п. Если встречаются конструкции, которые форматтер (Ctrl + D) обрабатывает неправильно (некорректно просчитывает отступы). Помогает явная вставка Begin/end или, как было пару раз с array of record x:type1; y:type2; end - вынести объявление типа отдельно. Иногда (но очень редко) с директивами условной компиляции. Когда Луна входит в созвездие Песца. Если случился пункт 6 - помогает закрыть вкладку модуля и открыть ее заново. В особо сложных случаях - перезапустить IDE.
    2 балла
  13. Равиль Зарипов (ZuBy)

    StatusBar Color

    Шаблон для проектов с покраской статус бара для мобильных платформ UPDATE: StatusBarColor.7z UPDATE2: StatusBarColor_update.zip
    1 балл
  14. Приложение с Persistent=True умерло окончательно спустя два часа. Вот как то так.
    1 балл
  15. Не удержался и написал сам приложение для теста Persistent. Приложение пишет раз в минуту, после этот пишет 5 раз с интервалом в 1 секунду. Приложение запустил, нажал кнопку Home дабы свернуть его. Cледить за процессом можно здесь http://kayfolom.ru/?cmd=read&api_key=Persistent_test01, или в json формате здесь http://kayfolom.ru/?cmd=read&api_key=Persistent_test01&output_format=json Делаем ставки господа и дамы! ;-) P.S. Эксперимент не удался. После нескольких тестов выяснилось что запросы перестают приходить даже если приложение на переднем фоне и телефон блокируется по таймауту. Нажатие Хоме, тоже останавливает приложение. Даже если выбрать приложение из списка запущенных, таймеры не просыпаются до тех пор, пока не ткнеш на какой либо элемент управления (кнопку к примеру).Оставляю приложение в фоне, в надежде понять логику режима Persistent.
    1 балл
  16. Поиграйтесь с опциями компилятора, возможно в релизе оптимизация или еще что влияет. Я как то бился над подобной проблемой несколько дней, выяснилось что включение оптимизации выполняло один из циклов for задом наперед ;-)
    1 балл
  17. По порядку: 1. Сервис поможет работать с датчиками, не запуская приложение, если это нужно делать скрыто без участия пользователя. Даже, если приложение выгружено из памяти, сервис обработает нужные сообщения с датчиков и сети (если нужно PUSH с сервера получить). Ну это все выше обсудили вроде. 2. Другой вариант, прописать в Manifest BroadCastReceiver, слушать события типа (TJBluetoothDevice.JavaClass.ACTION_FOUND or TJBluetoothAdapter.JavaClass.ACTION_SCAN_MODE_CHANGED, могу ошибаться с BLE не работал). Приложение само будет запускаться (не открываться основная активити, а запускаться в памяти), когда система будет отлавливать эти события и передавать приложению. Вот только не уверен, что система их будет ловить, если датчик BLE ни какое приложение не будоражит, и он уснет. Я бы делал первый пункт и второй вместе. 3. Программно включать и выключать BlueTooth не есть хороший тон с точки зрения безопасности, если Гугл это еще не закрыли, то наверное закроют через время. Но в целом, это этическая сторона, а как это делается технически, можно посмотреть здесь. 4. Если у вас есть модуль «Embarcadero\Studio\18.0\source\rtl\net\System.Bluetooth», то в нем есть все, что нужно для работы с BLE. Осталось разобраться, как обрабатывать сообщения на ваших устройствах iOS или Android, как сделать так, чтобы датчики не спали и читали входящие и т.п. 5. В Tools→Getit PM есть компоненты Beacon Fence (BeaconZonesFencing, BeaconMapFencing). Кто-нибудь их смотрел? Судя по описанию, они решают задачу собственно технологии Beacon Fence. Очень интересно узнать, что в итоге получится у Kitty или кого-то еще из этого коллективного обсуждения.
    1 балл
  18. Если бы вы почитали книжечку (куда вас и отсылали пользователи форума),то прочитали бы еще, что задать бы максимальное значение надо бы. И задается это так: progressBar1.max = ваше значение. Тогда бы у вашего поезда была бы цель)))
    1 балл
  19. Лучше лог разбейте по частям и в джейсон все это дело. Типа такого: { "status": "ok", "logs": [{ "date": "2016-06-23", "time": "11:19:40", "IP": "195.22.104.78", "Message": "Я еще живой, не дождетесь!" }, { "date": "2016-06-23", "time": "11:19:40", "IP": "195.22.104.78", "Message": "Я еще живой, не дождетесь!" }] } Что бы можно было результат сразу в JSON парсер загонять
    1 балл
  20. в 2к16 году не знать о интервале в таймере. Да и вообще, что за прикол в таймере прогресс бар менять? Р.S. Вам либо нужно перестать троллить пользователей форума, либо пойти книженцию почитать
    1 балл
  21. вам не приложение должно отправить уведомление а сервер а серверу стучит сам телефон без участия приложения нужно задать параметры сервера
    1 балл
  22. так вам и помогают, дали мануалчики для развития, это не фриланс где за вами слюни подтирают. Учитесь или платите копеечку, выбор за вами
    1 балл
  23. Никто не хочет тебя обидеть, просто все стали на более высоко уровне помогать. Потому что сама идея заполнять через таймер прогресс бар, в большинстве случаев лишена смысла. Ссылка на книги http://www.rad-studio.ru/книги/
    1 балл
  24. попробую сегодня сделать вроде на ios можно имитировать работу маячка а на андроид посмотреть как все будет если что выйдет отпишу
    1 балл
  25. да, это очень напрягает
    1 балл
  26. master webs

    iOS фоновом режиме

    да и там если не изменяет память если кинуть компонент для определения координат то будет постояно гореть верху зеленя полоса что включено определение кординат
    1 балл
  27. потому что цикл разработки на Android гораздо проще. Как минимум, не требуется покупать оборудования на $2000. А делфисты по определению Windows-based
    1 балл
  28. дело в том что изначально ibeacon был разработан для ios android запустил в след свои аналоги https://ru.wikipedia.org/wiki/IBeacon и сделал совместимость с ibeacon может быть от сюда и ноги растут а так да для ведра как вариант только сервис который будет в фоне мониторить маячки ито на хабре есть статья где был мониторинг по месту нахождения устройства и времени события P.S. к месту магазина можно привязать есть же определения по wifi/сотовой сети gps определили место дали уведомление и человек сам запустит приложение как вариант https://www.ibeaconrussia.ru/blog/ibeacon-na-android/ был не прав в сервисе приложение не нуждается все должно делать само ведро на уровне операционки
    1 балл
  29. Как вы этого добились (без использования сервисов)? Как вы проверяете, висит ли приложение в фоне или нет? Как вы проверяете, висит ли приложение в фоне или нет? так и должно быть, ведь вы заново запускаете приложение, происходит событие OnCreate Может я конечно чего-то не знаю, но судя по жизненному циклу приложения без службы, оно будет убито в любой момент, после того как его "свернули". Время, через которое будет убито приложение зависит уже от самой системы. Также в документации гугла написано про длительные операции, что рекомендуется запускать службу, тогда система правильно распределит ресурсы. Т.е. как только его свернули, происходят события "OnPause -> OnStop", а если посмотреть внимательно на таблицу событий(по приведённой ссылке), конкретно на столбец "Killable?", то станет ясно, что событие "OnStop" позволяет системе убить приложение. p.s. Вообще, это уже другая тема, т.к. текущая тема про нотификейшены. Автор, заведите лучше отдельную тему по жизненному циклу :).
    1 балл
  30. он сказал "когда телефон в кармане". но перед этим сказал "программа запущена" т.е. в наличии 1) bluetooth 2) запущенное приложение при запуске приложение сообщает PUSH-TOKEN телефона на сервер далее просто мониторит маячки. заметив маяк, отправляет на сервер его ID. Сервер на присланный ID собирает рекламку и отправляет PUSH на PUSH-токен...
    1 балл
  31. Теперь мне понятно, что пуш присылает главный сервер, почитала документацию эмбаркадеро. Однако, как я поняла, это не подходит для компонента TBeacon. Вот приложение не запущено, вот вошёл человек в зону TBeacon, откуда об этом узнает главный сервер, чтобы послать пуш? Следовательно не подходит или не до конца поняла... Подумав пришла к выводу, что и отдельный фоновый сервис не возможно использовать с TBeacon. С этим компонентом сервис просто не запуститься. Моя программа, когда я её запускаею, напоминает мне включить блютуз если он не включён. Это действие компонента TBeacon. Следовательно фоновый сервис с компонентом TBeacon и не за пуститься если блютуз выключен. Одно не понятно, почему тут он говорит, что пуш приходит на спящий телефон, следовательно приложение не запущено. Как главный сервер может знать, что человек входит в зону? Может он приверает в своём видео?
    1 балл
  32. У большинства авторов просто не хватает источников и знаний в смежных областях, особенно в Android и IOS. Кроме того, каждые 6 месяцев то Delphi обновится, то Google и IOS консоли ) Не угнаться. Здесь все задают одни и те же вопросы до момента, когда выходит очередная Sarina и пишет, как надо было. Понимание не появляется, но копи-пейст работает )
    1 балл
  33. master webs

    IOS Push GCM/firebase

    добавил ссылку на github в первый пост, в нем есть исходники для delphi 10.1 berlin (10 должно все работать)
    1 балл
  34. master webs

    IOS Push GCM/firebase

    Добавил описание в первый топик прошу не судить строго нет таланта писать статьи )) лишь попытался объяснить немного принцип работы и выложил рабочий пример
    1 балл
  35. неее. это не пуш... это просто Notification. программа все время ловит маяки и делает notifications. Вместо программы может быть сервис НО если сервис будет все время включен, батарея у телефона не доживет до вечера. Будет жрать все время электричество как и положено Bluetooth
    1 балл
  36. Abdi Pranoto

    StatusBar Color

    i had analyzed your code, and its use Android API as well.... you're good....
    1 балл
  37. put into Content new TRectangle with align := MostBottom and color := claBlack OnResize: Content.Margins.Bottom := 0;
    1 балл
  38. Abdi Pranoto

    StatusBar Color

    very nice, but how to change the navbar color to default?
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...