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

Martifan

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

    396
  • Зарегистрирован

  • Посещение

  • Победитель дней

    16

Активность репутации

  1. Like
    Martifan получил реакцию от Евгений Корепов в Linux Just Turned 25 and Delphi is Coming to Celebrate   
    http://blog.marcocantu.com/blog/2016-august-linux-25-delphi-coming.html
  2. Like
    Martifan получил реакцию от Равиль Зарипов (ZuBy) в Linux Just Turned 25 and Delphi is Coming to Celebrate   
    http://blog.marcocantu.com/blog/2016-august-linux-25-delphi-coming.html
  3. Like
    Martifan получил реакцию от AngryOwl в Linux Just Turned 25 and Delphi is Coming to Celebrate   
    http://blog.marcocantu.com/blog/2016-august-linux-25-delphi-coming.html
  4. Like
    Martifan отреагировална Brovin Yaroslav в [RX] [FGX] Описание версии 0.7.1.112   
    Ссылка на скачивание (Только для 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.
  5. Like
    Martifan получил реакцию от Kitty в iOS фоновом режиме   
    но есть приложении которые работают фоновом режиме Facebook и почти все банковские приложении их когда сворачиваешь геолокация остаётся включенным
  6. Like
    Martifan отреагировална mrseagull в Как управлять ProgressBar  с помощью Timer-а ?   
    У меня бомбит от таких вопросов. Когда человек просто поставил среду себе и даже не удасужился небольшую книжку для новичков пролистать. и пишут как цвет текста поменять или в таймере параметр менять - "Как сделать так чтобы было вот так".

    Просите за флуд. Но такое все чаще
  7. Like
    Martifan отреагировална Равиль Зарипов (ZuBy) в iOS фоновом режиме   
    можно дать понять IOS что после сворачивания приложение будет работать с сенсором

  8. Like
    Martifan отреагировална bigjorj в Запретить появления клавиатуры   
    Я не проверял, но попробуйте следующее 
     
        FMX.Types.VKAutoShowMode := TVKAutoShowMode.Never;
     
  9. Like
    Martifan отреагировална Rusland в RAD 11 на подходе?   
    Intel Abandons Atom Chips, Probably Leaving Mobile Industry
    Туда им и дорога
  10. Like
    Martifan получил реакцию от Dev в [Android] Как свернуть приложение?   
    Нашел еще один способ:
      Uses     Androidapi.Helpers; procedure TfMain.SpeedButton11Click(Sender: TObject); begin   SharedActivity.moveTaskToBack(True); end;
  11. Like
    Martifan отреагировална krapotkin в Синхронизация   
    а в чем проблема?
    варианты AppTethering, Datasnap, Web-сервер
  12. Like
    Martifan отреагировална krapotkin в Быстро разрывается связь   
    ну так 100500 раз говорено, что не должен телефон напрямик обращаться к базам
    нужен промежуточный сервер, который будет сидеть в базе и слушать запросы с телефона по HTTP
     
  13. Like
    Martifan отреагировална Rusland в GPS   
    Собственно то что написал и есть пример. Но собственно нужно еще протестировать как будет работать при движении (я пока тестил когда объект неподвижен).
    GetDistance я брал вроде у ZuBy:
    function TFormMain.GetDistance(const aStart, aEnd: TMapCoordinate): Double; const // определение расстояния между двумя точками Radius = 6372795; // примерный радиус земли PiDiv180=Pi/180; var CosLatStart, SinLatStart, CosLatEnd, SinLatEnd, Delta, CosDelta, SinDelta, X, Y: Double; begin try CosLatStart := Cos(aStart.Latitude * PiDiv180); CosLatEnd := Cos(aEnd.Latitude * PiDiv180); SinLatStart := Sin(aStart.Latitude * PiDiv180); SinLatEnd := Sin(aEnd.Latitude * PiDiv180); Delta := (aEnd.Longitude * PiDiv180) - (aStart.Longitude * PiDiv180); CosDelta := Cos(Delta); SinDelta := Sin(Delta); Y := Sqrt(((CosLatEnd*SinDelta)*(CosLatEnd*SinDelta))+ ((CosLatStart*SinLatEnd-SinLatStart*CosLatEnd*CosDelta) *(CosLatStart*SinLatEnd-SinLatStart*CosLatEnd*CosDelta))); X := SinLatStart * SinLatEnd + CosLatStart * CosLatEnd * CosDelta; Result := Round(ArcTan2(Y, X) * Radius); except Result := -1; end; end;  
    Alexander, Решение рабочее. 
     
  14. Like
    Martifan отреагировална Rusland в GPS   
    Пока придумал вести список последних N-координат (я взял 10) и
    1.) сравнивать последнюю полученную с предыдущей на измененное расстояние. Если расстояние больше чем M-метров (в моем случае 100м), значит координата "захвачена" с базовой станции, а не GPS
    if (GetDistance(x,y,x2,y2)>100) then Result:=false 2.) во время стоянки объекта проверять принадлежит ли последняя координата (Ш0,Д0) многоугольнику вершинами которого являются предыдущие координаты (Ш1,Д1) - (ШN, ДN).
    type tPolygon = array of tPoint; //tPoint - это запись, с двумя полями, x и y ... function IsCoordInPoly(x,y: integer; myP: tPolygon): boolean; //x и y - это координаты var //myP - массив с вершинами полигона i,j,npol: integer; inPoly: boolean; begin inPoly:=false; npol:=length(myP)-1; j:=npol; for i:=0 to npol do begin if ((((myP[i].y<y) and (y<myP[j].y)) or ((myP[j].y<=y) and (y<myP[i].y))) and (x>(myP[j].x-myP[i].x)*(y-myP[i].y) / (myP[j].y-myP[i].y)+myP[i].x)) then inPoly:=not inPoly; j:=i; end; result:=inPoly; end;  
    Но не оставляю надежды добраться до координат самого MapView 
  15. Like
    Martifan отреагировална Brovin Yaroslav в Хакнули регистрацию?   
    Скорее всего это все вручную делают. Единственное средство - это Модерация первого сообщения. Чтобы первый пост всегда модерировался. Если все ок, то тогда с пользователя снимается премодерация. Посмотрим за ситуацией недельку и примем решение.
    Мы уже включали ее, когда год назад было активное наползновение спамеров.
  16. Like
    Martifan отреагировална Равиль Зарипов (ZuBy) в RAD 11 на подходе?   
    Остаетесь надеяться что IDERA не подведет и в течении года хотя бы могли компилировать "Hello World". Может Делфи оживит эту платформу, главное действовать быстро, пока ниша пуста
  17. Like
    Martifan отреагировална Alex924 в [TMultiView] Текст кнопки вылезает за границы TMultiView в режиме NavigationPane   
    Всё оказалось даже проще, нужно выставить свойство ClipChildren у TMultiView в true и дочерние компоненты выходящие за границу автоматически скрываются!
  18. Like
    Martifan отреагировална Равиль Зарипов (ZuBy) в DeviceInfo - модуль для получения информации о девайсе   
    Обновленная версия, кое что подправил теперь нет ошибки на IOS 64 bit
    результат (Android, IPhone 4S, IPhone 6, MacOS Yosemite на виртуалке, Windows 10)

    Добавлена функция isGPSActive [ANDROID], определяет включен ли сенсор на устройстве
    DeviceInfo.zip
  19. Like
    Martifan отреагировална zairkz в С помощью каких компонентов проще всего реализовать онлайн чат?   
    Можно помучаться с TListView, но я остановился на TPresentedScrollBox и стилизованных Label'ах (облачки сообщений, под разные scale на png 9patch), скорость скролла хорошая, плюс есть боунсы и тд.
    Приложил исходники проекта, также в архиве отдельно chat.style
    procedure TForm2.ChatUp(UsID: integer; LastId: integer; CText: string); var   Labb: TLabel;   Marg: Single;   LT: TLayout; begin   LT := TLayout.Create(PR);   LT.Parent := PR.Content;   LT.Margins.Top := 2;   LT.Align := TAlignLayout.Top;   LT.Position.Y := PR.ContentBounds.Height + 50;   Marg := PR.Width * 0.20;   Labb := TLabel.Create(PR);   Labb.Parent := PR;   Labb.Align := TAlignLayout.Top;   Labb.AutoSize := True;   Labb.WordWrap := True;   Labb.TextSettings.WordWrap := True;   if UsID = 0 then   begin     Labb.Margins.Left := Marg;     Labb.Margins.Right := 4;     Labb.TextAlign := TTextAlign.Trailing;     Labb.StyleLookup := 'labelchat_green';   end   else   begin     Labb.Margins.Right := Marg;     Labb.Margins.Left := 4;     Labb.TextAlign := TTextAlign.Leading;     Labb.StyleLookup := 'labelchat_white';   end;   Labb.NeedStyleLookup;   Labb.Text := ' ' + CText + ' ';   LT.Height := Labb.Height + 4;   Labb.Parent := LT;   if UsID = 0 then     Labb.Align := TAlignLayout.Right   else     Labb.Align := TAlignLayout.Left; end; Первые признаки шизофрении:

    Chat.zip
  20. Like
    Martifan отреагировална Andrey Efimov в Какие статьи вы хотели бы видеть в блогах?   
    Статья/видео урок на английском: http://delphi.org/2014/07/android-voice/
  21. Like
    Martifan отреагировална fsdb в Какие статьи вы хотели бы видеть в блогах?   
    1. как воспроизвести потоковое видео с IP камеры на Андройд
    2. пример использования распознания речи google api на Андройд
    3. пример передачи даных из сервиса в приложение / узнать из севиса что приложение работает
  22. Like
    Martifan получил реакцию от zairkz в RAD 11 на подходе?   
    что тут спорить, кому не нравится на Delphi программировать есть очень много языков где можно писать код некто вас не держит а кому нравится остается на Delphi несмотря на рейтинги и всякое фигни вот и все, не хотите или рейтинг ненравится вас некто не держит
  23. Like
    Martifan отреагировална rareMax в Thoma Bravo Announces Sale of Embarcadero to Idera, Inc.   
    Ну по вашей ссылке - там ничего насчет стилей не увидел. 
  24. Like
    Martifan отреагировална Andrey Efimov в Помогите начать   
    Проблема в поддержке версии Андроид, в данном случае, XE5 не поддерживает разработку приложений под Android 5.
    Как уже сказал Zuby, чтобы разрабатывать под пятый Андроид, необходимо установить более свежую версию RAD Studio. Поддержка появилась с версии XE7 Upd 1, ставьте её, а ещё лучше, сразу последнюю, RAD Studio Seattle и будет вам счастье.
     
    Справка по поддерживаемым версиям Android:
    XE5: http://docwiki.embarcadero.com/RADStudio/XE5/en/Android_Devices_Supported_for_Application_Development
    XE6: http://docwiki.embarcadero.com/RADStudio/XE6/en/Android_Devices_Supported_for_Application_Development
    XE7 (для Android 5, выпущен ап): http://docwiki.embarcadero.com/RADStudio/XE7/en/Android_Devices_Supported_for_Application_Development
    XE8: http://docwiki.embarcadero.com/RADStudio/XE8/en/Android_Devices_Supported_for_Application_Development
    Seattle: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Android_Devices_Supported_for_Application_Development
     
    p.s. Разрабатывать на XE5, самое неблагодарное дело (как вспомню, сколько там багов было, даже в дрожь бросает), переходите на новую версию.
  25. Like
    Martifan отреагировална beklexx в GPS   
    я ещё не тестил, но судя по коду предоставленному Русланом, как то так:
     
    procedure TFrmMain.LocationSensorLocationChanged(Sender: TObject; const [Ref] OldLocation, NewLocation: TLocationCoord2D); var Lat,Lon:String; lSensorType : String; begin lSensorType := GetLocationSensorType(LocationSensor); if lSensorType = 'Triangulation' then exit; Lat:=Format('%2.6f',[NewLocation.Latitude]); Lon:=Format('%2.6f',[NewLocation.Longitude]); // выполняем что то там end;
×
×
  • Создать...