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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

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


    • Баллы

      18

    • Постов

      2 124


  2. Tera

    Tera

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


    • Баллы

      6

    • Постов

      7


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

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

    Модераторы


    • Баллы

      5

    • Постов

      2 517


  4. rustam_d

    rustam_d

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


    • Баллы

      2

    • Постов

      200


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

Показан контент с высокой репутацией 23.10.2015 во всех областях

  1. Компоненты TSevSeg - семисегментный индикатор и TSeparator - разделитель. Переписал компоненты с VCL. Может, кому пригодится. Пример использования: Для разового использования можно просто подключить к проекту как модуль. SevenSegment.zip
    5 баллов
  2. Я так скажу, пока ничего не ясно, что да как. И даже в этой статье кроме упоминания о продажах ничего нет конкретного. Я имею в виду про развитие продуктов.
    5 баллов
  3. Привет Всем! Много тем на форуме про раскраску TListView, нашел в интернете решение и доработал его Вот что получилось LV_Helper.zip ColorListView.zip Доступно для Seattle ListView1.SetColorItemSelected(TAlphaColorRec.Orangered); //выделенный ListView1.SetColorItemFill(TAlphaColorRec.Gray); // обычный цвет Item ListView1.SetColorItemFillAlt(TAlphaColorRec.Lightgrey); // альтернативный цвет Item ListView1.SetColorBackground(TAlphaColorRec.Black); // цвет самого TListView ListView1.SetColorItemSeparator(TAlphaColorRec.Lightgray); // Линия разделения Item'ов ListView1.SetColorText(TAlphaColorRec.Red); // Обычный текст ListView1.SetColorTextSelected(TAlphaColorRec.White); // выделенный текст ListView1.SetColorTextDetail(TAlphaColorRec.Yellow); // текст доп. инфы ListView1.SetColorTextHeader(TAlphaColorRec.Green); // текст заголовка ListView1.SetColorTextHeaderShadow(TAlphaColorRec.Lightgray); // тень текста ListView1.SetColorButtonText(TAlphaColorRec.Orange); // цвет текста кнопки ListView1.SetColorButtonTextPressed(TAlphaColorRec.Orangered); // цвет нажатой кнопки добавлено в Berlin ListView1.SetColorPullRefresh(TAlphaColorRec.Orange); ListView1.SetColorPullRefreshIndicator(TAlphaColorRec.Orangered); ListView1.SetColorStretchGlow(TAlphaColorRec.Lime); ModernListView.rar
    4 балла
  4. Описание: Назначение: Быстрые уведомления, появляющиеся в нижней части экрана, предназначенные для отображения короткой текстовой информации и опционно изображения Поддерживаемые платформы: Android, iOS Демо проект: Samples\ToastsDemo\ToastsDemo.dproj Доступен с версии: RX (R100) Возможности: Несколько быстрых способов отображения уведомления: TfgToast.Show(Message) - только текст TfgToast.Show(Message, Icon) - текст и картинка TfgToast.Show(Message, Duration) текст + настройка длительности отображения TfgToast.Show(Message, Duration, Icon) - текст + картинка + длительность отображения Доступно редактирование цвета заднего фона (TfgToast.BackgroundColor) Доступно редактирование цвета сообщения (TfgToast.MessageColor). Возможность добавить к сообщению иконку (TfgToast.Icon) Доступно редактирование длительности отображения уведомления (TfgToast.Duration) Возможность менять глобальные параметры отображения всех тостов в рамках приложения (TfgToast.DefaultBackgroundColor, TfgToast.DefaultMessageColor и TfgToast.DefaultPadding) Примеры вызова: // Быстрое отображение, только текст TfgToast.Show('Message'); // Быстрое отображение, текст + картинка TfgToast.Show('Message', Bitmap); // Настраиваемое отображение var Toast: TfgToast; begin Toast := TfgToast.Create(EditToastMessage.Text, TfgToastDuration(ComboBoxDurationType.ItemIndex)); try if SwitchShowIcon.IsChecked then Toast.Icon.Assign(Image1.Bitmap); Toast.MessageColor := ColorComboBoxMessage.Color; Toast.BackgroundColor := ColorComboBoxBackground.Color; Toast.Show; finally Toast.Free; end; end; Скриншоты:
    3 балла
  5. Ссылка на скачивание (Только для RAD Studio RX): fgx_0.7.0.69.zip Инструкция по установке: "Инструкция по установке набора компонентов FGX" Описание Эта версия включает в себя следующий набор компонентов: Дизайнер итемов (NEW) - дизайнер итемов. TfgToast (NEW) - класс отображения быстрых сообщений TfgFlipView (UPDATED) - слайдер изображений. Поддерживает несколько способов переключения фотографий при помощи эффектов и сдвигов. При первом использовании ОБЯЗАТЕЛЬНО прочитать инструкцию "TfgFlipView - Инструкция загрузки стиля" TfgPositionAnimation - анимация свойств типа TPosition TfgPosition3DAnimation - анимация свойств типа TPosition3D TfgBitmapLinkAnimation - анимация свойств типа TBitmapLink TfgProgressDialog (UPDATED)- Компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения фоновой операции можно оценить. TfgActivityDialog (UPDATED)- компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения операции не возможно адекватно оценить. TfgActionSheet - Аналог контекстного меню для мобильных платформ. TfgColorsPanel (UPDATED)- Палитра цветов с возможностью выбора цвета. TfgGradientEdit - Компонент выбора градиента. TfgLinkedLabel - Метка поддерживающая открытие Web ссылки в браузере по умолчанию. TfgApplicationEvents - компонент с возможностью легко задать обработчики на основные события приложения: Отслеживание смены состояния приложения, простой, обновление и выполнение действий Actions, Изменение ориентации устройства и тд. TfgVirtualKeyboard - компонент облегчающий работу с виртуальной клавиатурой. Позволяет задать пользовательские кнопки над виртуальной клавиатурой под iOS, а так же отлавливать события по отображению и скрытию клавиатуры. Зарегистрированы все стилевые объекты на вкладке "FGX: Style objects" Список изменений TfgActionSheet: Исправлена ошибка не позволяющая использовать действия TTakePhotoFromCameraAction и TTakePhotoFromLibraryAction под iOS. Исправлена ошибка приводящая к AV, если экшен не имел обработчика OnExecute (Android, iOS) Исправлен внешний вид под iOS. Раньше, если TfgActionSheet не содержал заголовка, сверху система все равно оставляла под него пустое место. Теперь если заголовка нет, то место не выделяется. Обновлен пример ActionSheetDemo TfgProgressDialog, TfgActivityDialog: Добавлено свойство Cancellable, позволяющее сделать диалог отменяемым по нажатию на экран или кнопку Back. Добавлено событие OnCancel, вызываемое, если пользователь отменил диалог. Обновлен пример. Теперь все операции выполняются в отдельном потоке, асинхронно. Добавлен метод IsShown, позволяющий определить, показан диалог или нет Добавлено свойство TfgOrigressDialog.Max, позволяющее указать максимальное значение прогресса. Улучшена генерация имени действия. Если прикрепляется системный экшен TSysCommonAction, то имя берется из CustomText TfgFlipView: Добавлено пролистывание при помощи жестов. Добавлена опция ShowNavigationButtons, позволяющая скрыть кнопки смены слайдов Добавлено событие OnImageClick, позволяющее отследить нажатие пользователем на слайд Обновлен пример для корректной работы на всех платформах. Исправлена ошибка слайдшоу, приводящая к невозможностью контролировать и менять параметры слайдшоу. Изменен курсор на руку TfgColorsPanel, TfgGradientEdit: Добавлены пропущенное свойство Size в секции published.
    3 балла
  6. Какая у вас версия среды? По идеи ничего больше не нужно: Да, это работает только для Windows, для остальных платформ посмотрите: Средства логирования в FireMonkey
    3 балла
  7. можно ли по подробнее? загрузки чего? версии самой программы ipa или нажатия Submit ? p.s.: надо было назвать тему "что можно сделать за время попыток публикации проекта в AppStore": - построить 2 этажный дом и заселиться - написать андроид проект с нуля - опубликовать и получить прибыль - съездить в таиланд, в турцию и в испанию, но уже забыть о чем был проект - уволиться с работы, начать новый проект на другой работе и снова уволиться - потерять не менее 3-х заказчиков... - получить инфаркт от унижений... - и т.п.
    2 балла
  8. Brovin Yaroslav

    FGX под RAD 10 Seattle

    [RX] [FGX] Описание версии 0.7.0.69
    1 балл
  9. Tera

    Семисегментный индикатор

    Спасибо Brovin Yaroslav за советы. Все исправил. Я совсем недавно стал изучать FireMonkey. SevenSegment.zip
    1 балл
  10. Сообщение для клиентов и партнеров от IDERA Здравствуйте, Я Ренди Якобс, CEO компании IDERA, Inc. Вы, скорее всего, видели новости в прессе о приобретении Embarcadero компанией IDERA. Вот ссылка на эту новость, если вы еще ее не видели. Мы приглашаем Вас присоединиться к сообществу IDERA и продолжить успешную историю лидера рынка продуктов для разработчиков и специалистов по базам данных. Я хочу представить компанию IDERA и объяснить, почему мы в восторге стать владельцами Embarcadero IDERA работает более, чем с 10000 клиентами по всему миру, предоставляя им решения для мониторинга производительности баз данных, приложения и технологическую инфраструктуру. Мы уверены, что специалисты по базам данных имеют определяющее влияние на общую технологическую эффективность и оцениваем наш подход, как ориентированный на данные. Наши продукты позволяют быстро идентифицировать и исправить проблемы с производительностью по всему стеку используемых технологий, при этом обеспечивая уникальные возможности поддержки безопасности и согласованности. Я был назначен CEO в 2013 году и с этого времени я всегда был сфокусирован на долгосрочных отношениях с заказчиками, основой которых были инновационность, качество и простота использования продуктов. Я верю в то, что успешные софтверные компании всегда ориентированы на успех клиента, обеспечивая: Программное обеспечение высокого качества – полное тестирование кода, с использованием автоматической генерации тестов Простоту в использовании – интуитивно понятные интерфейсы, особенно процесс установки/обновления Скорость работы приложений – минимальные задержки, хорошую масштабируемость, аналитику в реальном времени Клиенты всегда будут довольны производителями ПО, соответствующего этим критериям. Выпуск продуктов, сфокусированных на приоритетных инновациях и возможностях, по надежному графику, улучшает взаимоотношения с клиентами, являясь основой их успеха. IDERA инвестирует в технологии по этому принципу, и этот принцип будет также распространяться на продукты Embarcadero. Как известно, Embarcadero имеет две отдельные линейки продуктов: 1) продукты для кроссплатформенного моделирования, администрирования и оптимизации баз данных и 2) решения для разработки приложений для множества платформ. За эти годы количество клиентов Embarcadero достигло 10000, а количество пользователей исчисляется миллионами, включая практически полный список Global 2000. Embarcadero имеет представительства по всему миру и партнеров практически в каждой крупной стране. Продукты Embarcadero для моделирования, администрирования и управления производительностью баз данных отлично дополняют продукты IDERA с минимальным пересечением в функциональности и назначении. После объединения обеих компаний, мы сможем предложить специалистам в области данных исчерпывающее решение для управления, использования и защиты данных для любой компании. Мы будем благодарны обратной связи от клиентов по интеграции этих продуктов, чтобы быть уверенными в соответствии нашим принципам простоты использования, качества и масштабируемости. Что касается средств разработки Embarcadero, то это для нас новая возможность. На нескольких форумах разработчиков мне были заданы прямые вопросы относительно будущего этих продуктов. Я хочу подчеркнуть, что мы воспринимаем эти продукты как огромную ценностью. Так как приложения распространяются сквозь платформы и другие каналы, потребность в инструментах для создания следующих поколений приложений будет расти. Такие технологии, как Интернет вещей или использование в приложениях маячков, не существовали всего несколько лет назад. Сегодня уже каждый видит возможность создания приложений для устройств, которые упрощают и улучшают жизнь людям. Мы верим в то, что лидер рынка средств разработки должен ориентироваться на разработчиков и отличаться скоростью выпуска новых решений, простотой использования и темпами изменений. В связи с этим, мы сформировали новую команду, которая будет сфокусирована только на средствах разработки Embarcadero. Их задача – обеспечить темпы роста за счет инноваций и возможностей M&A. Мой коллега, Атанас Попов, возглавил данное направление. Атанас будет уделять внимание росту бизнеса и инвестициям для привлечения еще большего количества клиентов. Мы считаем, что средства разработки имеют большой потенциал и мы с нетерпением ждем работы с вами, чтобы расставить приоритеты для наших инвестиций. Embarcadero потратила годы на построение надежной партнерской сети. Многие компании мечтают о создании подобной сети партнеров, но потратив время и силы разочаровываются. Но если упорство компании позволило это сделать, результаты и потенциал будут значительны. Embarcadero работает с десятками глобальных партнеров. Для поддержания здоровой партнерской сети требуются больше отличных продуктов и стабильный интерес к приобретению со стороны потенциальных клиентов. Мы собираемся не только познакомить партнеров Embarcadero с продуктовым портфелем IDERA, но и вовлечь маркетинговую команду IDERA в диалог с клиентами. Мы полагаем, что умеренные изменения и инвестиции расширят пространство возможностей для наших партнеров, работающих с клиентами по всему миру. C точки зрения взаимодействия с заказчиками, мы основываемся на публикации планов выпуска продуктов для активных заказчиков и поддержку диалога с теми, кто хочет внести свой вклад. Мы верим, что сообщества пользователей приносят пользу, и будем развиваться соответственно. Мы также полагаем, что это изменит возможности инноваций и увеличит ценность для наших пользователей. Мы остаемся верны этим принципам стремимся к работе с вами для каждодневного улучшения, и чтобы помочь вам получить ожидаемое. Если у Вас есть вопросы, присылайте их, пожалуйста, на randy.jacops@idera.com. При наличии 20 000 клиентов, практически невозможно поддерживать прямой диалог с каждым, но мы ответим на вопросы. Что более важно, мы будем присылать Вам «дорожные карты», информацию о вебинарах и другой контент, который сможет Вас заинтересовать. Я призываю Вас принимать участие во всех мероприятиях, чтобы отношения стали взаимно полезными. Спасибо за вашу работу! Надеемся на дальнейшее сотрудничество! С уважением, Randy Jacops CEO, IDERA, Inc.
    1 балл
  11. Добрый день, Юрий, Красота. Хороший компонент. Возможно вам пригодятся пара замечаний по портированию с VCL на FMX, которые помогу вам сделать ваш компонент еще лучше. Когда вы выполняете отрисовку в перекрытом методе TControl.Paint, не надо вызывать BeginScene и EndScene. Так как этими методами руководит сцена, обычно это форма. procedure TSeparator.Draw(px1, py1, px2, py2: Single; pColor: TAlphaColor; Opac: Single); var MyRect: TRectF; begin MyRect := TRectF.Create(px1, py1, px2, py2); with Canvas do begin [b] BeginScene; // <!--- Не нужно[/b] Fill.Kind := TBrushKind.Solid; Fill.Color := pColor; FillRect(MyRect, 0, 0, AllCorners, Opac); [b]EndScene; [/b][b]<!--- Не нужно[/b] end; Canvas end; Дополнительно: 1. Инициализацию точек для полигона можно сделать сразу на прямую. Было: // Установить точки, определяющие многоугольник p1 := TPointF.Create(px1, py1); p2 := TPointF.Create(px2, py2); p3 := TPointF.Create(px3, py3); p4 := TPointF.Create(px4, py4); p5 := TPointF.Create(px5, py5); p6 := TPointF.Create(px6, py6); // Создать полигон SetLength(MyPolygon, 6); MyPolygon[0] := p1; MyPolygon[1] := p2; MyPolygon[2] := p3; MyPolygon[3] := p4; MyPolygon[4] := p5; MyPolygon[5] := p6; Стало: MyPolygon := [TPointF.Create(px1, py1), TPointF.Create(px2, py2), TPointF.Create(px3, py3), TPointF.Create(px4, py4), TPointF.Create(px5, py5), TPointF.Create(px6, py6)]; При этом для динамических массивов перед присваивание не нужно вызывать функцию SetLength. Экономия места и 6 переменных. 2. Сравнение вещественных чисел должно осуществляться при помощи функции System.Math.SameValue. Это касается всех мест в этом юните. В противном случае у вас могут быть фантомные ложные срабатывания условий, которые найти будет сложно. Было: procedure TSevSeg.SetCellSpace(const Value: Single); begin if Value = CellSpace then exit; FCellSpace := Value; end; Стало: procedure TSevSeg.SetCellSpace(const Value: Single); begin if SameValue(Value, CellSpace) then exit; FCellSpace := Value; end;
    1 балл
  12. можно использовать вот это
    1 балл
  13. можно ли по подробнее? загрузки чего? версии самой программы ipa или нажатия Submit ? p.s.: надо было назвать тему "что можно сделать за время попыток публикации проекта в AppStore": - построить 2 этажный дом и заселиться - написать андроид проект с нуля - опубликовать и получить прибыль - съездить в таиланд, в турцию и в испанию, но уже забыть о чем был проект - уволиться с работы, начать новый проект на другой работе и снова уволиться - потерять не менее 3-х заказчиков... - получить инфаркт от унижений... - и т.п. При загрузке ipa файла сейчас, если он сделан в xCode 7 и ниже, вылезает ошибка, что требуется заполнение полей "u" и "p", типа пользователь и пароль. Лечиться сборкой пакета в xCode 7.1 и SDK 9.1. Собрал, отправил, вроде прокатило и работает под iOS9. И ключ NSAppTransport нужен, иначе элементарно веб браузер не будет загружать страницы.
    1 балл
  14. А вот и ответ: Programmatically obtain the phone number of the Android phone
    1 балл
  15. Еще в FMX достаточно использовать Log.d. При этом сообщения будут выводиться в окно IDE Messages.
    1 балл
  16. 9-path изображение из которых состоят все растровые скины, состоят из 9 кусочков, которые если компонент имеет дробные координаты или размер рисуются в дробных координатах, а сглаживание размазывает границы этих кусочков. Вариант решения: следить за тем, чтобы размеры и координаты компонентов были всегда целыми числами. (обычно проблемы могут возникать при расположении компонентов на различных Layout-ах типа TGridLayout, TScaledLayout)
    1 балл
  17. на XE5 это работало... где нашёл не помню uses FMX.Platform, FMX.VirtualKeyboard ... procedure TFSale.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); var FService : IFMXVirtualKeyboardService; begin if Key = vkHardwareBack then begin TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService)); if (FService <> nil) and (vksVisible in FService.VirtualKeyBoardState) then begin // Back button pressed, keyboard visible, so do nothing... end else begin // Back button pressed, keyboard not visible, lets exit the app... if MessageDlg('Выйти без сохранения?', ... then begin FSale.Close; // Back button pressed CONFIRMED... end else begin Key := 0; // Back button pressed IGNORED... end; end; end; end;
    1 балл
  18. krapotkin

    Возможности ListView

    только что давал ссылку и вот опять
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...