Alex7wrt
-
Постов
508 -
Зарегистрирован
-
Посещение
-
Победитель дней
31
Активность репутации
-
Alex7wrt отреагировална Brovin Yaroslav в Как узнать сколько пикселей в 1 см?
То же самое можно получить проще:
uses System.Devices; TDeviceInfo.ThisDevice -
Alex7wrt отреагировална umkes в [TStringGridHeader] Как поменять высоту хедера?
Извините, уже сам разобрался.
http://stackoverflow.com/questions/11433934/change-text-size-in-firemonkey-stringgrid
-
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/ и т.п. -
Alex7wrt отреагировална AngryOwl в Использование OpenGL?
В итоге не совсем понятно - чего же Вы хотите добиться?
Если перевести проект из VCL в Firemonkey, то посмотрите данную ссылочку (и соответственно)
OpenGL?
Если Вы используете в своем проекте, созданном под VCL, библиотеку OpenGL, то, думаю, будет немного сложнее...
Если нет, то Вам ничего не нужно "делать". С Firemonkey Вам не нужно задумываться над тем - что и где используется. Потому-что создавая FMX проект, все происходит "автоматически". В смысле - под Windows Ваш проект сбилдится так, что будет работать с DirectX, под остальное - OpenGL. (в общем виде)
Так-что либо уточните свой вопрос, либо более четко его сформулируйте. Иначе, не понятно, что Вы хотите узнать.
-
Alex7wrt получил реакцию от Равиль Зарипов (ZuBy) в [Android] Подключение MediaPlayer с Android API
Разобрался. Нужно объявлять объект типа JMediaPlayer.
var Player: JMediaPlayer; ......................... Player:=TJMediaPlayer.Create; Player.setDataSource(StringToJString('URL_MP3_ФАЙЛА')); Player.prepare; Player.Start() -
Alex7wrt отреагировална Brovin Yaroslav в [Aeronavigator] Три мобильных приложений для гражданской авиации на ОС Windows, Android, iOS.
Официальный сайт: http://aeronavigator.ru/index.php/ru/products Автор: Aeronavigator Ссылка на приложения: Google Play, App Store Подробное описание: aeronavigatorstory-ru.pdf
-
Alex7wrt отреагировална FreeOS в Число вершин TSphere
Хм, можно увеличить SubvisionsHeight в Object Inspector
-
Alex7wrt получил реакцию от Brovin Yaroslav в Определение количества ядер процессора
Нашел ответ - TThread.ProcessorCount.
-
Alex7wrt получил реакцию от Kitty в Определение количества ядер процессора
Нашел ответ - TThread.ProcessorCount.
-
Alex7wrt отреагировална kami в Непрерывное обновление холста у формы
То же событие есть и у FMX.Application, тут ничего не поменялось.
For example:
procedure TMyForm.OnCreate(...) Application.OnIdle:=myOnApplicationIdle; -
Alex7wrt отреагировална Brovin Yaroslav в Индивидуальные занятия по Skype
С весны 2015 года я ввожу, в качестве эксперимента, обучение по Skype.
Стоимость 1 часа (60 минут):
Для учащихся (школьники или студенты любых отделений): 1 000 р Для всех остальных: 1 200 р -
Alex7wrt отреагировална Brovin Yaroslav в Разработка настольной версии клиента для форума по FireMonkey с использованием FireMonkey
Приступил к разработке клиента с использованием FireMonkey для форума. В будущем код будет открытым и каждый сможет посмотреть, как реализованы те или иные вещи.
А пока пара скриншотов:
-
Alex7wrt отреагировална Belov.V. в Ошибка после закрытия приложения Android
MainActivity.finish; или SharedActivity.finish;
Вот тут обсуждали: http://fire-monkey.ru/topic/1121-problema-pri-vykhode-iz-programmy/?p=5189
-
Alex7wrt получил реакцию от Kitty в [Отклонение] ListView1 не отображает данные при старте
Здравствуйте.
Если не касаться вопроса глюков самой XE8, то я бы посоветовал попробовать в событии OnResize формы вызывать метод ListView1.Repaint.
P.S. У меня в XE8 тоже глюки, правда другого плана.
-
Alex7wrt отреагировална Andrey Efimov в [Отклонение] ListView1 не отображает данные при старте
Замечал подобное в Листбоксе (в XE7 работало нормально, в XE8 всё сломалось), спасался вроде методом "repaint" (нет под рукой проекта, посмотреть)
-
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
-
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; -
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; По аналогии используйте другие методы, а также можете удалить строчки, которые удаляют всё после второго символа.
-
Alex7wrt отреагировална Belov.V. в Кодировки языков в Android
Еще под андроид вот это можно использовать:
System.SysUtils.SysLocale.DefaultLCID // для Рус=ru_RU
-
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: Передача и получение данных -
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
-
Alex7wrt получил реакцию от Brovin Yaroslav в [Android] Подключение MediaPlayer с Android API
Разобрался. Нужно объявлять объект типа JMediaPlayer.
var Player: JMediaPlayer; ......................... Player:=TJMediaPlayer.Create; Player.setDataSource(StringToJString('URL_MP3_ФАЙЛА')); Player.prepare; Player.Start() -
Alex7wrt отреагировална Равиль Зарипов (ZuBy) в Генерация звука заданной частоты
Bass отлично работает на андроиде, у меня если клиент на этой библиотеке.
На офф сайте есть тема для delphi xe
-
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; -
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;