-
Постов
190 -
Зарегистрирован
-
Посещение
-
Победитель дней
35
Активность репутации
-
sinuke получил реакцию от Евгений Корепов в Учебное приложение "Слесарное дело"
Вышло обновление до версии 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
-
sinuke получил реакцию от Rusland в Учебное приложение "Слесарное дело"
Вышло обновление до версии 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
-
sinuke отреагировална Andrey Efimov в [Статья][Android] Как получить информацию о потреблении ОЗУ?
Ссылка: http://delphifmandroid.blogspot.ru/2017/03/blog-post.html
Автор: Ефимов Андрей
Описание:
-
sinuke получил реакцию от Vitaldj в У TLabel пропали обработчики OnMouseMove, OnMouseDown и т.д.
может этому прямоугольнику нужно изменить свойство HitTest на False?
-
sinuke отреагировална Евгений Корепов в Окончательная точка в вопросе расчета высоты TListViewItem (TListItemText)
При расчете высоты TListItemText приходилось использовать костыль - указывать размер шрифта отличный от 12 (например 12.01 и т.д.), если эти пренебречь, то расчет высоты не работал и текст или резался или высота итема оказывалась гораздо больше текста. Проблема в том, что на стадиях расчета высоты, к TListItemText еще не применен стиль, и параметры шрифта не соответствуют тому как будет выглядеть окончательный вариант на экране.
Для правильного расчета высоты нужно выдернуть шрифт из стиля, делается это вот так:
Var AFontObject : TFontObject; AListItemText : TListItemText; ... AListItemText:=TListItemText(AItem.View.FindDrawable(AName)); if AListItemText=Nil then AListItemText:=TListItemText.Create(AItem); AFontObject:=(AListView.FindStyleResource('font') as TFontObject); if Assigned(AFontObject) then AListItemText.Font.Assign(AFontObject.Font); //Теперь вычисление высоты имеет смысл и не нужно задавать размер шрифта - он берется из стиля. AListItemText.Height:=CalculateHeight(AListItemText, AListView, FTextLayout); Или можно затолкать это действие в функцию вычисления высоты:
function CalculateHeight(const AListItemText : TListItemText; const AListView : TListView; const FTextLayout : TTextLayout) : Single; Var AFontObject : TFontObject; begin FTextLayout.BeginUpdate; try FTextLayout.Text:=AListItemText.Text; FTextLayout.MaxSize:=TPointF.Create(AListItemText.Width, TTextLayout.MaxLayoutSize.Y); AFontObject:=(AListView.FindStyleResource('font') as TFontObject); if Assigned(AFontObject) then FTextLayout.Font.Assign(AFontObject.Font) else FTextLayout.Font.Assign(AListItemText.Font); FTextLayout.WordWrap:=AListItemText.WordWrap; FTextLayout.Trimming:=AListItemText.Trimming; FTextLayout.HorizontalAlign:=AListItemText.TextAlign; FTextLayout.VerticalAlign:=AListItemText.TextVertAlign; finally FTextLayout.EndUpdate; end; // Result:=FTextLayout.Height * 1.4; // Теперь этот костыль не нужен Result:=FTextLayout.Height; end; Внимание! Если вы заполняете еще невидимый на экране ListView, не забудьте выполнить ListView.ApplyStyleLookup перед добавлением Items, иначе не получите правильный размер шрифта из стиля.
-
sinuke отреагировална Равиль Зарипов (ZuBy) в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]
Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html
Автор: Зарипов Равиль @ZuBy
Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]
В предыдущей части , я рассказывал как сделать настройку пуш уведомления в консоли Firebase, в этой я покажу код на Delphi и серверную часть на PHP
https://github.com/rzaripov1990/PUSHTestFCM
-
sinuke отреагировална Равиль Зарипов (ZuBy) в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 1]
Ссылка: http://blog.rzaripov.kz/2017/02/firebase-android-ios.html
Автор: Зарипов Равиль @ZuBy
Описание: Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS
-
sinuke отреагировална Kitty в krapotkin и Равиль Зарипов
Даже не знаю или в правильный раздел форума пишу. Я, например, хочу поблагодарить в своей теме - krapotkin и Равиль Зарипов за очень полезные ответы. Реально помогают решить вопросы. Спасибо.
Хотя все они паскалисты, все же удается иногда получить код на С++ со стороны. Очень в этом помогает автор Indy rlebeau, например эту статью: Статья
он переводит в С++ тут: C++ и никто бы другой не помог. В этом плане тяжело, без него и никак вопрос не решить.
А этот форум это симбиоз ума и решений! Спасибо Ярославу за реализацию и хоты бы одного спеца по С++ как по Дельфи и - вот оно счастье.
Спасибо!
-
sinuke получил реакцию от Kitty в Drag в мобильных приложениях
необходимо использовать жесты. обрабатывать их нужно в событии OnGesture
для определения того, что происходит в данный момент, есть EventInfo, с помощью которого можно узнать начался жест, окончился или нужно действовать по инерции (это свойство Flags). так же с помощью EventInfo можно узнать, какой именно жест происходит, а так же текущие координаты
в качестве примера вот можете глянуть мою "демку" (это я делал пробу пера для одного проекта). код не претендует на звание эталонного, но вроде понятный
test_touchanim.zip
-
sinuke получил реакцию от Major в Drag в мобильных приложениях
необходимо использовать жесты. обрабатывать их нужно в событии OnGesture
для определения того, что происходит в данный момент, есть EventInfo, с помощью которого можно узнать начался жест, окончился или нужно действовать по инерции (это свойство Flags). так же с помощью EventInfo можно узнать, какой именно жест происходит, а так же текущие координаты
в качестве примера вот можете глянуть мою "демку" (это я делал пробу пера для одного проекта). код не претендует на звание эталонного, но вроде понятный
test_touchanim.zip
-
sinuke получил реакцию от Rusland в Drag в мобильных приложениях
необходимо использовать жесты. обрабатывать их нужно в событии OnGesture
для определения того, что происходит в данный момент, есть EventInfo, с помощью которого можно узнать начался жест, окончился или нужно действовать по инерции (это свойство Flags). так же с помощью EventInfo можно узнать, какой именно жест происходит, а так же текущие координаты
в качестве примера вот можете глянуть мою "демку" (это я делал пробу пера для одного проекта). код не претендует на звание эталонного, но вроде понятный
test_touchanim.zip
-
sinuke отреагировална Error в ErrorSoft TurboUpdate - Автообновление ваших Windows приложений
Выложена альфа версия 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). Это ранняя альфа, необходимы ваши отзывы, критика и т.д.
-
-
-
sinuke получил реакцию от Равиль Зарипов (ZuBy) в Почему не работает OnMouseEnter у TLayout?
HitTest = True ???
-
-
sinuke получил реакцию от Равиль Зарипов (ZuBy) в Как определить скорость жестов?
скорость жеста можно определить по изменению координаты этого жеста (EventInfo.Location). Запомнить предыдущее положение и сравнить с теперешним. Если разность этих положений будет выходить за вами определенную дельту, то можно считать жест резким (мне пока только такой способ видится)
а длина отрезка жеста... EventInfo.Distance?
П.С. Это все определяется в OnGesture
-
sinuke получил реакцию от Major в Как определить скорость жестов?
скорость жеста можно определить по изменению координаты этого жеста (EventInfo.Location). Запомнить предыдущее положение и сравнить с теперешним. Если разность этих положений будет выходить за вами определенную дельту, то можно считать жест резким (мне пока только такой способ видится)
а длина отрезка жеста... EventInfo.Distance?
П.С. Это все определяется в OnGesture
-
sinuke получил реакцию от Kitty в Как определить скорость жестов?
скорость жеста можно определить по изменению координаты этого жеста (EventInfo.Location). Запомнить предыдущее положение и сравнить с теперешним. Если разность этих положений будет выходить за вами определенную дельту, то можно считать жест резким (мне пока только такой способ видится)
а длина отрезка жеста... EventInfo.Distance?
П.С. Это все определяется в OnGesture
-
sinuke отреагировална Brovin Yaroslav в Описание TfgRadioGroup
Описание
Назначение: Компонент предназначен для отображения группы 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
-
sinuke отреагировална rakhmet в Жесты: zoom: in + out
Вопрос: как определить, какое именно действие совершает пользователь - увеличивает или уменьшает?
Ответ: на примере сэмпла, поставляемого в комплекте с Delphi, в файле C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Mobile Snippets\InteractiveGestures\ImageZoom\ImageZoomU.pas можно попробовать заменить одну часть процедуры:
begin { zoom the image } LImage := TImage(LObj.GetObject); LImageCenter := LImage.Position.Point + PointF(LImage.Width / 2, LImage.Height / 2); LImage.Width := LImage.Width + (EventInfo.Distance - FLastDistance); LImage.Height := LImage.Height + (EventInfo.Distance - FLastDistance); LImage.Position.X := LImageCenter.X - LImage.Width / 2; LImage.Position.Y := LImageCenter.Y - LImage.Height / 2; end; на другую:
begin { zoom the image } if EventInfo.Distance > FLastDistance then showmessage('zoom in') else showmessage('zoom out'); end;
Что с этим делать дальше — думаю, объяснять излишне.
Если кто знает более элегантное решение, не основанное на вычислении дистанции, — смело делитесь, не стесняйтесь.
-
-
sinuke получил реакцию от Равиль Зарипов (ZuBy) в [Андроид] интерфейс приложения
а я бы сделал в ListView
-
sinuke получил реакцию от Равиль Зарипов (ZuBy) в Защита FMX
например kami у него софт, связанный с авиацией (куда уж серьезнее?) и написан как раз на FMX под iOS (если не ошибаюсь)
-
sinuke получил реакцию от rareMax в Защита FMX
например kami у него софт, связанный с авиацией (куда уж серьезнее?) и написан как раз на FMX под iOS (если не ошибаюсь)