Доска почета


Popular Content

Showing most liked content since 26.07.2016 Во всех областях

  1. 19 likes
    Ссылка: http://yaroslavbrovin.ru/object_life_cycle_in_delphi_part_1_windows_osx-ru/ Автор: Ярослав Бровин С появлением мобильных платформ в мире Delphi, произошли серьезные изменения в жизненном цикле объектов. Послужившие причиной многих проблем и вопросов, а как правильно кроссплатформенно удалять объекты. В этой статье детально рассматриваем жизненный цикл объектов на разных платформах и даём ответы на важные вопросы, которые могут побеспокоить даже опытных Delphi разработчиков.
  2. 16 likes
    Эх, попкорн закончился) Доброго вечера всем. Вот вы тут развели ср..., прям диву даешься. Неужели тут кто то всерьез верит, что Rad Studio похоронят - вы чего? СМена кадровой политики - абсолютно нормальное явление в любой организации, которая не сидит на месте. Другой вопрос - что послужило толчком? Но не суть. Тут прочитал - вот мол никто на FMX не пишет - вы судите по тому, сколько информации (удивленный смайл). Неужто кто то всерьез думает, что солидные компании, которые базируются на Rad Studio, будет трубить на каждом углу - смотрите, у нас софт написан на Rad Studio? (если быть точным, то с использованием, не придирайтесь)) ЗАЧЕМ оно им? С такой ценовой политикой, достаточно нескольких сотен пользователей для безбедной жизни, хотя думаю их в разы больше. А вот про баги и тд - улыбнуло. Есть у меня опыт небольшой работы и с FMX под ANdroid, и куда больший по десктоп, естественно под VCL. Есть опыт с плюсами и шарпом на Visual Studio тоже под десктоп. Ну и Qt немного. И судя по своему скромному опыту, еще вопрос - где больше багов, когда начинаешь копать глубже. Тута вон галку снял, и софт с 99% уверенностью запустится у всех, а Visual Studio - без опыта, один процесс настройки зависимостей проекта в новых версиях - тот еще гемморой. А потом начинаешь пользователям долбить - скачайте рантайм, а вот еще ддлку эту, а у вас версия Фреймворка не та))) Адекватно собрать статически слинкованный Qt мне так и не удалось, точнее удалось под MinGW - не впечатлило. Похоже многие забыли - FMX, Rad, Visual, pascal, c++, c#, и тд, и тп - это только инструмент, все зависит от того, кто его держит. Kitty - мне очень интересно - отчего такая потребность - закопают или нет? А кто мешает перебраться, в случае необходимости в другую среду - знания то лишними не будут. Напоминает покупку первой машины - месяцами выбирают (количество критериев зашкаливает - и чтоб то не сломалось, и не устарело, и тд), в итоге покупается что то непотребное, просто из-за подхода, при этом количество нервов потраченных...) вы же не на всю жизнь покупаете) Так и тут - ну случится беда, закопают - так правильно сказали: может через пару лет и Андроид гавкнет - что теперь не писать под него. В крайнем случае можно на время перебирания в другую среду остаться на старой версии. Хотя, вынужден извиниться, возможно у вас действительно вперед смотрящие, долгосрочные проекты, тогда стоит думать сейчас (ни в коем случае не сарказм). Но положа руку на сердце, поверьте - выбор то не велик, к сожалению, когда дело доходит до чего - то большего, чем Hello World. P.S. не первый год пытаюсь переползти в Visual Studio - именно написание кода там куда более комфортное, но увы - так и не смог) сошелся на Dll-ках, из Visual Studio, и основе в Rad Studio - довольно удобно и комфортно.
  3. 13 likes
    Уважаемые форумчане! Поздравляю Вас с Наступающим Новым Годом и Рождеством! Пусть 2017 год станет новым этапом на Вашем пути и принесет успех, самореализацию и, конечно же, счастье.
  4. 13 likes
    Здравствуйте! Предлагаю подробно и с готовыми рецептами подготовить специализированный курс по ListView. C типовыми шаблонами решения часто встречающихся задач: онлайн обновление списка, эффективная работа с БД, тонкая настройка вида компонента, "подводные камни" использования, типичные ошибки использования! Ждем голосов! Чем больше их будет, тем быстрее Ярослав запустит данный курс!
  5. 12 likes
    Описание: Назначение: Получение подписи клиента в графическом виде. Позволяет получить векторную подпись клиента на устройстве и сохранить ее в файл с любым разрешением Поддерживаемые платформы: Windows, OSX, Android, iOS Демо проект: Samples\SignatureDemo\SignatureDemo.dproj Доступен с версии: R102 Возможности: Экспорт подписи в файл или поток с любым разрешением (TfgSignature.SaveToFile, TfgSignature.SaveToStream). При этом в файле подпись кадрируется, то есть пустые не заполненные области справа, слева, сверху и снизу игнорируются. Доступно изменение точности записи подписи (TfgSignature.TrackingAccurancy). Возможность получить в процентах степень заполнения подписи клиента (TfgSignature.CalculatePercentFilling, TfgSignature.IsValidSignature) Возможность установить цвет (TfgSignature.Stroke) Возможность задать цвет заднего фона (TfgSignature.Brush) Доступно редактирование длительности отображения уведомления (TfgToast.Duration) Возможность менять глобальные параметры отображения всех тостов в рамках приложения (TfgToast.DefaultBackgroundColor, TfgToast.DefaultMessageColor и TfgToast.DefaultPadding) Скриншоты:
  6. 12 likes
    Ссылка на скачивание (Только для RAD Studio Berlin): fgx_0.7.1.118.zip Инструкция по установке: "Инструкция по установке набора компонентов FGX" FGX - Donate: QIWI: 4890 4941 7671 0929 Yandex.Money: 4100175510891 Описание Эта версия включает в себя следующий набор компонентов: Дизайнер итемов - дизайнер итемов. TfgToast (UPDATED) - класс отображения быстрых сообщений TfgFlipView - слайдер изображений. Поддерживает несколько способов переключения фотографий при помощи эффектов и сдвигов. При первом использовании ОБЯЗАТЕЛЬНО прочитать инструкцию "TfgFlipView - Инструкция загрузки стиля" TfgPositionAnimation - анимация свойств типа TPosition TfgPosition3DAnimation - анимация свойств типа TPosition3D TfgBitmapLinkAnimation - анимация свойств типа TBitmapLink TfgProgressDialog (UPDATED) - Компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения фоновой операции можно оценить. TfgActivityDialog (UPDATED) - компонент для отображения диалогового окна в момент выполнения длительной фоновой операции, когда время выполнения операции не возможно адекватно оценить. TfgActionSheet (UPDATED) - Аналог контекстного меню для мобильных платформ. TfgColorsPanel - Палитра цветов с возможностью выбора цвета. TfgGradientEdit (UPDATED) - Компонент выбора градиента. TfgLinkedLabel - Метка поддерживающая открытие Web ссылки в браузере по умолчанию. TfgApplicationEvents - компонент с возможностью легко задать обработчики на основные события приложения: Отслеживание смены состояния приложения, простой, обновление и выполнение действий Actions, Изменение ориентации устройства и тд. TfgVirtualKeyboard - компонент облегчающий работу с виртуальной клавиатурой. Позволяет задать пользовательские кнопки над виртуальной клавиатурой под iOS, а так же отлавливать события по отображению и скрытию клавиатуры. (UPDATED) Зарегистрированы все стилевые объекты на вкладке "FGX: Style objects" Список изменений TfgActionSheet: Добавлен новый вариант темы Theme = Custom и свойство ThemeID, позволяющий для андроида указать идентификатор своей темы диалога. Теперь доступна возможность создать свой вариант диалога для андроида. Изменен порядо срабатывания событий OnCancel, OnHide в реализации на iOS. Раньше срабатывали OnHide -> OnCancel, Теперь: OnCancel -> OnHide Обновлен пример Общие улучшения в читабельности кода TfgProgressDialog, TfgActivityDialog: Добавлен новый вариант темы Theme = Custom и свойство ThemeID, позволяющий для андроида указать идентификатор своей темы диалога. Обновлен пример Общие улучшения в читабельности кода TfgGradientEdit: Добавлено событие OnPointRemoved, срабатывающее, когда точка удалена из градиента. Обновлен пример TfgToast: Исправлена ошибка на iOS, приводящая к AV при многочисленном отображении тостов. (Спасибо Сергею Пьянкову за найденную ошибку) Регистрация стилевых объектов: Теперь регистрируются только те объекты, которые не добавлены в палитру.
  7. 11 likes
    Ссылка: http://blog.rzaripov.kz/2016/12/3-modernlistview.html Автор: Зарипов Равиль @ZuBy Описание: Реализация динамической подгрузки контента: Бесконечный скроллинг (например как лента в ВК) Паджинация/Пагинация (постраничная загрузка)
  8. 11 likes
    По первому фото слева на право: @kami @Brovin Yaroslav @RoschinSpb @Error
  9. 11 likes
    Большое спасибо Ярославу, что находит время и фиксит проблемы, которые мы тут поднимаем. И курсы его великолепные! Спасибо профессионалам, таким как ZuBy, который терпит наши глупые вопросы и помогает. СПАСИБО!!!
  10. 10 likes
    Сделал пример приложения для работы с Microsoft Word из приложения Delphi. Такое приложение может использоваться для обмена данными между объектами семейства Microsoft Office. Исходные коды приложения помогут вам понять, как работать с объектной моделью Microsoft Word. Чтобы лучше разобраться с нюансами Word, предлагаю ознакомиться со справочником Word VBA reference на MSDN. Проект создан в среде FireMonkey Delphi Berlin 10.1 Протестирован в MS Word 2010, 2016, Windows 7x64 и 10x64. Чтобы посмотреть пример, просто распакуйте zip-файл проекта и щелкайте по порядку кнопки на форме. Скачать Delphi Word Test WordTest.zip
  11. 10 likes
    Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios.html Автор: Зарипов Равиль @ZuBy Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS
  12. 10 likes
    Ссылка: http://blog.rzaripov.kz/2017/01/blog-post.html Автор: Зарипов Равиль @ZuBy Описание: Онлайн-сервисы в помощь разработчику по дизайну
  13. 10 likes
    Думаю пришло время и мне рассказать (еще) об одном своем проекте на FMX. С вашего позволения наименование программы убрал из описания. *******:ЕГАИС - это приложение для предпринимателей, которым необходимо (согласно новым требованиям закона) подтверждать любое движение алкоголя через систему учета ЕГАИС (Единая Государственная Автоматизированная Информационная Система). *******:КАССА - очень простой front-office для предпринимателей. Полная поддержка ЕГАИС и 54-ФЗ (об онлайн кассах). Работает с фискальными регистраторами АТОЛ, ШТРИХ-М и Viki-print. Сайт: https://www.ami-soft.ru/ Приложение для Android: ЕГАИС-приход Сейчас не развивается. Все усилия на WIndows версию. Но оба приложения используют единые формы и код. Прямая ссылка для загрузки ДЕМО-версии Используются: Delphi Berlin 10.1 upd 2 FireDac SQLITE FastReports FMX2 Parse (пока для системы активации, в разработке личный кабинет для пользователей с выгрузкой чеков и документов) Адаптировано для сенсорных экранов. Есть платные и бесплатные функции. Платных пользователей на 09.01.2017 - 1021. Программа позволяет: Подключение к УТМ по ip адресу или имени компьютера, возможность переключения между УТМ Просмотр входящих документов поставки алкоголя. Краткая информация о строках документа - сумма документа, поставщик, наименование товара Подтверждение, расхождение или отказ от получения накладной в ЕГАИС (платная функция) Запрос повторной отправки накладной на ее номеру Запрос всех неподтвержденных накладных Подтверждение или отказ приема накладной по ее номеру в ЕГАИС Отражение статуса накладной в системе ЕГАИС Отображение остатков в ЕГАИС по 1 и 2 регистру Списание продукции в ЕГАИС по данным остатков или приходной накладной Отправка актов постановки на баланс на 1 и 2 регистр Инвентаризация остатков в магазине Возврат поставщику, перемещение и продажа Передача товара в магазин и возврат на склад Работа с классификаторами товаров и партнеров в ЕГАИС Просмотр перечня служебных документов обмена (при включении режима Эксперт) Просмотр XML содержимого документов для анализа ошибок (при включении режима Эксперт) Автоматическое определение вашего ФСРАР ИД (уникального идентификатора по системе ЕГАИС)
  14. 10 likes
    Поздравляем Ярослава с Днем рождения! Благодарим за титанические усилия, которые он по собственной инициативе, не "благодаря", а скорее "вопреки", прилагает для развития нашего сообщества. Желаем не только профессионального благополучия, но и личного счастья! Ура, товарищи!
  15. 9 likes
    Доработал компонент. Добавлено: Поддержка Tint эффекта - TfgRatingBar.TintColor Автоматический размер - TfgRatingBar.AutoSize Режим только отображения - TfgRatingBar.ReadOnly Событие окончательного изменения рейтинга (отжатие пальца от экрана или кнопки мышки) - TfgRatingBar.OnChange Событие в процессе изменения рейтинга - TfgRatingBar.OnChanging
  16. 9 likes
    Ссылка: http://blog.rzaripov.kz/2016/11/0-modernlistview.html Автор: Равиль Зарипов @ZuBy Описание: Знакомство с ModernListView
  17. 9 likes
    Коллеги, всем привет! Сначала хочу всех немного успокоить. Часто бывает, что в команде (а то и в сборной) по футболу меняют тренера, ведущих игроков, стратегию игры и т.д. Для футбола это - нормально. Нормально ли это для разработки софта? Отвечу комплексно. Сначала скажу, что я - MVP Embarcadero, но работаю я в www.workspad.ru - компании, организованной Сергеем Орликом. Во многом моя работа в Embarcadero до Samsung-а повлияло на то, что Сергей меня взял себе сотрудником - сейчас я занимаюсь развитием международного бизнеса www.workspad.com. Delphi остаётся моим любимым инструментом, недавно я начал писать что-то на блоге, просто жизнь позволила заниматься этим активно. Также мы начали проект TurboCocoa, где мне доверили роль frontman-а. Это такая тулза поверх Delphi, чтобы можно было писать 100% нативные по UI/UX приложения (Mac OS, iOS, Android). Но это - отдельный разговор. Конкретно про IT-бизнес, разработку ПО, зрелость продукта и кадровую политику Embarcadero. Я могу себе позволить её комментировать, т.к. я НЕ сотрудник Embarcadero (that's really impossible from inside). Разработка современного ПО - не вся, а определённого класса - стала настолько зрелой, что может быть правильным образом формализована с точки зрения требований и разбита на изолированный класс задач. Первый небольшой софт писался человеком, который "всё-в-одном", мы знаем, что первые версии Pascal писались одним человеком. Теперь это - большой коллектив. Как только Delphi как продукт стала большой и (!) зрелой, то стало возможным оптимизировать вовлечение специалистов. Это нормально для строительства - каждый новый дом - отдельный релиз. Вот наняли архитекторов, вот - проектантов, вот - бригаду бетонщиков, вот - электриков. А вот - систему кондиционирования взяли у другой компании с их проектом и их монтажом, которые тоже сами кондиционеры не производят. А обслуживать здание будет вообще другая компания (багфиксинг). Поймите правильно - я связан тесными личными отношениями с Егвением Крюковым, Ярославом Бровиным и другими разработчиками Embarcadero. Но есть и объективные процессы, которые лично меня по жизни двигали часто не туда, куда я хотел двигаться сам - есть обстоятельства непреодолимой силы. Т.е. мой анализ - безличностный. Если мы побьём задачи развития Дельфи на составные компоненты, то - да - есть совсем изолированные задачи: - компоненты - компиляторы - надстройки над IDE Возможно, именно такая организация Delphi как открытой среды и явилось причиной модульности не только её самой, но и команды специалистов, её развивающей. Т.е. я бы не стал сейчас резко негативно высказываться (опять же, несмотря на дружбу с разработчиками-Эмбаркадеровцами). Вопрос контрактной схемы развития продукта существует. Например, есть такая компания - SoftServe. Я её знаю ещё со времён Samsung. Потому как эта компания выполняет заказные разработки для крупнейших вендоров в мире, что совсем не вредит продукту. Какие минусы. Конечно, если в основе продукта не стоит узкая команда эксклюзивных архитекторов, то могут быть проблемы. Но, положа руку на сердце, даже FMX уже стала зрелой платформой, архитектурно созданной и отработанной Евгением Крюковым. Вспомним Андерса Хейлсберга. Да и даже Вирта - совсем не обязательно, чтобы он работал в Embarcadero для развития языка Object Pascal. Компоненты - ну тут мы вообще видели, что многие компоненты (наш же всеми любимый FireDAC) как раз и создавался вне Borland/Embarcadero. Компилятор - вообще отдельная песня. Какие плюсы. Плюсы - возможность оптимизировать затраты на разработку. Всякий из нас знает, можно нанять строителей на оклад и на "объем - сделал/получил" - дают существенную разницу в результатах. Более того, это - мировой тренд. Если свой разработчик может "пудрить мозг", то сдельный - не сделал, не получил. Наняли другого. А ещё с внешней рабочей силой можно поддержать любой релизный темп. Нужно упереться и выполнить обещание перед пользователями - до-няняли ещё 10 разработчиков и уложились. Стегать своих сотрудников, работающих на постоянке - бесполезно. Что можно ждать в будущем. В будущем нужно ждать следующего релиза. Не секрет, что у Embarcadero roadmap существенно расходится с релизами. В случае с сторонней разработкой это будет невозможно. Всё будет выполняться точнее. Что по деньгам? Не думаю, что это - вопрос денег. Можно больше вложить и "резче" сделать релиз, чем "растягивать удовольствие годами" (то же Linux-компилятор, я ещё до-Embarcadero это слышал). И получить больше продаж. И более сильные рыночные позиции. В любом случае, контроля над разработкой у Embarcadero теперь больше, а средства - гибче. Нужно посмотреть на следующий релиз.
  18. 9 likes
    Я прокомментирую, но чуть попозже. Обязательно отвечу на все вопросы. На самый главный вопрос на счет форума. Сразу отвечу, форум будет работать в любом случае.
  19. 9 likes
    PowerOff - максимально упрощенное приложение для автоотключения компьютера. Приложение и исходный код можно загрузить здесь: https://github.com/errorcalc/PowerOff Полезно если вы перед сном любите включать ролики на YouTube/музыку/сериалы/фильмы, но засыпаете и они продолжают играть всю ночь, вызывая на утро головную боль... По большому счету утилита была написана и с целью проверить пригодность технологии FireMonkey для разработки - в целом - да, на данный момент, под Windows (и для имитирования UWP интерфейса), это вполне работоспособная технология.
  20. 9 likes
    Пока есть такие благодарные и вежливые люди, то помогать всегда в радость :-)
  21. 9 likes
    В общем я тупо вырезал часть из своего проекта. И создал маленький демо-проект. Работает везде! Хоть на Винде, хоть на Маке, хоть на Андроиде. Думаю - разберетесь. Тем-более, что там все очень просто. В демке сделал только два языка (в моем проекте их 11). Все в Ini-файлах, работает очень быстро. P.S. Все желающие могут использовать как хотят. Можете что-то добавлять, исправлять и т.д. Ну и не забываем делиться с другими... P.P.S. Позже выложу приложение (GUI) для редактирования файлов языков. С автоматическим переводчиком и прочими мелочами, упрощающими редактирование. Test_Translator.zip
  22. 8 likes
    небольшой фотоотчет. Будет время - напишу еще и результаты блиц-интервью участников. Начало встречи. потом было вот это ну и эпилог: на последнем фото, слева направо (без учета z-order): @kami @Error @Nik @Brovin Yaroslav
  23. 8 likes
    Первый набросок компонента, позволяющего организовать централизованное хранение графических ресурсов для всех платформ. Основные особенности: Спроектирован для использования одного экземпляра изображения во многих компонентах. Позволяет хранить все графические ресурсы любых размеров. В будущем не будет грузить картинки в память, если они не используются. А будет подгружать их из файла по мере необходимости. Тем самым будет значительно экономиться память. Хранение именованных графических ресурсов, а не по индексу. Это позволяет отразить в названии назначение картинки. Использование папок. Группировка изображений по смыслу для удобства работы с ними. Возможность загрузки разных картинок для разных устройств, или же загрузить один набор картинок для всех устройств. Удобная и быстрая загрузка изображений путем перетаскивания Хранение отступов изображения. Наглядное отображение картинки в свойствах компонентах. При изменении имени картинки, в компонентах используемых картинку идет автоматическое обновление имени картинки. В стандартном TImageList, из-за индексной структуру все картинки съезжают и при удалении картинки, компонент начинает отображать уже другую картинку.
  24. 8 likes
    Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html Автор: Зарипов Равиль @ZuBy Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2] В предыдущей части , я рассказывал как сделать настройку пуш уведомления в консоли Firebase, в этой я покажу код на Delphi и серверную часть на PHP https://github.com/rzaripov1990/PUSHTestFCM
  25. 8 likes
    Ссылка: http://yaroslavbrovin.ru/object_life_cycle_in_delphi_part_2_android_ios-ru/ Автор: Ярослав Бровин Продолжаем тему жизненного цикла объектов в мире Delphi, но в этой части рассматриваем эту тему в рамках мобильных платформ Android и iOS. Delphi вводит новый подход к управлению памятью в мобильных платформах. Появляется автоматический подсчет ссылок, который с одной стороны облегчает код разработчика и должен помочь ему, а с другой стороны раскладывает равномерно грабли на пути освоения новых платформ в мире Delphi.
  26. 8 likes
    Компания Embarcadero начинает новую образовательную программу. Целью программы является предоставление бесплатного доступа к средствам разработки RAD Studio, Delphi, C++Builder для государственных школ и университетов. В рамках программы школа или университет может получить: до 15 лицензий RAD Studio Pro для использования в учебном классе с подпиской на обновления. Срок действия - один год. Тип лицензии - Concurrent. до 100 лицензий RAD Studio Pro для студентов/школьников для использования дома для выполнения домашних заданий. Тип лицензий - Workstation. Срок действия - 9 месяцев. Подписка на обновления также включена. Условия продления лицензий и подписки будут определены позднее. Лицензии в данной программе образовательные. Они позволяют использовать продукты только в целях обучения программированию. Любая разработка, в том числе коммерческая, некоммерческая, научная или выполнение внутренних разработок по автоматизации школы/университета с помощью этих лицензий запрещена. Для участия в программе образовательное учреждение должно заполнить форму, подготовить письмо об образовательном использовании и оправить ее в Embarcadero. Для участия в программе требуется прохождение минимальной квалификации и одобрения заявки со стороны компании Embracdero. Также для участия в программе образовательное учреждение обязуется разместить на своем сайте лого Образовательного партнера Embarcadero. Образец лого будет предоставлен позднее. Образовательный прайс-лист сохраняет свое действие. Если учебному заведению нужны постоянные лицензии, большее число лицензий или лицензии другого типа или на другую редакцию продукта, а также если заказчик не попадает в категории "государственная школа" или "государственный университет", то он может воспользоваться действующим прайс-листом. Вложения: EDU_Licence_EMBT_Programm 2016.doc Embarcadero Academic Program Release 8-24-16 RU.DOCX RU Academic License Order Form 070916 .xlsx
  27. 8 likes
    Описание Назначение: Компонент предназначен для отображения группы TRadioButton и осуществления выбор. Поддерживает стилизацию. Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\RadioGroupDemo\RadioGroupDemo.dproj Возможности Стилизация через указание двух картинок отображающих голос и пустой голос Настройки отображения заголовка группы TfgRadiouGroup.TextOptions.TitleTextSettings Возможность выбрать настройки отображения заголовка группы из стиля TfgRadioGroup.TextOptions.StyledTitleTextSettings Настройки отображения текста TRadioGroup TfgRadiouGroup.TextOptions.ButtonTextSettings Возможность выбрать настройки отображения текста TRadioGroup из стиля TfgRadioGroup.TextOptions.StyledButtonTextSettings Текущий выбранный вариант TfgRadioGroup.ItemIndex Возможность разбить варианты на колонки TfgRadioGroup.AlignOptions.Columns Возможность указать отступы для вариантов по вертикале и горизонател TfgRadioGroup.AlignOptions.HorzSpace, TfgRadioGroup.AlignOptions.VertSpace Возможность узнать, когда пользователь делает выбор TfgRadioGroup.OnChanged
  28. 8 likes
    Основатель FMX Евгений Крюков в поисках работы: https://plus.google.com/u/0/105338484741532774705/posts/SnK5twK939Y Основатель FireDAC Дмитрий Арефьев тоже больше не работает. По Вашему мнению какие все же перспективы RAD при такой кадровой политике?
  29. 8 likes
    Компонент LED Panel - светодиодная панель с возможностью вывода текста бегущей строкой. В архив включена демонстрационная программа с исходным кодом. После запуска программы, кнопка с панели задач прячется в трей. LED_Panel.zip
  30. 8 likes
    Обещал вам продемонстрировать возможность записи видео в Android. Представляю решение с исходными кодами (VideoRecord.zip) для изучения этой возможности и использования в своих проектах. На представленном снимке есть 2 главных кнопки: "Modal Intent Record" и "Native Record". Modal Intent Record — удобно использовать в приложениях, потому что запись ведется приложением камеры, поставляемым с телефоном. После съемки в приложение возвращается сообщение о результатах — удачно/неудачно. Native Record — метод на базе интерфейса JMediaRecorder, используется, когда Intent Record не подходит. Например в Local Android сервисе ;-) Пользуйтесь на здоровье. Большая просьба к сообществу — помочь в комментариях с подбором оптимальных параметров записи видео в JMediaRecorder. Установленные сейчас параметры 640х480, и качество видео хромает. Нужно научиться переключать камеры, менять степень сжатия, включать/выключать вспышку, звук затвора. Здесь люди уже подбирали варианты параметров, но нужно протестировать на приложении из RAD Studio. На ресурсе разработчиков Android тема по JMediaRecorder находится здесь.
  31. 8 likes
    1. У колонки можно менять свойство Padding. 2. Grid теперь может быть и стилевым и нативным. В нативном этого события быть не может. Чтобы работать со стилями см. стилевое представление грида TStyledGrid в модуле FMX.Grid.Style.pas. 3. По моему мнению проколом было наличие этих свойств в публичной секции. Grid это составной компонент, он неким образом самостоятельно реагирует на события мыши, если Вы будете делать что-то своё, то ваши действия могут войти в противоречие со стандартным поведением этого компонента и непредсказуемым последствиям. Поскольку грид переписан чуть менее чем полностью я посчитал, что это хороший повод убрать потенциальную уязвимость, здесь указаны все упраздненные события. В этом обсуждении я пытался объяснить что можно сделать. 4. По этому поводу трудно что-то сказать навскидку, пишите в QC, не забудьте приложить простой воспроизводимый пример. 5. Да, дело в совместимости. Фон может содержать картинку, поэтому по умолчанию все ячейки прозрачные. Но, если добавить AlternatingRowBackground в Options, то событие будет вызываться. Также оно вызывается при появлении редактора. Вообще сильно рекомендую посмотреть демку GridDemo, там можно в run-time менять настройки и смотреть в логе все приходящие события. Еще здесь я что-то писал.
  32. 8 likes
    Вы знаете... На самом деле, за последний год изменилось очень многое. Я искренне рад за компанию Embarcadero, и, конечно, за сам продукт RAD Studio. Им есть над чем работать, возможно не хватает ресурсов и т.д. и т.п... Однако на все сложности, думаю, у них очень большие перспективы. Серьезно! На мой взгляд, на сегодняшний день, аналога RAD Studio просто не существует! Его просто нет! Ну вот хоть убейтесь - нет его! И это далеко не только мое мнение. Мнение очень многих серьезных программистов, которые используют и другие IDE и, тем-более, языки (и которые работают в очень серьезных компаниях). И "всепропальщиков" я слышу со времен моей работы с Turbo-Pascal 5.0... ) Недостатки есть у всех! Можно так охаять любую IDE и любой язык, - что мало не покажется. Это касается "любого" (я о всяких студиях... и мелкомягких и корпорацияхдобра)... Вопрос больше в ресурсах, которые есть у компании, чтобы оперативно решать проблемы: баги, обновления, документация, поддержка и т.д... А если говорить непосредственно о FMX, то вообще - все остальные тупо в пролете! И мы говорим о продукте компании, которая катастрофически уступает своими возможностями и ресурсами таким монстрам как Microsoft с их Visual Studio. Сейчас уже все больше и больше и документации и информации и ресурсов по FMX, в частности. Это и китайские ресурсы, и японские и немецкие. Не думайте - что только в постсоветском пространстве популярен Delphi, в частности, и среда RAD Studio. Это не серьезно! ) Китай, Япония, Германия, Франция и т.д. и т.д. Все больше и больше и открытых исходников и разнообразных ресурсов и компонентов. Тот же Boian Mitov - куча компонентов, уникальные инструменты. Большинство - с поддержкой, и под, FMX! (не реклама! ссылок не даю - сами найдете). Уникальный болгарский (если мне память не изменяет) программист - написал и развил огромную библиотеку... И таких как он - много. К чему я все это... А к тому - что изменилось столько всего! что даже не уверен, что об этом вообще надо говорить. А уж я то за ней следил еще со времен библиотеки VG-Scene (Евгения Крюкова) и далее - с самой первой XE... А уж текущий ресурс - считаю один из лучших. Главное - уметь пользоваться! И я полностью согласен с [Kitty] и поддерживаю - благодарю ребят за то, что они создали и ведут этот ресурс!
  33. 8 likes
    Ссылка: http://delphifmandroid.blogspot.ru/2016/09/delphi-android.html Автор: Андрей Ефимов Описание: Это маленькая заметка о том, какие события происходят, когда мы запускаем приложение на Android. В ней я покажу логи из LogCat (с описанием тестов, которые провёл) и мы выясним, какие же события происходят всегда, а какие нет.
  34. 8 likes
    Пишу на Delphi с ноября 1995 года (Delphi 1 под Win 3.11). До этого использовал TurboPascal и TurboC (еще с 1989 года), но как только увидел Delphi - то сразу влюбился в эту среду разработки. В последствии приходилось писать на С++, С#, PowerBuilder, но всегда возвращался на Delphi и каждый раз вздыхал с облегчением Однако в 2009-м уже серьёзно начал склоняться в сторону Java, но с появлением FireMonkey в очередной раз с радостью вздохнул и Delphi стала опять моей основной IDE. Теперь RAD Studio удовлетворяет все мои потребности в плане программирования и больше ни на какой другой язык я даже не смотрю.
  35. 8 likes
    Я использовал ранее только для себя. Я с его помощью получил часть данных в диссертацию и успешно защитился в 2007 году. Помню удивление моего диссертационного совета, когда узнали, что я сам написал эту программу. Совет был по иммунологии/клинической фармакологии. Но со временем мой основной программы продукт понравился многим. И с 2009 года я выпустил первую публичную версию еще на delphi7. С 2015 года полностью переписываю его на FMX, что добавило кроссплатформанности. Мой программный продукт является автоматизированным рабочим местом врача - клинического фармаколога. Самое главное, он абсолютно бесплатный и без рекламы. Пользователи - врачи со всей РФ. Поэтому в опросе наверху я не смог выбрать "как я использую студию".
  36. 7 likes
    Доброго времени суток! Для тех, кто не может опубликовать приложение в AppStore Если приложение посылает запросы на сервер и у Вас на сервере нет поддержки IPV6, Apple не опубликует приложение! Что нужно для успешной публикации: Получить у Вашего хостера IPV6 адрес (примерно такой вид имеет ipv6 адрес) 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d Если нет root-доступа к серверу, то можно воспользоваться сервисом https://cloudflare.com Если есть root-доступ, то ознакомьтесь с инструкцией Мы рассмотрим самый частый вариант, без root-доступа, через сервис CloudFlare Не буду расписывать регистрацию, там все просто Нажимаем +Add Site, вписываем адрес Вашего сайта (домен), как только система проверит конфигурацию Вашего текущего DNS, она предложит изменить NS-сервера В кабинете хостера Вам нужно будет сменить NS-сервара, на те которые выдал CloudFlare В CloudFlare -> раздел DNS Нужно будет дописать запись типа AAAA с Вашим ipv6 адресом Все поддомены которые есть также прописать через запись типа CNAME Чтобы работало FTP нужно отключить HTTP Proxy (CDN) Теперь FTP протокол будет доступен по IPv4, не по домену Ждём обновления DNS и проверяем правильность конфигурации Результат примерно такой должен быть Что нужно сделать в Delphi / C++: Выкидываем TidHTTP (Indy) и переписываем на TNetHTTPClient Приложу пример запроса и обработки ответов, учтен баг с получением контента на IOS TmyAPI.zip или https://github.com/rzaripov1990/FMX.HTTP.Request
  37. 7 likes
    Название: Слесарное дело Платформа: Android, Windows Устройство: ПК, смартфон, планшет Разрешение экрана: любое Ссылки на скачивание: Windows - https://yadi.sk/d/iIeC0OE8ukMoi ; Android - https://yadi.sk/d/edIZR2VuuRFce (в скором времени планируется размещение в Play Market) Описание: Приложение представляет собой электронный конспект по слесарному делу, с помощью которого можно самостоятельно подготовится к занятиям. В него включены 16 тем, поделённые на блоки. Для каждой темы разработаны тесты для самоконтроля. В приложении имеется глоссарий для быстрого поиска по основным понятиям, а также возможность экспорта материалов в текстовый PDF-формат для дальнейшей печати.
  38. 7 likes
    Вышло обновление до версии 1.5.0: - Исправлены переходы в глоссарии - Значительно уменьшен размер приложения - Настройки автоматической проверки обновлений - [Windows] Переработка приложения для Windows - [Windows] Добавлены анимации перехода - [Windows] Минимальные размеры окна ограничены 800 пикселями по ширине и 600 по высоте - [Android] Системная строка подкрашивается в "фирменный" синий во всех режимах работы приложения - [Android] Отключена анимация перетаскивания элементов бокового меню - [Android] Индикатор загрузки - [Android] Навигационная панель больше не перекрывает интерфейс приложения - [Android] Исправлена ошибка с сохранением PDF-документа - [Android] Увеличена скорость вывода информации и тестирования - [Android] Немного изменен внешний вид экрана вывода результата тестирования Ссылка на скачивание Android-версии: https://yadi.sk/d/edIZR2VuuRFce Ссылка на скачивание Windows-версии: https://yadi.sk/d/iIeC0OE8ukMoi
  39. 7 likes
    Вот сделал таблицу с событиями. Добавил в статью Очередь событий Delphi приложения на Android И получилось, что отслеживать сворачивание можно по: OnSaveState aeWillBecomeInactive EnteredBackground Разворачивание: WillBecomeForeground
  40. 7 likes
    Hi. New tools for Delphi IDE. Using CrossVcl you focus only on your VCL application and CrossVcl makes it cross-platform. This is beta software only for testing purpose. CrossVcl on early stage of development, what are to test in this release: * Installation process (CrossVcl creates copy and patches existing on your machine Vcl and Rtl sources, all original sources stay unmodified) * Upgrading simple or new Vcl project to macOS (Right Click on Project in Project Inspector) * Compilation and deploying of simple project Please do not create bug-report if you can't compile or launch big Vcl projects or any third-party controls at this stage. Bug reports and suggestions welcome at: https://bitbucket.org/crossvcl/crossvcl/issues We help you on: http://stackoverflow.com/questions/tagged/crossvcl Google+: https://plus.google.com/109334532832375082802 Facebook: https://www.facebook.com/crossvcl Twitter: https://twitter.com/VclCross Home
  41. 7 likes
    Даже не знаю или в правильный раздел форума пишу. Я, например, хочу поблагодарить в своей теме - krapotkin и Равиль Зарипов за очень полезные ответы. Реально помогают решить вопросы. Спасибо. Хотя все они паскалисты, все же удается иногда получить код на С++ со стороны. Очень в этом помогает автор Indy rlebeau, например эту статью: Статья он переводит в С++ тут: C++ и никто бы другой не помог. В этом плане тяжело, без него и никак вопрос не решить. А этот форум это симбиоз ума и решений! Спасибо Ярославу за реализацию и хоты бы одного спеца по С++ как по Дельфи и - вот оно счастье. Спасибо!
  42. 7 likes
    Выложена альфа версия ErrorSoft TurboUpdate - библиотека для легкого добавления автообновления в ваши FMX и VCL приложения под Windows. Совместимость - Delphi Seattle и выше. Описания пока нет, но в репозитории есть примеры для ознакомления. Лицензирование - для OpenSource и не коммерческого использования данная библиотека абсолютно бесплатна, допустимо изменение и т.д. Для коммерческого применения - пока нет решения. https://github.com/errorcalc/TurboUpdate Перед использованием необходимо установить необходимые Packages: TurboUpdateFmxOnly.groupproj - FMX only. TurboUpdateGroup.groupproj - VCL + FMX, зависит от ErrorSoftVclComponents(https://github.com/errorcalc/FreeEsVclComponents). Это ранняя альфа, необходимы ваши отзывы, критика и т.д.
  43. 7 likes
    Ссылка: https://habrahabr.ru/post/318876/ Автор: Error Описание: Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов. Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент. И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере. Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно. Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда! ...
  44. 7 likes
    Доброго времени суток! Навеяно этой темой. Посмотрел реализацию от @Pax Beach (за что ему спасибо большое) и столкнулся с тем что TRESTClient со всеми потрахами это просто дикий ужас. Решил собрать аналогичный пример, только не использовать TREST*** немного опишу, свою реализацию uAppSettings.pas - хранит описание вашего приложения созданного в ВК FMX.RESTLight.pas - модуль "общения" клиента с сервером FMX.RESTLight.Types.pas - тут хранятся типы для работы TRESTLight Приведу код, который постит Вам на стену текст var aFields: TArray<TmyRestParam>; aJSON: string; begin SetLength(aFields, 5); aFields[0] := TmyRestParam.Create('access_token', FAuthToken.token, false); aFields[1] := TmyRestParam.Create('v', FVKApp.APIVersion, false); aFields[2] := TmyRestParam.Create('owner_id', FAuthToken.user_id, false); aFields[3] := TmyRestParam.Create('friends_only', '0', false); aFields[4] := TmyRestParam.Create('message', 'Тестовое сообщение <RESTLight>', false); TTask.Run( procedure begin aJSON := TRESTLight.Execute('wall.post', FVKApp, aFields); TThread.Synchronize(TThread.CurrentThread, procedure begin Memo1.Lines.Add('---- wall.post ----'); Memo1.Lines.Add(aJSON); end); end); а вот так можно заливать файлы var aFields: TArray<TmyRestParam>; aJSON: string; begin SetLength(aFields, 4); aFields[0] := TmyRestParam.Create('access_token', FAuthToken.token, false); aFields[1] := TmyRestParam.Create('v', FVKApp.APIVersion, false); aFields[2] := TmyRestParam.Create('owner_id', FAuthToken.user_id, false); aFields[3] := TmyRestParam.Create('photo', aUploadFile, true); // для файлов указывается !!!true!!! TTask.Run( procedure begin // для загрузки файлов использовать TRESTLight.Execute2, в нем можно указать произвольный URL aJSON := TRESTLight.Execute2(aUploadURL, FVKApp, aFields); TThread.Synchronize(TThread.CurrentThread, procedure begin Memo1.Lines.Add('---- upload file to server ----'); Memo1.Lines.Add(aJSON); end); end); P.S. На правильность и оригинальность не претендую, просто альтернативный вариант. Мне например не понравилась как устроен TRESTClient, много компонентов лишних. В боевых условиях наверное код еще будет модернизироваться, я рассмотрел только пару методов, но думаю общая концепция не сильно поменяется GitHub TRESTLight.zip
  45. 7 likes
    Шарик ветром развернуло. С Новым Годом!
  46. 7 likes
    Равиль Зарипов предложил отличную мысль - устроить сходку дельфистов в Питере, посидеть где-нибудь, пообщаться Собственно, кому интересно, отпишитесь в комментариях, можно будет в декабре устроить встречу Думаю надо хотябы 5-6 человек.
  47. 7 likes
    Добрый день, Можно взять компонент TFlowLayout с плавающей разметкой внутренних компонентов. Накидывать туда TLabel со специальным стилем и AutoSize. Там где нужен перенос вставлять TFlowLayoutBreak. Всплывающий список со списком, я думаю не проблема. Можно взять TPopup с TListBox. Можно просто заюзать пикеры FMX.Pickers.pas. Взять пикер TCustomListPicker
  48. 7 likes
    1. Можно поставить и самую последнюю версию АПИ (на данный момент последняя версия АПИ 24 Android 7, но использовать рискованно, т.к. Студией официально заявлена поддержка только до версии АПИ 23) Google поддерживает обратную совместимость. 2. Частично, выбор зависит от версии АПИ, пример: в "Build Tools, Revision 23.0.0" появилась официальная поддержка Android 6.0 (API level 23). Т.е. если используете АПИ 23, то Build Tools должны быть версии 23.0.0 или более поздней. Опять же поддерживается обратная совместимость. Подобную информацию можно посмотреть тут SDK Build Tools Release Notes Те же правила относятся и к SDK Tools. По умолчанию студия ставит версию 24.3.3 (19 АПИ) 3. Версия только устанавливаемая вместе со студией! Буквально вчера удалось это на себе прочувствовать. По умолчанию ставится версия NDK r9c. Не обновляйте самостоятельно на последнюю версию, приложения перестанут запускаться на устройствах! 4. Для внутренней работы студии с НДК? не знаю точного ответа... 5. Изменить можно в файле AndroidManifest.template.xml 6. Всё это техническая информация, которая позволяет гуглу выдавать списки приложений под устройство пользователя. Т.е. если у пользователя АПИ 19 устройство, а ваше приложение работает с версиями не ниже 20 АПИ, то этому пользователю не будут показывать ваше приложение. Пример приложения написанного с такими настройками: SDK 23 АПИ NDK r9c в приложении я мониторю версию АПИ, чтобы не пытаться выдать новый функционал из 23 АПИ для версии (например) 19 АПИ. разработка проводилась на устройстве с АПИ 19 Тесты прошли на всех версиях АПИ выше 4.4 Приложение: Wifi Info (Установки: активные/всего - 119/337) Надеюсь хоть немного смог объяснить, хотя сам ещё не до конца понимаю, что хорошо для студии, что плохо... p.s. Всё описанное выше, справедливо для RAD Studio Berlin
  49. 7 likes
    Как обещал - приложение для создания, редактирования, автоматического перевода и сохранения Ini-файлов с переводами для локализации своих приложений. Для примера есть два файлики (Lang.en и Lang.ru) и другие файлы, содержание которых всем будет понятно) Все, вроде, просто) P.S. Все желающие могут использовать как хотят. Можете что-то добавлять, исправлять и т.д. Ну и не забываем делиться с другими...)) P.P.S. - делалось уже давно, под XE7. Кто захочет под XE10 - думаю все будет крайне просто переделать. SLLanguage.zip
  50. 7 likes
    Все уже придуманно до нас: https://github.com/jimmckeeth/DelphiPatterns
This leaderboard is set to Москва/GMT+03:00