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

Rusland

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

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

  • Посещение

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

    26

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

  1. Like
    Rusland отреагировална Fedor K в Как правильно обрабатывать параметры запуска приложения в iOS и Android и открывать нужную форму?   
    Для Android достаточно в приложении "Дочка" обработать стартовый Intent:
    uses System.StartUpCopy, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText; ... var Intent: JIntent; lStartIndex : Integer = -1; begin Application.Initialize; Intent := TAndroidHelper.Activity.getIntent; if (Intent <> nil) and (Intent.getExtras <> nil) and Intent.getExtras.containsKey(StringToJString('START_FORM')) then begin lStartIndex := Intent.getExtras.getInt(StringToJString('START_FORM')); end; //создание нужной формы в зависимости от lStartIndex Для мобильных платформ я бы советовал использовать TFrame, вместо TForm, оперирую лишь одной главной формой. Много форм оставьте для VCL.
  2. Like
    Rusland отреагировална Brovin Yaroslav в [RX] [FGX] Описание версии 0.7.1.118   
    Ссылка на скачивание (Только для RAD Studio Berlin?fgx_0.7.1.118.zip Инструкция по установке: "Инструкция по установке набора компонентов FGX" Описание
    Эта версия включает в себя следующий набор компонентов:
    Дизайнер итемов - дизайнер итемов. TfgToast (UPDATED) - класс отображения быстрых сообщений TfgFlipView - слайдер изображений. Поддерживает несколько способов переключения фотографий при помощи эффектов и сдвигов. При первом использовании ОБЯЗАТЕЛЬНО прочитать инструкцию "TfgFlipView - Инструкция загрузки стиля" TfgPositionAnimation - анимация свойств типа TPosition TfgPosition3DAnimation - анимация свойств типа TPosition3D  TfgBitmapLinkAnimation - анимация свойств типа TBitmapLink  TfgProgressDialog (UPDATED) - Компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения фоновой операции можно оценить. TfgActivityDialog (UPDATED) - компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения операции не возможно адекватно оценить. TfgActionSheet (UPDATED) - Аналог контекстного меню для мобильных платформ. TfgColorsPanel - Палитра цветов с возможностью выбора цвета. TfgGradientEdit (UPDATED) - Компонент выбора градиента. TfgLinkedLabel  - Метка поддерживающая открытие Web ссылки в браузере по умолчанию. TfgApplicationEvents - компонент с возможностью легко задать обработчики на основные события приложения: Отслеживание смены состояния приложения, простой, обновление и выполнение действий Actions, Изменение ориентации устройства и тд. TfgVirtualKeyboard - компонент облегчающий работу с виртуальной клавиатурой. Позволяет задать пользовательские кнопки над виртуальной клавиатурой под iOS, а так же отлавливать события по отображению и скрытию клавиатуры. (UPDATED) Зарегистрированы все стилевые объекты на вкладке "FGX: Style objects" Список изменений
    TfgActionSheet: Добавлен новый вариант темы Theme = Custom и свойство ThemeID, позволяющий для андроида указать идентификатор своей темы диалога. Теперь доступна возможность создать свой вариант диалога для андроида. Изменен порядо срабатывания событий OnCancel, OnHide в реализации на iOS. Раньше срабатывали OnHide -> OnCancel, Теперь: OnCancel -> OnHide Обновлен пример Общие улучшения в читабельности кода TfgProgressDialog, TfgActivityDialog: Добавлен новый вариант темы Theme = Custom и свойство ThemeID, позволяющий для андроида указать идентификатор своей темы диалога. Обновлен пример Общие улучшения в читабельности кода TfgGradientEdit: Добавлено событие OnPointRemoved, срабатывающее, когда точка удалена из градиента. Обновлен пример TfgToast: Исправлена ошибка на iOS, приводящая к AV при многочисленном отображении тостов. (Спасибо Сергею Пьянкову за найденную ошибку) Регистрация стилевых объектов: Теперь регистрируются только те объекты, которые не добавлены в палитру.
  3. Like
    Rusland отреагировална Astghik в Как программно обновить и запустить другое приложение (Андроид)?   
    _di_JIntent newIntent = TJIntent::Create();
        newIntent->setAction(TJIntent::JavaClass->ACTION_VIEW);
        _di_JMimeTypeMap mime = TJMimeTypeMap::JavaClass->getSingleton();
        _di_JString ExtToMime = mime->getMimeTypeFromExtension(StringToJString(L"apk"));
        String pth = System::Ioutils::TPath::GetPublicPath() + L"/app.apk";   // path app.apk
        _di_JFile my_file = TJFile::JavaClass->init(StringToJString(pth));
        _di_Jnet_Uri uri = TJnet_Uri::JavaClass->fromFile(my_file);
        newIntent->setDataAndType(uri,ExtToMime);
        int my_flag = TJIntent::JavaClass->FLAG_ACTIVITY_NEW_TASK;
        newIntent->setFlags(flag);
        SharedActivity()->startActivity(newIntent);
  4. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в No mapping for the Unicode character exists in the target multi-byte code page   
    Используйте TEncoding.UTF8
    Memo1.Lines.LoadFromFile(TPath.Combine(TPath.GetDocumentsPath, 'my.html'), TEncoding.UTF8); Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetDocumentsPath, 'temp.html'), TEncoding.UTF8);  
  5. Like
    Rusland отреагировална Fedor K в TNotificationCenter. Можно ли изменить иконку?   
    Иконка изменится внутри приложения в рамах текущего контекста до ее завершения. С других приложений и в системе ничего не поменяется (см. прикрепление).
    Чтобы не влиять на другой функционал, достаточно сделать следующее:
    //запоминаем ид по умолчанию lDefaultId := TAndroidHelper.Context.getApplicationInfo.icon; //устанавливаем нашу кастомную иконку TAndroidHelper.Context.getApplicationInfo.icon := lId; //создаем локальное уведомление NotificationCenter.PresentNotification(lNotification); //возвращаем обратно TAndroidHelper.Context.getApplicationInfo.icon := lDefaultId; п.с. Если такой вариант не устраивает, всегда можно написать class helper for TBaseNotificationCenter и использовать классы JNotificationCompat_Builder, JNotificationManager, JNotification. Справка из developer.android.com.

  6. Like
    Rusland отреагировална Fedor K в NOTIFICATION_SERVICE перестает работать с андроид 5.0   
    Необходимо использовать 
    TJContext.JavaClass.NOTIFICATION_SERVICE вместо
    TJActivity.JavaClass.NOTIFICATION_SERVICE Для получения менеджера лучше использовать контекст (данный код работает на версии 4.4 и 5+):
    function GetNotificationService: JNotificationManager; var NotificationServiceNative: JObject; begin NotificationServiceNative := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.NOTIFICATION_SERVICE); Result := TJNotificationManager.Wrap((NotificationServiceNative as ILocalObject).GetObjectID); end;  
  7. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Как Вы используете RAD Studio   
    когда-то тоже баловался делфи для себя, теперь хобби превратилось в работу.
  8. Like
    Rusland отреагировална sinuke в Как Вы используете RAD Studio   
    познакомился с Delphi еще будучи школьником в 2005 году (до того момента вполне неплохо для своего возраста, считаю, баловался Turbo Pascal 7 под DOS - даже штук пять игр написал простеньких). Некоторое время баловался и забросил. Вот буквально с месяц назад снова "достал из закрамов" свой багаж знаний и написал небольшое и не сильно сложное приложение на FMX (первый опыт). Так что пока только хобби, но что-то меня начинает снова затягивать... =)
  9. Like
    Rusland отреагировална dnekrasov в Как Вы используете RAD Studio   
    Пишу на Delphi с ноября 1995 года (Delphi 1 под Win 3.11). До этого использовал TurboPascal и TurboC (еще с 1989 года), но как только увидел Delphi - то сразу влюбился в эту среду разработки. В последствии приходилось писать на С++, С#, PowerBuilder, но всегда возвращался на Delphi и каждый раз вздыхал с облегчением
    Однако в 2009-м уже серьёзно начал склоняться в сторону Java, но с появлением FireMonkey в очередной раз с радостью вздохнул и Delphi стала опять моей основной IDE. Теперь RAD Studio удовлетворяет все мои потребности в плане программирования и больше ни на какой другой язык я даже не смотрю.
  10. Like
    Rusland отреагировална d7d1cd в Как Вы используете RAD Studio   
    Пишу на C++Builder специализированные приложения для себя и продажи. Одна из первых программ работает у меня с 2013 года.
  11. Like
    Rusland отреагировална Кривяков Виталий в TUITabControl   
    Используйте на здоровье, я не против, но претензии не принимаю .
  12. Like
    Rusland отреагировална krapotkin в С днем рождения!   
    Поздравляем Ярослава с Днем рождения!
    Благодарим за титанические усилия, которые он по собственной инициативе, не "благодаря", а скорее "вопреки", прилагает для развития нашего сообщества.
    Желаем не только профессионального благополучия, но и личного счастья!
    Ура, товарищи!

  13. Like
    Rusland отреагировална Brovin Yaroslav в Образовательная программа Embarcadero   
    Компания Embarcadero начинает новую образовательную программу. Целью  программы является предоставление бесплатного доступа к средствам разработки RAD Studio, Delphi, C++Builder  для государственных школ и университетов.
    В рамках программы школа или университет может получить:
    до 15 лицензий RAD Studio Pro для использования в учебном классе с подпиской на обновления.  Срок действия - один год. Тип лицензии - Concurrent. до 100 лицензий RAD Studio Pro для студентов/школьников для использования дома для выполнения домашних заданий. Тип лицензий - Workstation. Срок действия - 9 месяцев. Подписка на обновления также включена. Условия продления лицензий и подписки будут определены позднее.
    Лицензии в данной программе образовательные. Они позволяют использовать продукты только в целях обучения программированию. Любая разработка, в том числе коммерческая, некоммерческая, научная или выполнение внутренних разработок по автоматизации школы/университета с помощью этих лицензий запрещена.
    Для участия в программе образовательное учреждение должно заполнить форму, подготовить письмо об образовательном использовании   и оправить ее в Embarcadero. Для участия в программе требуется прохождение минимальной квалификации и одобрения заявки со стороны компании Embracdero. Также для участия в программе образовательное учреждение обязуется разместить на своем сайте лого Образовательного партнера Embarcadero. Образец лого будет предоставлен позднее.
    Образовательный прайс-лист сохраняет свое действие. Если учебному заведению нужны постоянные лицензии, большее число лицензий или лицензии другого типа или на другую редакцию продукта, а также если заказчик не попадает в категории "государственная школа" или "государственный  университет", то он может воспользоваться действующим прайс-листом.
    Вложения:
    EDU_Licence_EMBT_Programm 2016.doc
    Embarcadero Academic Program Release 8-24-16 RU.DOCX
    RU Academic License Order Form 070916 .xlsx
  14. Like
    Rusland отреагировална AngryOwl в Как запустить приложение на планшете с Windows10 ?   
    Установить PAServer на удаленной машине (ПК/планшет) и все.
    Как сделать тут и тут. И вообще много в сети примеров, в том числе и на этом форуме где-то было.
  15. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Неполучается получить элемент из JSON   
    memo2.Lines.Add( xResp.O['Response'].I['count'].ToString );  
  16. Like
    Rusland отреагировална Просто Проги в Неполучается получить элемент из JSON   
    фигасе XSuperObject,  это классно и кода меньше только не совсем понятно что в этой строке происходит
    xItems := xResp.O['Response'].A['Items']; xItems это типа объект весь json xResp.о это респонсе потом идет сразу a итемс а как до count достучаться ? так что ли xItems := xResp.O['Response'].A['count']; и почему o и a вообще просто первый раз с такой штуко работаю) "response": { "count": 104, "items": [
  17. Like
    Rusland отреагировална Равиль Зарипов (ZuBy) в Помогите разобраться с потоком   
    нужно делать вот так:
    1) использовать компоненты Ярослава
    2) анимацию запускаем до потока (в котором выполняются разного рода запросы), по завершению операции в !синхронизации! выключаем анимацию
  18. Like
    Rusland отреагировална chaplin.u@gmail.com в баг в компоненте TBluetoothLE   
    Вот в файле Winapi.BluetoothLE.pas написано что минимум 23 а максимум 525 байт 
     
    { MTU }
      BTHLEENUM_ATT_MTU_MIN = 23; 
      {$EXTERNALSYM BTHLEENUM_ATT_MTU_MIN}
      BTHLEENUM_ATT_MTU_MAX = $FFFF;
      {$EXTERNALSYM BTHLEENUM_ATT_MTU_MAX}
      BTHLEENUM_ATT_MTU_DEFAULT = BTHLEENUM_ATT_MTU_MIN; 
      {$EXTERNALSYM BTHLEENUM_ATT_MTU_DEFAULT}
      BTHLEENUM_ATT_MTU_INITIAL_NEGOTIATION = 525; 
      {$EXTERNALSYM BTHLEENUM_ATT_MTU_INITIAL_NEGOTIATION
    кто-то знает где копать ?
  19. Like
    Rusland отреагировална Pax Beach в TBeacon. CASE: Использование маячков для контроля расхода электроэнергии   
    Для расчета расстояния мы работаем с событием onCalculateDistances. Параметр var NewDistance: Double.
    Выдается некое абстрактное дробное число, которое опытным путем можно перевести в метры.
    Сейчас разбираемся с BeaconFence, скачал из GetIt PM, есть желание визуализировать местонахождение маячков, по типу локатора.
     
    UPD:
    Расчет расстояния получаем по такой формуле: пруфлинк1, пруфлинк2, пруфлинк3, пруфлинк4.
    function TfmMain.GetDistance(const ATxPower, ARssi: Integer): Double; begin if ARssi = 0 then Result := -1; // Невозможно определить расстояние if (ARssi / ATxPower < 1) then Result := power(ARssi / ATxPower, 10) else Result := 0.89976 * power(ARssi / ATxPower, 7.7095) + 0.111; end;  
  20. Like
    Rusland получил реакцию от Kitty в Вылетает приложение для Андроид   
    Вчера вляпался в ту же проблему. Дома обновил SDK до версии 24 (до этого был 22, но почему-то какой-то неполноценный, многих папок не хватало), и на телефоне с Андроид 5.1 перестала запускаться тестовая программа. Закомментировал System.StartUpCopy и программа запустилась. 
     
    PS. Berlin
  21. Like
    Rusland получил реакцию от Kitty в Андроид-фейсбук-вконтакте   
    http://www.webdelphi.ru/2014/05/rest-client-library-ispolzovanie-api-vkontakte/
    http://www.webdelphi.ru/2014/08/rest-client-library-ispolzovanie-api-vkontakte-2/
  22. Like
    Rusland отреагировална AngryOwl в Мультиязычность в андроиде   
    Как обещал - приложение для создания, редактирования, автоматического перевода и сохранения Ini-файлов с переводами для локализации своих приложений. Для примера есть два файлики (Lang.en и Lang.ru) и другие файлы, содержание которых всем будет понятно)
    Все, вроде, просто)
    P.S. Все желающие могут использовать как хотят. Можете что-то добавлять, исправлять и т.д. Ну и не забываем делиться с другими...))
    P.P.S. - делалось уже давно, под XE7. Кто захочет под XE10 - думаю все будет крайне просто переделать.
    SLLanguage.zip
  23. Like
    Rusland отреагировална AngryOwl в Мультиязычность в андроиде   
    В общем я тупо вырезал часть из своего проекта. И создал маленький демо-проект.
    Работает везде!
    Хоть на Винде, хоть на Маке, хоть на Андроиде.
    Думаю - разберетесь. Тем-более, что там все очень просто.
    В демке сделал только два языка (в моем проекте их 11).
    Все в Ini-файлах, работает очень быстро.
    P.S. Все желающие могут использовать как хотят. Можете что-то добавлять, исправлять и т.д. Ну и не забываем делиться с другими...
    P.P.S. Позже выложу приложение (GUI) для редактирования файлов языков. С автоматическим переводчиком и прочими мелочами, упрощающими редактирование.
    Test_Translator.zip
  24. Like
    Rusland получил реакцию от Pax Beach в Андроид-фейсбук-вконтакте   
    http://www.webdelphi.ru/2014/05/rest-client-library-ispolzovanie-api-vkontakte/
    http://www.webdelphi.ru/2014/08/rest-client-library-ispolzovanie-api-vkontakte-2/
  25. Like
    Rusland получил реакцию от AngryOwl в А как хочется что бы Delphi опять стал «Первым в мире».   
    Первым не был, но был очень популярен во времена Delphi 7... сколько форумов тогда было, сколько тем. Потом все как-то стало грустно на несколько лет, до появления Firemonkey, когда студия снова заинтересовала.
    А насчет цен - сильно дорого ИМХО, но тут уж ничего не поделать, кто разрабатывает такой мощный инструмент, тот и устанавливает цену (спасибо хоть акции подобно этой устраивают, когда Стартер бесплатно раздают, а потом предлагают Pro+Mobile со скидкой)
×
×
  • Создать...