Лидеры
Популярный контент
Показан контент с высокой репутацией 08.02.2016 во всех областях
-
Thoma Bravo Announces Sale of Embarcadero to Idera, Inc.
Rusland и 3 других отреагировал Brovin Yaroslav за тема
http://community.embarcadero.com/article/news/16211-embarcadero-rad-studio-2016-product-approach-and-roadmap-24 балла -
Несколько мониторов, Windows
Vitaldj и 2 других отреагировал Равиль Зарипов (ZuBy) за вопрос
Как то так Left := screen.Displays[1].BoundsRect.Left;3 балла -
Первое что пришло в голову в виде "бреда", точнее так уже сделали)) Но не знаю насколько вам подойдет такое решение. У нас есть сервер базы данных, на сервере понятно есть все данные необходимые для печати, принтер настроен на сервере, на сервере есть служба которая мониторит базу (таблицу) в которой если появилась новая команда для печати тогда служба формирует документ из данных базы с использованием FastReport, и кидает на принтер по умолчанию для печати. Сервер (а точнее комп Pentium DualCore, 2 gb RAM) на котором MySQL, Windows (хотя FastReport есть и для Linux (beta)) работает автономно уже 8-й месяц, и за это время не прикоснулись к нему ни разу (даже если честно очень странно)3 балла
-
RAD 11 на подходе?
Евгений Корепов и ещё один отреагировал Error за тема
community.embarcadero.com/article/news/16211-embarcadero-rad-studio-2016-product-approach-and-roadmap-22 балла -
У нас тоже печать через базу данных. Отличие от описанного варианта только в том что база удаленная, а служба печати может быть установлена на любом клиентском компе с Windows, с которого и идет печать на любой принтер доступный с этого клиентского компа. При этом на клиенте служба может быть настроена для выбора только определенных заданий печати (например задания только определенного отдела или задания отправленные только с определенных терминалов).2 балла
-
Нашел косяк (если это косяк - может быть это нормальное поведение): в режиме Drawer работает и выделение итема снимается, в режиме Popover выделение не снимается вообще никак.2 балла
-
Вопрос про свайп в лево свайп в право
Равиль Зарипов (ZuBy) и ещё один отреагировал zairkz за тема
Способов много, попробуйте например через ActionList, откройте пример на TabControl Запустите студию -> Open Sample Project -> Samples\Object Pascal\Mobile Snippets\TabSliding и посмотрите вебинары от Embarcadero https://www.youtube.com/channel/UCtqzKKPLL1uoI7yyCBmKP1w/videos еще ведь есть компонент от Ярослава в составе FGX TfgFlipView - слайдер изображений2 балла -
Тема оказалась настолько интересна что занялся ей подробней. Мы с 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.zip2 балла
-
RAD 11 на подходе?
Евгений Корепов отреагировал SergeyIT за тема
Неплохо! http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html1 балл -
Нашел решение в другой теме. http://fire-monkey.ru/topic/504-neskolko-okon-prilozheniia-v-paneli-zadach/1 балл
-
Вопрос про свайп в лево свайп в право
Равиль Зарипов (ZuBy) отреагировал zairkz за тема
Запустил ради интереса этот пример. Если быстро двигать пальцем влево-вправо, приложение вылетает Да согласен не лучший пример)), но для освоения работы жестов думаю подойдет для начала1 балл -
TMultiView и TListBox
Равиль Зарипов (ZuBy) отреагировал kami за вопрос
А лучше не делать такие действия из "детей" MultiView. Установку Selected можно оставить, а скрывать лучше через какой-то промежуток времени (реализация "в лоб" - по таймеру с маленьким интервалом и однократным срабатыванием)1 балл -
Теперь я спокоен, если Вам это тоже удалось воспроизвести1 балл
-
Запустил ради интереса этот пример. Если быстро двигать пальцем влево-вправо, приложение вылетает1 балл
-
Поскольку тема вызывает не поддельный интерес у пользователей. Я расскажу, как это делал я для одной демо программы, которую я готовил для выступления в ИТМО. Сразу приложу скриншот, как это будет выглядеть: Сразу скажу, что это решение временное и имеет ряд определенных нюансов, которые появятся после его использования. О том, как исправить эти нюансы указано в самом конце. Теперь к делу. Андроид позволяет сделать статус бар прозрачным с наложением белого цвета с альфа каналом. Это значит, если мы разместим под статус баром зеленый цвет, то статус бар станет соответствующего темно зеленого цвета. Этим и воспользуемся. Основная идея такая: Говорим Андроиду, что хотим прозрачный статус бар. Указываем андроиду, что хотим размещать форму под статус баром. Размещаем под статус баром 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 балл
-
когда-то делал так: aMStream := TMemoryStream.Create; // считываем в aMStream, потом записываем в параметр пишущего запроса: {$IF CompilerVersion >= 28} aQuery.Params[i].SetStream(aMStream, ftBlob, true); {$ELSE} aQuery.Params[i].LoadFromStream(aMStream, ftBlob, 0); {$ENDIF}1 балл
-
Прочитать item'ы из listView
i.r.khayrullin отреагировал krapotkin за вопрос
но лучше - не хранить данные в элементах интерфейса1 балл