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

Лидеры

  1. zairkz

    zairkz

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


    • Баллы

      6

    • Постов

      135


  2. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      5

    • Постов

      2 124


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

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

    Модераторы


    • Баллы

      5

    • Постов

      2 517


  4. enatechno

    enatechno

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


    • Баллы

      3

    • Постов

      181


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

Показан контент с высокой репутацией 08.02.2016 в Сообщения

  1. http://community.embarcadero.com/article/news/16211-embarcadero-rad-studio-2016-product-approach-and-roadmap-2
    4 балла
  2. Как то так Left := screen.Displays[1].BoundsRect.Left;
    3 балла
  3. Первое что пришло в голову в виде "бреда", точнее так уже сделали)) Но не знаю насколько вам подойдет такое решение. У нас есть сервер базы данных, на сервере понятно есть все данные необходимые для печати, принтер настроен на сервере, на сервере есть служба которая мониторит базу (таблицу) в которой если появилась новая команда для печати тогда служба формирует документ из данных базы с использованием FastReport, и кидает на принтер по умолчанию для печати. Сервер (а точнее комп Pentium DualCore, 2 gb RAM) на котором MySQL, Windows (хотя FastReport есть и для Linux (beta)) работает автономно уже 8-й месяц, и за это время не прикоснулись к нему ни разу (даже если честно очень странно)
    3 балла
  4. community.embarcadero.com/article/news/16211-embarcadero-rad-studio-2016-product-approach-and-roadmap-2
    2 балла
  5. У нас тоже печать через базу данных. Отличие от описанного варианта только в том что база удаленная, а служба печати может быть установлена на любом клиентском компе с Windows, с которого и идет печать на любой принтер доступный с этого клиентского компа. При этом на клиенте служба может быть настроена для выбора только определенных заданий печати (например задания только определенного отдела или задания отправленные только с определенных терминалов).
    2 балла
  6. HyperZen

    TMultiView и TListBox

    Нашел косяк (если это косяк - может быть это нормальное поведение): в режиме Drawer работает и выделение итема снимается, в режиме Popover выделение не снимается вообще никак.
    2 балла
  7. Способов много, попробуйте например через ActionList, откройте пример на TabControl Запустите студию -> Open Sample Project -> Samples\Object Pascal\Mobile Snippets\TabSliding и посмотрите вебинары от Embarcadero https://www.youtube.com/channel/UCtqzKKPLL1uoI7yyCBmKP1w/videos еще ведь есть компонент от Ярослава в составе FGX TfgFlipView - слайдер изображений
    2 балла
  8. Тема оказалась настолько интересна что занялся ей подробней. Мы с zairkz убили много времени, чтобы понять как выкрасить в один цвет без полупрозрачности, взяв скриншот и фотошоп определили, что затемнение происходит на 40% Решение родилось само собой, затемнить цвет ToolBar'a на 40% и цвет выровняется. Казалось бы можно осветлить цвет для подложки и цвет тоже выровнится, но например белый или светлые цвета нельзя еще осветлить. также написал процедуру для определения высоты статус бара и панели навигации procedure androidGetBounds(out statusBar, navigationBar: Integer); {$IFDEF ANDROID} var KeyCharacterMap: JKeyCharacterMap; resourceID: Integer; ScreenService: IFMXScreenService; sScale: Single; {$ENDIF} begin navigationBar := 0; statusBar := 0; {$IFDEF ANDROID} if TOSVersion.Check(5, 0) then // вроде только работает с 5.0 ниже нет устройства проверить begin sScale := 1; if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then sScale := ScreenService.GetScreenScale; //получаем скейл resourceID := TAndroidHelper.Activity.getResources.getIdentifier(StringToJString('status_bar_height'), StringToJString('dimen'), StringToJString('android')); if resourceID > 0 then statusBar := Trunc(TAndroidHelper.Activity.getResources.getDimensionPixelSize(resourceID) / sScale); if not TJKeyCharacterMap.JavaClass.deviceHasKey(TJKeyEvent.JavaClass.KEYCODE_BACK) then // проверка на существование наэкранных кнопок или физических begin resourceID := TAndroidHelper.Activity.getResources.getIdentifier(StringToJString('navigation_bar_height'), StringToJString('dimen'), StringToJString('android')); if resourceID > 0 then navigationBar := Trunc(TAndroidHelper.Activity.getResources.getDimensionPixelSize(resourceID) / sScale); end; end; {$ENDIF} end; и в модуле FMX.Platform.Android нужно изменения внести (если вы используете измененный модуль для Intel'а) // Fix by Flying Wang & CallInUIThread( procedure begin if (not PlatformAndroid.GetFullScreen(nil)) and (SharedActivity.getWindow.getAttributes.Flags and TJWindowManager_LayoutParams.JavaClass.FLAG_FULLSCREEN <> TJWindowManager_LayoutParams.JavaClass.FLAG_FULLSCREEN) and (SharedActivity.getWindow.getAttributes.Flags and TJWindowManager_LayoutParams.JavaClass.FLAG_TRANSLUCENT_STATUS <> TJWindowManager_LayoutParams.JavaClass.FLAG_TRANSLUCENT_STATUS) // fix by ZuBy ... SystemBar.zip
    2 балла
  9. Неплохо! http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
    1 балл
  10. Нашел решение в другой теме. http://fire-monkey.ru/topic/504-neskolko-okon-prilozheniia-v-paneli-zadach/
    1 балл
  11. Запустил ради интереса этот пример. Если быстро двигать пальцем влево-вправо, приложение вылетает Да согласен не лучший пример)), но для освоения работы жестов думаю подойдет для начала
    1 балл
  12. kami

    TMultiView и TListBox

    А лучше не делать такие действия из "детей" MultiView. Установку Selected можно оставить, а скрывать лучше через какой-то промежуток времени (реализация "в лоб" - по таймеру с маленьким интервалом и однократным срабатыванием)
    1 балл
  13. HyperZen

    TMultiView и TListBox

    Теперь я спокоен, если Вам это тоже удалось воспроизвести
    1 балл
  14. Запустил ради интереса этот пример. Если быстро двигать пальцем влево-вправо, приложение вылетает
    1 балл
  15. Поскольку тема вызывает не поддельный интерес у пользователей. Я расскажу, как это делал я для одной демо программы, которую я готовил для выступления в ИТМО. Сразу приложу скриншот, как это будет выглядеть: Сразу скажу, что это решение временное и имеет ряд определенных нюансов, которые появятся после его использования. О том, как исправить эти нюансы указано в самом конце. Теперь к делу. Андроид позволяет сделать статус бар прозрачным с наложением белого цвета с альфа каналом. Это значит, если мы разместим под статус баром зеленый цвет, то статус бар станет соответствующего темно зеленого цвета. Этим и воспользуемся. Основная идея такая: Говорим Андроиду, что хотим прозрачный статус бар. Указываем андроиду, что хотим размещать форму под статус баром. Размещаем под статус баром TRectangle нужного цвета, в тон TToolBar (если используете) Теперь по шагам: 1. Говорим Андроиду, что хотим прозрачный статус бар. Указываем андроиду, что хотим размещать форму под статус баром. Создаем файл style.xml со стилем для нашего приложения. <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="AppTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:windowTranslucentStatus">true</item> <item name="android:windowTranslucentNavigation">true</item> <item name="android:windowBackground">@drawable/splash_image_def</item> <item name="android:windowNoTitle">true</item> </style> </resources> В стиле указываем, что мы хотим использовать прозрачный статус бар. Открываем Менеджер развертывания Menu->Project->Deployment Manager и добавляем наш файл стиля в проект только для андроид конфигураций: Remote Path: "res\values\" Remote Name: "styles.xml" Теперь при запуске программы, андроид будет считать, что: Приложение будет развернуто на весь экран Статус бар будет прозрачного цвета. 3. Размещаем под статус баром TRectangle нужного цвета, в том TToolBar (если используете) Я разместил вверху формы TRectangle, который залил требуемым цветом, в тон тул бару: Высота статус бара у андроида равна 24. Если вы делаете кроссплатформенный проект и для ios тоже, то по умолчанию скрываем этот прямоугольник и добавляем код по его отображению в конструктор формы только на андроиде constructor TFormMain.Create(AOwner: TComponent); begin inherited Create(AOwner); {$IFDEF ANDROID} SystemStatusBarBackground.Visible := True; {$ENDIF} end; В принципе все готово. Побочные эффекты По скольку это решение сделано сбоку, то пара моментов, которые придется в вашей программе следить: Нативные контролы распологаются по старому, полагая, что форма располагается под статус баром, а не под формой. Поэтому для нативных контролов таких, как TMapView, нужно корректировать позицию или отступы. {$IFDEF ANDROID} MapView.Margins.Top := -SystemStatusBarBackground.Height; {$ENDIF} Формы располагается так же и под нижними программными кнопками: Назад, домой и меню. Поэтому нужно так же иметь в виду, что расположенные снизу контролы, не будут кликабельны. Так как перекрываются нижней панелью с кнопками. Решение - это разместить TLayout под нижней панелью, чтобы сдвинуть ваши контролы к верху.
    1 балл
  16. когда-то делал так: aMStream := TMemoryStream.Create; // считываем в aMStream, потом записываем в параметр пишущего запроса: {$IF CompilerVersion >= 28} aQuery.Params[i].SetStream(aMStream, ftBlob, true); {$ELSE} aQuery.Params[i].LoadFromStream(aMStream, ftBlob, 0); {$ENDIF}
    1 балл
  17. krapotkin

    Прочитать item'ы из listView

    но лучше - не хранить данные в элементах интерфейса
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...