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

Alex7wrt

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

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

  • Посещение

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

    31

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

  1. Like
    Alex7wrt отреагировална Brovin Yaroslav в Как узнать сколько пикселей в 1 см?   
    То же самое можно получить проще:
    uses System.Devices; TDeviceInfo.ThisDevice
  2. Like
    Alex7wrt отреагировална umkes в [TStringGridHeader] Как поменять высоту хедера?   
    Извините, уже сам разобрался.
    http://stackoverflow.com/questions/11433934/change-text-size-in-firemonkey-stringgrid
  3. Like
    Alex7wrt отреагировална estra в Как в программе определить физические размеры экрана устройства?   
    DPI для Android
      uses FMX.Helpers.Android, Androidapi.JNI.Util; procedure TForm1.Button1Click(Sender: TObject); var Disp: JDisplayMetrics; NativeClientHeight, NativeClientWidth: Single; begin Disp := GetJDisplayMetrics; NativeClientWidth := ClientWidth * Disp.density; NativeClientHeight := ClientHeight * Disp.density; //Label1.Text := 'Width: ' + FloatToStr(NativeClientWidth); //Label2.Text := 'Height: ' + FloatToStr(NativeClientHeight); Label1.Text := FloatToStr( Disp.xdpi ); Label2.Text := FloatToStr( Disp.ydpi ); Label3.Text := IntToStr( Disp.densityDpi ); end;   Для IOS облом, рассчитывай сам http://www.dpi.nu/, http://www.sven.de/dpi/, http://www.pxcalc.com/, http://www.pixelcalculator.com/ и т.п.
  4. Like
    Alex7wrt отреагировална AngryOwl в Использование OpenGL?   
    В итоге не совсем понятно - чего же Вы хотите добиться?
    Если перевести проект из VCL в Firemonkey, то посмотрите данную ссылочку (и соответственно)
     
    OpenGL?
    Если Вы используете в своем проекте, созданном под VCL, библиотеку OpenGL, то, думаю, будет немного сложнее...
    Если нет, то Вам ничего не нужно "делать". С Firemonkey Вам не нужно задумываться над тем - что и где используется. Потому-что создавая FMX проект, все происходит "автоматически". В смысле - под Windows Ваш проект сбилдится так, что будет работать с DirectX, под остальное - OpenGL. (в общем виде)
     
    Так-что либо уточните свой вопрос, либо более четко его сформулируйте. Иначе, не понятно, что Вы хотите узнать.
  5. Like
    Alex7wrt получил реакцию от Равиль Зарипов (ZuBy) в [Android] Подключение MediaPlayer с Android API   
    Разобрался. Нужно объявлять объект типа JMediaPlayer.
    var Player: JMediaPlayer; ......................... Player:=TJMediaPlayer.Create; Player.setDataSource(StringToJString('URL_MP3_ФАЙЛА')); Player.prepare; Player.Start()
  6. Like
    Alex7wrt отреагировална Brovin Yaroslav в [Aeronavigator] Три мобильных приложений для гражданской авиации на ОС Windows, Android, iOS.   
    Официальный сайт: http://aeronavigator.ru/index.php/ru/products Автор: Aeronavigator Ссылка на приложения: Google Play, App Store Подробное описание: aeronavigatorstory-ru.pdf  


  7. Like
    Alex7wrt отреагировална FreeOS в Число вершин TSphere   
    Хм, можно увеличить SubvisionsHeight в Object Inspector
  8. Like
    Alex7wrt получил реакцию от Brovin Yaroslav в Определение количества ядер процессора   
    Нашел ответ - TThread.ProcessorCount. 
  9. Like
    Alex7wrt получил реакцию от Kitty в Определение количества ядер процессора   
    Нашел ответ - TThread.ProcessorCount. 
  10. Like
    Alex7wrt отреагировална kami в Непрерывное обновление холста у формы   
    То же событие есть и у FMX.Application, тут ничего не поменялось.
    For example:
    procedure TMyForm.OnCreate(...)   Application.OnIdle:=myOnApplicationIdle;
  11. Like
    Alex7wrt отреагировална Brovin Yaroslav в Индивидуальные занятия по Skype   
    С весны 2015 года я ввожу, в качестве эксперимента, обучение по Skype.
     
    Стоимость 1 часа (60 минут):
    Для учащихся (школьники или студенты любых отделений): 1 000 р Для всех остальных: 1 200 р
  12. Like
    Alex7wrt отреагировална Brovin Yaroslav в Разработка настольной версии клиента для форума по FireMonkey с использованием FireMonkey   
    Приступил к разработке клиента с использованием FireMonkey для форума. В будущем код будет открытым и каждый сможет посмотреть, как реализованы те или иные вещи.
    А пока пара скриншотов:

  13. Like
    Alex7wrt отреагировална Belov.V. в Ошибка после закрытия приложения Android   
    MainActivity.finish; или SharedActivity.finish;
     
    Вот тут обсуждали: http://fire-monkey.ru/topic/1121-problema-pri-vykhode-iz-programmy/?p=5189
  14. Like
    Alex7wrt получил реакцию от Kitty в [Отклонение] ListView1 не отображает данные при старте   
    Здравствуйте.
     
    Если не касаться вопроса глюков самой XE8, то я бы посоветовал попробовать в событии OnResize формы вызывать метод ListView1.Repaint.
     
    P.S. У меня в XE8 тоже глюки, правда другого плана. 
  15. Like
    Alex7wrt отреагировална Andrey Efimov в [Отклонение] ListView1 не отображает данные при старте   
    Замечал подобное в Листбоксе (в XE7 работало нормально, в XE8 всё сломалось), спасался вроде методом "repaint" (нет под рукой проекта, посмотреть)
  16. Like
    Alex7wrt отреагировална Brovin Yaroslav в Как закрыть форму на мобильной платформе?   
    Чтобы закрыть форму с выгрузкой ее из памяти, нужно сделать следующее:
    Повесить обработчик на событие формы TForm.OnClose. Установить переданные параметр Action в TCloseAction.caFree procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := TCloseAction.caFree; end; Doc Wiki: Releasing Forms in iOS Apps
  17. Like
    Alex7wrt получил реакцию от AngryOwl в [Android] Отслеживание сворачивания приложения   
    Добрый день.
    Andrey Yefimov в своем блоге подробно описал получение событий жизненного цикла приложения, в том числе и потерю активности.
    http://delphifmandroid.blogspot.com/2013/10/blog-post.html
    function TForm1.HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean; begin case AAppEvent of TApplicationEvent.BecameActive: Log('Became Active'); TApplicationEvent.EnteredBackground: Log('Entered Background'); TApplicationEvent.WillBecomeForeground: Log('Will Become Foreground'); end; Result := True; end; procedure TForm1.FormCreate(Sender: TObject); var aFMXApplicationEventService: iFMXApplicationEventService; begin ............ if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(aFMXApplicationEventService)) then aFMXApplicationEventService.SetApplicationEventHandler(HandleAppEvent); ............ end;
  18. Like
    Alex7wrt отреагировална Andrey Efimov в Кодировки языков в Android   
    Вы хоть справку читайте...
    Если требуется использование сервиса, то об этом явно указывается в справке, в противном случае вы можете обращаться к классу напрямую.
     
    Вот что я упустил вчера в исходниках:
    Полученное значение специально обрезается до 2-х симоволов.
     
    Исходный код:
    function TPlatformAndroid.GetCurrentLangID: string; var   Locale: JLocale; begin   Locale := TJLocale.JavaClass.getDefault;   Result := JStringToString(Locale.getISO3Language);   if Length(Result) > 2 then     Delete(Result, 3, MaxInt); end; По аналогии используйте другие методы, а также можете удалить строчки, которые удаляют всё после второго символа.
  19. Like
    Alex7wrt отреагировална Belov.V. в Кодировки языков в Android   
    Еще под андроид вот это можно использовать:
     
    System.SysUtils.SysLocale.DefaultLCID  // для Рус=ru_RU
  20. Like
    Alex7wrt отреагировална Andrey Efimov в транслировать изображение экрана Андроид-смартфона   
    Можно использовать App Tethering. В демках студии есть готовый пример: C:\Users\Public\Documents\Embarcadero\Studio\16.0\Samples\Object Pascal\RTL\Tethering\DesktopCast
     
    Подробности по использованию App Tethering можно почитать в справке(на англ. Using App Tethering), либо у меня в блоге (на русском):
    App Tethering #1: Поиск и подключение к удалённым приложениям App Tethering #2: Используем удалённые действия (Actions) App Tethering #3: Передача и получение данных
  21. Like
    Alex7wrt отреагировална Andrey Efimov в Кодировки языков в Android   
    Вы уверены, что вам возвращаются коды именно языков?
    SP и PO - это коды стран, по стандарту FIPS 10-4, полный список вы найдёте тут List of FIPS country codes
    Сводная таблица с кодами языков по различным стандартам Коды языков
     
    АП.1 Справка FMX.Platform.IFMXLocaleService.GetCurrentLangID. Я не уверен до конца, но похоже этот метод возвращает значение именно по стандарту FIPS 10-4.
     
    АП.2 (23:28) Смотрю исходники...
     
    АП.3 (23:30) В исходниках используется метод getISO3Language, а значит значение должно быть по стандарту ISO 639-2/T, в этом стандарте все значения трёх символьные, так что получение "sp и po" как минимум странно... Надо дальше копать...
     
    АП.4 Единственный совет, пока попробуйте использовать другие методы класса Locale
  22. Like
    Alex7wrt получил реакцию от Brovin Yaroslav в [Android] Подключение MediaPlayer с Android API   
    Разобрался. Нужно объявлять объект типа JMediaPlayer.
    var Player: JMediaPlayer; ......................... Player:=TJMediaPlayer.Create; Player.setDataSource(StringToJString('URL_MP3_ФАЙЛА')); Player.prepare; Player.Start()
  23. Like
    Alex7wrt отреагировална Равиль Зарипов (ZuBy) в Генерация звука заданной частоты   
    Bass отлично работает на андроиде, у меня если клиент на этой библиотеке.
    На офф сайте есть тема для delphi xe
  24. Like
    Alex7wrt получил реакцию от Равиль Зарипов (ZuBy) в Определение положение ползунка громкости   
    Отличный код! Большое спасибо.
    Добавил еще определение максимального уровня громкости getStreamMaxVolume из AndroidApi, так как в разных версиях андроида может отличаться количество градаций громкости.
     
    Итого в событии формы обработки нажатий клавиш, определение уровня громкости для медиаплеера, которая лежит в диапазоне от 0 до 1, определяется так:
    uses Androidapi.JNI.JavaTypes, Androidapi.JNI.Media, Androidapi.Helpers, Androidapi.JNI.App, Androidapi.JNIBridge; Var MediaPlayer_Volume: single; procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); var AudioObj: JObject; Audio: JAudioManager; begin if (key = vkVolumeDown) or (key = vkVolumeUp) then begin AudioObj:= SharedActivity.getSystemService(TJActivity.JavaClass.AUDIO_SERVICE); Audio:= TJAudioManager.Wrap((AudioObj as ILocalObject).GetObjectID); MediaPlayer_Volume:=Audio.getStreamVolume(TJAudioManager.JavaClass.STREAM_MUSIC)/Audio.getStreamMaxVolume(TJAudioManager.JavaClass.STREAM_MUSIC); end; end;
  25. Like
    Alex7wrt отреагировална Andrey Efimov в Определение положение ползунка громкости   
    Где-то был материал...
    У меня в блоге есть вот такие статьи: 
    Как создавать обёртки для JAVA-кода Как подключить и использовать свой JAVA-класс Страничка с готовым кодом: JNI Code Snippet и ещё куча примеров использования Android API в самих статьях  
    Кстати, это не вы случаем задали вопрос "Здравствуйте. А есть ли возможность определить текущее положение ползунка громкости?" в блоге?
     
    Примерный код:
    uses   Androidapi.JNI.JavaTypes,   Androidapi.JNI.Media,   Androidapi.Helpers,   Androidapi.JNI.App,   Androidapi.JNIBridge; procedure TForm1.Button1Click(Sender: TObject); var   AudioObj: JObject;   Audio: JAudioManager;   CurrentVolume: Integer; begin   AudioObj = SharedActivity.getSystemService(TJActivity.JavaClass.AUDIO_SERVICE);   Audio := TJAudioManager.Wrap((AudioObj as ILocalObject).GetObjectID);   CurrentVolume = Audio.getStreamVolume(TJAudioManager.JavaClass.STREAM_MUSIC); end;
×
×
  • Создать...