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

Лидеры

  1. Евгений Корепов

    Евгений Корепов

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


    • Баллы

      6

    • Постов

      738


  2. Rusland

    Rusland

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


    • Баллы

      2

    • Постов

      1 204


  3. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      2

    • Постов

      842


  4. krapotkin

    krapotkin

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


    • Баллы

      2

    • Постов

      2 185


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

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

  1. Возникла задача поиска (фильтрации) в ListView по нескольким критериям. К примеру нужно искать по Item.Text, Item.Detail и Item.Date['Category']. Пошел путем, ранее подсказанным на этом форуме - правкой "function TListViewItems.ApplyFilter: Boolean" в FMX.ListView.pas. Передавать строку поиска хотел в строке типа "Text=Пеньки&Detail=по три рубля&Category=Осиновые", но быстро понял что код превращается в одноразовую кашу, а хотелось сделать красиво и на будущее. Сделал так - добавил еще один тип "TFilterPredicateEx = TPredicate<TListViewItem>;", к существующему "TFilterPredicate = TPredicate<string>;" в TListViewItems. Ну и далее по списку добавил аналоги к переменным, функциям и property. Смысл в том чтобы вместо обычного бутылочного горлышка в фильтации: ListView.Items.Filter:= function(X: string): Boolean begin Result := AFilterText.IsEmpty or X.ToLower.Contains(AFilterText.ToLower); end; иметь мощный инструмент с доступом ко всем плюшкам TListViewItem. Теперь это выглядит вот так: type TListViewFilterEx = record Category : String; Name : String; end; ... Var AFilter : TListViewFilterEx; // это для удобства хранения фильтров в одном месте ... AFilter.Category:='Береза'; AFilter.Name:='Пеньки'; AListView.Items.FilterEx:= function(X: TListViewItem): Boolean begin Result:= (AFilter.Category.IsEmpty or X.Data['Category'].AsString.ToLower.Contains(AFilter.Category.ToLower)) And ((AFilter.Name.IsEmpty or X.Text.ToLower.Contains(AFilter.Name.ToLower)) or (AFilter.Name.IsEmpty or X.Detail.ToLower.Contains(AFilter.Name.ToLower))); end; Подозреваю что все это можно было сделать с помощью хелперов, но до их освоения руки никак не дойдут. Если кто то сделает хелпер, дабы не править FMX.ListView.pas, буду очень благодарен. Внимание! FMX.ListView.pas от Delphi XE8, к другим версиям думаю не подойдет. Прилагаю дополненный FMX.ListView.pas к сообщению. FMX.ListViewWithFilterEx.zip
    3 балла
  2. Один из вариантов вызывать активити вот так: procedure ShareFile(aFileName, aComment : String); var Intent : JIntent; uri : Jnet_Uri; AttachmentFile: JFile; S : String; begin Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_SEND); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); S:=TPath.GetFileName(aFileName); Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(aComment)); Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(aComment)); AttachmentFile := TJFile.JavaClass.init(StringToJString(aFileName)); Uri := TJnet_Uri.JavaClass.fromFile(AttachmentFile); Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, TJParcelable.Wrap((Uri as ILocalObject).GetObjectID)); Intent.setType(StringToJString('text/plain')); // Intent.setDataAndType(StrToJURI('file:' + TPath.Combine(TPath.GetSharedDownloadsPath, 'picture.png')), StringToJString ('image/png')); SharedActivity.startActivity(Intent); end; Пользователю нужно будет выбрать что именно использовать, список будет из всего что установлено (гугледиск, дропбокс и т.д.). Можно вызывать активити для определенного приложения, но под рукой примера нет.
    3 балла
  3. Равиль Зарипов (ZuBy)

    Version Control

    Добрый день! Дошли руки до Version Control, назрели пару вопросов Пользуетесь ли вы VC? Каким именно из представленных в IDE? Я пытался использовать GitHub, опишу шаги Регистрация/Авторизация Создал репозицтории (рис 1) Получил ссылку https://github.com/rzaripov1990/ModernListView.git нажав на Clone or download Как настроить описано тут http://docwiki.embarcadero.com/RADStudio/Berlin/en/Git_Integration_in_the_IDE IDE -> Project Manager -> <НазваниеПроекта> -> ПКМ -> Add to Version Control -> Git Вот структура файлов моего проекта (рис 2) Открывается окно с файлами для импорта (рис 3) Жмём Import В окне сообщении видим IDE -> Project Manager -> <НазваниеПроекта> -> ПКМ -> Git -> Push - From Project Directory В окне сообщении видим В репозитории так ничего и не попало Что я сделал не так?
    1 балл
  4. Rusland

    отправить файл на google disk

    Евгений Корепов, интереснее когда напрямую из программы отсылается файл. https://developers.google.com/drive/v2/reference/
    1 балл
  5. если бы все так и было, то не было бы большого обсуждения сервисов совсем недавно тут на форуме там даже есть статистика, через какое время все замирает
    1 балл
  6. Воспроизводится под Windows и в Seattle и в Berlin. 1). Добавьте в листбокс 50 TMetropolisUIListBoxItem. 2). Проскрольте листбокс. 3). Кликните по любому айтему. 4). Закройте программу. Сбой происходит при закрытии программы: в секции финализации FMX.Forms, а именно в TStyleCache.Clear. Если заменить TMetropolisUIListBoxItem на TListBoxItem, сбой не происходит. tst_Listbox.zip
    1 балл
  7. No Pe, cмотрите статью Ефимова Андрея http://delphifmandroid.blogspot.com/2013/10/blog-post.html
    1 балл
  8. в теории, вообще ничего делать не надо программа заснет и таймеры вместе с ней
    1 балл
  9. По ссылке, в первом посте, я как раз упоминал Zip4J, более того даже пример выкладывал. Но Zip4J подходит для андроида. Про Winsoft, опять же с того момента, когда писал заметку, ничего не изменилось, всё также не понятно за что платить им, если они используют в своём компоненте только эту либу, проще скачать её и добавить в проект самостоятельно. Пример использования можно глянуть тут Расширенные возможности работы с zip файлами, бесплатно и без СМС (заметка негодования, так что можно не читать, просто скачать пример p.s. Тут похоже ТС'у желательно найти универсальную либу, но я таких не встречал.
    1 балл
  10. kami

    Version Control

    Использую GIT и SVN Но не встроенные средства, а черепашку (Tortoise), консоль для меня слишком круто
    1 балл
  11. noisy

    Version Control

    Я использую Git ( репозитории на Github и Bitbucket), но не использую встроенные средства RAD, в ранних версиях их не было, да и сред разработки несколько... Использую консоль, а если совсем лень, то мышкой кликаю в https://www.sourcetreeapp.com/
    1 балл
  12. Ссылка на скачивание (Только для RAD Studio Berlin): fgx_0.7.1.112.zip Инструкция по установке: "Инструкция по установке набора компонентов FGX" FGX - Donate: QIWI: 4890 4941 7671 0929 Yandex.Money: 4100175510891 Описание Эта версия включает в себя следующий набор компонентов: Дизайнер итемов - дизайнер итемов. TfgToast - класс отображения быстрых сообщений TfgFlipView - слайдер изображений. Поддерживает несколько способов переключения фотографий при помощи эффектов и сдвигов. При первом использовании ОБЯЗАТЕЛЬНО прочитать инструкцию "TfgFlipView - Инструкция загрузки стиля" TfgPositionAnimation - анимация свойств типа TPosition TfgPosition3DAnimation - анимация свойств типа TPosition3D TfgBitmapLinkAnimation - анимация свойств типа TBitmapLink TfgProgressDialog (UPDATED) - Компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения фоновой операции можно оценить. TfgActivityDialog (UPDATED) - компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения операции не возможно адекватно оценить. TfgActionSheet (UPDATED) - Аналог контекстного меню для мобильных платформ. TfgColorsPanel - Палитра цветов с возможностью выбора цвета. TfgGradientEdit - Компонент выбора градиента. TfgLinkedLabel - Метка поддерживающая открытие Web ссылки в браузере по умолчанию. TfgApplicationEvents (UPDATED) - компонент с возможностью легко задать обработчики на основные события приложения: Отслеживание смены состояния приложения, простой, обновление и выполнение действий Actions, Изменение ориентации устройства и тд. TfgVirtualKeyboard - компонент облегчающий работу с виртуальной клавиатурой. Позволяет задать пользовательские кнопки над виртуальной клавиатурой под iOS, а так же отлавливать события по отображению и скрытию клавиатуры. Зарегистрированы все стилевые объекты на вкладке "FGX: Style objects" Список изменений TfgActionSheet: Добавлены и реализованы события TfgActionSheet.OnShow, TfgActionSheet.OnHide, TfgActionSheet.OnItemClick. Добавлены свойство TfgActionSheet.Theme, позволяющее выбрать вариант темы: Auto - выбирает темную или светлую тему автоматически на основании текущего стиля; Light - использует светлую тему; Dark - темную Обновлен пример ActionSheetDemo. TfgApplicationEvents - добавлены новые событии: OnActivityResult (Андроид) - позволяет получить результаты/интенты из других приложений. OnFormBeforeShown - вызывает непосредственно до момент отображения формы OnFormActive - Вызывается, когда форма активируется. OnFormDeactivate - Вызывается, когда форма деактивируется OnFormCreate - Вызывается после создания экземпляра формы OnFormDestroy - Вызывается до разрушения формы OnScaleChanged - Вызывается, когда меняется скейл у формы. Например, при перетаскивании формы с одного экрана с одним скейлом на другой с другим скейлом (Больше актуально для OSX) TfgProgressDialog, TfgActivityDialog: Добавлены свойство Theme, позволяющее выбрать вариант темы: Auto - выбирает темную или светлую тему автоматически на основании текущего стиля; Light - использует светлую тему; Dark - темную. Общие изменения: Ассерты перенесены в скоп TfgAssert.
    1 балл
  13. Alexander

    Не работает TLang

    в Delphi 10 не смог произвести перевод отсканированных строк, не появляются Edit'ы для ввода перевода. Взял файл от рабочего проекта из XE8, в 10-ке подгрузились только английские слова, при этом так же не возможно добавить перевод. Это у меня одного так или ещё ни кто не проверял этот компонент?
    1 балл
  14. rareMax

    Не работает TLang

    Баг подтверждаю)
    1 балл
  15. Поддержу Крапоткина, в Уральском регионе немного не так. Не видел вакансий для Delphi (вообще не часто), по крайней мере у нас в Челябинске, выше 25-30 т.р. Для нашего региона это средняя ЗП. При этом требования, зачастую бывают неадекватными. Про ЗП описанные выше в Питере, круто конечно, но реально у нас в регионе, высокие ЗП обещают только за iOS и Android, затем 1C а уже затем всё остальное. Для C# что то очень высокая ЗП, скорее всего требование либо знание кучи фреймворков, либо Unity3D, либо ещё чего похлеще + куча, как модно писать, практик программирования, использования паттернов и пр. + Немного ясности. Пищут про корпоративные проекты. Тут надо разделять. Если проект для внутреннего пользования крупной компанией, то использовать FMX можно запросто, делать неплохие проекты и пр. Если какая нибудь игра, для ОЧЕНЬ широкого круга, то уже мимо. У меня в практике есть онлайн радио на FMX, вполне ничего, даже есть небольшие зачатки дизайна, использование сторонних библиотек, пуши и пр. И ничего, работает для широкой аудитории. При это затраты на разработку минимальны.
    1 балл
  16. Из моих наблюдений за 2014-2015 год, вакансии "Программист Delphi" на рынке есть, но их мало и требования в них просто жесть, т.е. работодатель хочет сразу получить очень опытного программера и платить ему копейки. Они не допускают даже возможности стажировки с целью дальнейшего принятия на постоянную основу... Я в далёком 2004, мечтал, что на Делфи можно будет писать под смартфоны. Сбылось, долго... но сбылось А все кто пытается похоронить Делфи пускай лесом идут... Не нравится, не лезь в чужую песочницу...
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...