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

Brovin Yaroslav

Администраторы
  • Постов

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

  • Посещение

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

    390

Ответы сообщества

  1. Пост Brovin Yaroslav - сообщение в Компонет TBecon и эмулятор был отмечен как ответ   
    Судя по скрину ошибка заключается в отсутствии Bluethooth адаптера на эмуляторе. Полагаю, что решение заключается в том, чтобы такой адаптер добавить в эмулятор, если это, конечно, возможно.
    Согласно теме на StackOverflow How to use Bluetooth in Android emulator? не удастся воспользоваться blueethooth адаптером в дефолтном эмуляторе.
  2. Пост Brovin Yaroslav - сообщение в Delphi Berlin iso установка проблема был отмечен как ответ   
    Решение данной проблемы
    Открыть редактор реестр: regedit Заменить значение ключа реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language\InstallLanguage с 0419 на 0409 Установить среду Восстановить значение ключа (2 пункт) с 0409 на 0419.  
  3. Пост Brovin Yaroslav - сообщение в Как подключаться к TCP серверу с помощью TSocket был отмечен как ответ   
    Значение поля Service позволяет автоматически выбрать порт для сервиса. (Возможные значения смотрите в файле C:\Windows\System32\drivers\etc\services). Значение поле Name (DNS имя) позволяет автоматически выбрать связанные с ресурсом IP адрес по имени узла. Например yandex.ru.  
  4. Пост Brovin Yaroslav - сообщение в Не удаляется массив динамически созданных компонентов. был отмечен как ответ   
    Как правильно удалять контролы в RunTime?
  5. Пост Brovin Yaroslav - сообщение в [TPopupBox] Как программно открыть PopupBox? был отмечен как ответ   
    Странно, что у компонента TPopupBox нету публичного метода для этого. Добавим. Однако, пока открыть можно только так:
    type TOpenPopupBox = class(TPopupBox); procedure TForm1.Button1Click(Sender: TObject); begin TOpenPopupBox(PopupBox1).DoPopup; end;  
  6. Пост Brovin Yaroslav - сообщение в [TTabControl] Как изменить скорость анимации SetActiveTabWithTransition? был отмечен как ответ   
    Такой возможности нету.
  7. Пост Brovin Yaroslav - сообщение в [TTabControl] Не корректно работают якоря akRight для компонентов в TTabControl? был отмечен как ответ   
    В новых версиях проблема с якорями решена и справлена.
    В старых версиях используйте свойство Align, вместо якорей Anchors.
  8. Пост Brovin Yaroslav - сообщение в [TTabControl] [ХЕ5] Как поменять настройка цвета текста вкладки? был отмечен как ответ   
    В старых версиях Delphi не было возможности вносить изменения в параметры шрифта вкладки, которые были указаны в стиле. Поэтому решалось это путем создания своего нового стиля на базе стиля по умолчанию.
    В последних версиях среды теперь есть, как во всех других текстовых контролах свойства TextSettings и StyledSettings.
    TextSettings - указывает кастомные настройки текста, отличные от настроек в стиле StyledSettings - указывает, какие именно настройки текста нужно брать из стиля, а какие из TextSettings.
  9. Пост Brovin Yaroslav - сообщение в [TTabControl] Как задать иконку у вкладки компонента TTabControl? был отмечен как ответ   
    Картинку можно указать двумя способами:
    Способ 1
    У каждой вкладки TTabControl есть свойство TTabItem.CustomIcon позволяющее загрузить картинку на вкладку.
    Способ 2. С использование TImageList
    Если картинки располагаются в TImageList компоненте, то нужно вначале привязать TImageList к TTabControl.Images. А затем выбрать индекс картинки у вкладки TTabItem.ImageIndex.
  10. Пост Brovin Yaroslav - сообщение в [TMemo] [TEdit] Как использовать прозрачный фон для нативных контролов под iOS? был отмечен как ответ   
    Добрый день,
    Для Windows нативные версии этих контролов не поддерживают прозрачность.
    Под Андроид нативных версий нету
    Для iOS платформы эти контролы позволяют указывать прозрачный фон. Для этого нужно принудительно прописать следующие значение стиля в StyleLookup:
    TEdit - transparentedit TMemo - transparentmemo При этом не смотря на то, что в дизайн тайме фон может остаться, в рантайме нативные контролы будут использовать прозрачный фон.
  11. Пост Brovin Yaroslav - сообщение в Глобальные тормоза сайта был отмечен как ответ   
    Доброй ночи,
     
    Мы с Андреем провели анализ проблемы. Причины были найдены и устранены. 
    Однако, не исключается возможность повторения проблемы. В случае возникновения, просьба всех отписаться в этой же ветке форума.
     
    Всем спасибо за бдительность
  12. Пост Brovin Yaroslav - сообщение в [TAniIndicator] Почему замораживается TAniIndicator при выполнении запроса к базе данных? был отмечен как ответ   
    Индикатор не будет крутиться, Так как вы блокируете основной поток своей работой с БД. Решение дано в теме:
    Фоновое выполнение операции без "замораживания" отрисовки
  13. Пост Brovin Yaroslav - сообщение в AlarmManager был отмечен как ответ   
    Ну раз так звезды совпали, то еще и мой вариант :-)
    Приложение будильник. Использование AlarmManager в FireMonkey на Андроиде
  14. Пост Brovin Yaroslav - сообщение в Получить уровень сигнала GSM/LTE был отмечен как ответ   
    Посмотрите исходник FMX.PhoneDialer.Android.pas в нем есть пример создания листенера 
  15. Пост Brovin Yaroslav - сообщение в Поменять цвет статус бара Delphi [XE7] - Android был отмечен как ответ   
    [Android] Как изменить цвет системного статус бара и разместить контролы под ним?  
  16. Пост Brovin Yaroslav - сообщение в Как сделать вывод текста в верхнем/нижнем регистре для отображения математической степени или индекса? был отмечен как ответ   
    Добрый день,

    Пока, к сожалению, нету поддержки стиля верхнего и нижнего регистров для текста. Поэтому вместо жонглирования TText, я бы сделал свой компонент. В нем достаточно будет только определить метод Paint для отрисовки текста. Дальше просто:
    TTextLayout используем для измерения размеров текста. Потом согласно расчетам, просто выводим в нужные позиции текст. Для вдохновения можно сделать по образу и подобию TText.

    Расчет размеров текста:
    ATextLayout.BeginUpdate; try ATextLayout.Text := Text; ATextLayout.WordWrap := False; ATextLayout.MaxSize := TSizeF.Create(1000, 1000); finally ATextLayout.EndUpdate; end; Result := ATextLayout.TextRect.Size; Вывод текста:
    либо так:
    AContext.Canvas.FillText(Bounds, Text, False, 1, [], TTextAlign.Leading); Либо через TTextLayout:
    ATextLayout.Render; Вам остается только добавить логику по вычислению позиции верхнего или нижнего регистра относительно основного текста.
  17. Пост Brovin Yaroslav - сообщение в [Android] TLabel и открытие URL был отмечен как ответ   
    В библиотеке FGX есть специальный компонент для этого TfgLinkedLabel. Так же смотрите ответы выше.
  18. Пост Brovin Yaroslav - сообщение в [TEdit] [Android] Можно ли изменить высоту TEdit? был отмечен как ответ   
    Добрый вечер,
    Посмотрите тему: Почему для некоторых контролов нельзя поменять высоту или ширину?  
  19. Пост Brovin Yaroslav - сообщение в Псевдонаследование стилей через StyleLookup был отмечен как ответ   
    Интересный пример. Ситуация заключается в том, что OnApplyStyleLookup вызывает до того, как загрузятся стили для объектов внутри стилей. То есть по факту в вашем примере получается, что вначале грузится
    Panel1 со стилем "panel1style" Вызывается OnApplyStyleLookup Грузится стиль "layout1style" Отрисовка формы Догружается вложенный стиль в panel1style StylesData корректно работает, если его вызывать гарантированно после загрузки всех объектов стиля. Например по нажатию на кнопку.
  20. Пост Brovin Yaroslav - сообщение в Как измененить Z-последовательность стилевых объектов в Style Designer? был отмечен как ответ   
    В новой версии Delphi Seattle (10) была добавлена возможность изменения порядка стилевых объектов через кнопки на панели инструментов в окне Structure:

    До этой версии такого функционала не было. Можно было изменить порядок:
    Либо изменив порядок объектов в текстовом представлении стиля. Для этого его нужно предварительно сохранить в файл. Либо играться со сменой родителей. Так как вновь добавленный объект, всегда встает в список дочерних последним.
  21. Пост Brovin Yaroslav - сообщение в [TStyleBook] [TStyleStreaming] Почему TStyleStreaming.SaveToStream не сохраняет полностью все стили на Android? был отмечен как ответ   
    На андроиде идет загрузка стилей по мере необходимости. Это значит, что пока стиль не использован хотя бы раз в платформе, то он не будет грузиться в память. Это сделано для ускорения запуска приложения на мобильных телефонах. Посколько большую часть времени занимает чтение всех стилей из ресурсов в память.
  22. Пост Brovin Yaroslav - сообщение в Ошибка ITMS-90179 Invalid Code Signing был отмечен как ответ   
    ITMS - 90179 Invalid Code Signing / ITMS - 90209 Invalid Segment Alignment
  23. Пост Brovin Yaroslav - сообщение в Перетаскивание отрезка был отмечен как ответ   
    В этой ветке я уже давал ответы на эти вопросы: http://fire-monkey.ru/forum/71-peremeschenie-kontrolov/
  24. Пост Brovin Yaroslav - сообщение в Объектная модель делегатов был отмечен как ответ   
    Все зависит от решаемых задач. 
    Но если мы говорим о хранилище значений, то такой вариант хорош. 
    Плюсы:
    Строгая типизация. Мы будем обращаться и работать со значением конкретного конечно типа без дополнительных приведений Минусы:
    Реализация дженериков порождает отдельный тип класса для каждого параметра шаблона. Поэтому количество памяти будет задействовано больше (если есть критерий по памяти). Например, если вы хотите хранить значения 10 типов, то вы получите на выходе 10 классов. С учетом того, что как-то так складывается, что в Delphi разработчики не особо заботятся о количестве потребляемой памяти, то этот вариант будет чаще использоваться.
     
    Другой вариант, использования RTTI для хранения значения с использованием TValue.
    TSimpleObject = class(TObject) constructor Create(wrappedPrimitive : TValue); property Value : TValue read SetValue; Плюсы:
    Один класс на все типы Недостатки:
    Требуется дополнительный код по проверки и приведению TValue к нужному типу.  Снижается скорость обращения. P.S. Был еще вариант с Variant, но я бы его назвал устаревшим, после появления TValue.
  25. Пост Brovin Yaroslav - сообщение в Объектная модель примитивов был отмечен как ответ   
    Добрый вечер,
     
    TLine- это компонент - контрол (TControl), который содержит:
    Свойства, описывающие характеристики рисуемой линии (цвет, толщина, способ заливки и тд) Код по установке этих параметров в Canvas и выполнению уже отрисовки самой линии при помощи функции Canvas.DrawLine. Canvas.DrawLine под Windows, при использовании DirectX, выполняет отрисовку примитива через IASetPrimitiveTopology. 
×
×
  • Создать...