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

Kitty

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

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

  • Посещение

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

    16

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

  1. Like
    Kitty отреагировална Brovin Yaroslav в TWebBrowser всегда отображается поверх всех контролов   
    Добрый день,
     
    Пока ни как, так как нету поддержки микса нативных контролов и наших. Но стоит немного подождать... и такая поддержка может появиться.
     
    Как workaround, который предлагают, это использовать скриншот браузера, и в момент открытия TMultiView, заменять браузер на скриншот. Но такой подход по мне, не очень хороший. Но зато позволяет частично решить эту проблему в срочном порядке. 
  2. Like
    Kitty отреагировална ophion в Получение координат устройства Андроид   
    Реализации сервисных приложений под Android имели место, и об этом есть пара статей http://blog.blong.com/2013/11/delphi-and-android-services.html и http://blog.blong.com/2013/11/delphi-and-android-services-part-2.html
    Надеюсь, это Вам поможет
  3. Like
    Kitty отреагировална Brovin Yaroslav в Кнопки публикации ссылки на сайт в социальных сетях FaceBook и др. на главной странице   
    Добавил кнопки публикации ссылки на сайт внизу на главной страницу форума.

  4. Like
    Kitty отреагировална Brovin Yaroslav в Кнопки публикации ссылки на сайт в социальных сетях FaceBook и др. на главной странице   
    Ок, я вас понял, поищу плагины.
  5. Like
    Kitty отреагировална Brovin Yaroslav в Нужна книга   
    У меня есть уже несколько глав на книгу. Но на их написание ушло много времени. И эта работа требует очень много дополнительного вне рабочего времени. 
    Пока на текущий момент я думаю о создании электронных видео курсов. Это требует от меня меньше требование на оформление книги и тд. При этом я могу создавать отдельные курсы по интересным тематикам и их публикация не требует от меня создания всех курсов сразу. Если это интересно, то вы можете высказать какие темы вы хотели бы видеть в курсах и какие сами курсы.
  6. Like
    Kitty отреагировална Brovin Yaroslav в Пример смены изображения Image через эффекты TransictionEffect   
    Добрый день, MetropolisUIFlipViewDemo.zip
  7. Like
    Kitty отреагировална Brovin Yaroslav в [XE7] [Android] [TfgLinkedLabel] Не удается открыть браузер при клике на ссылку   
    В версии библиотеки FGX 0.5.0.41 найдена ошибка в компоненте TfgLinkedLabel, которая приводит к невозможности открыть ссылку в стандартном браузере.
     
    В будущей версии для XE8 эта ошибка устранена.

    Решения для текущей версии. Исправьте метод FMX.LinkedLabel.Android.TAndroidLaunchService.OpenURL:
    Было:
    function TAndroidLaunchService.OpenURL(const AUrl: string): Boolean; var Uri: Jnet_Uri; OpenLinkIntent: JIntent; begin Uri := StrToJURI(AUrl); OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri); OpenLinkIntent.setType(StringToJString('text/html')); OpenLinkIntent.addCategory(TJIntent.JavaClass.CATEGORY_BROWSABLE); SharedActivity.startActivity(OpenLinkIntent); Result := True; end; Стало:
    function TAndroidLaunchService.OpenURL(const AUrl: string): Boolean; var Uri: Jnet_Uri; OpenLinkIntent: JIntent; begin Uri := StrToJURI(AUrl); OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri); SharedActivity.startActivity(OpenLinkIntent); Result := True; end; Исправление будет включено в новой версию для XE8
  8. Like
    Kitty отреагировална Brovin Yaroslav в [TComboBox] Как сохранять ID в Combobox?   
    Описанная проблема зависит от платформы, а именно от ARC. Подобная тема была тут: У меня возникает ошибка при попытке добавить пустой TObject в TStringList
     
    Какие есть варианты решения:
    Использовать объектную оболочку вашего ID. Смотрите предложение от haword Использовать свойство Tag у итема TListBoxItem. 
  9. Like
    Kitty отреагировална rareMax в Roadmap на 2015 год   
    А на 2015 я думаю через пару месяцев распишут стратегию)
  10. Like
    Kitty отреагировална Brovin Yaroslav в [TEdit] Можно ли задать 24 размер шрифта для TEdit так, чтобы текст не обрезался контролом?   
    Добрый день,
     
    Рекомендую к прочтению:
    Почему для некоторых контролов нельзя поменять высоту или ширину? Если же, все-таки очень хочется задать 24 шрифт для TEdit, тогда следуем руководству:
    [Android] Не получается увеличить высоту TProgressBar
  11. Like
    Kitty отреагировална Brovin Yaroslav в [XE7] Hot Fix исправляющий проблему запуска приложений на Android 5.0 (Lollipop)   
    Beta hotfix for FireMonkey apps on Android 5.0 (Lollipop) Available to registered users of RAD Studio XE7, Delphi XE7 and C++Builder XE7 (except non-mobile editions) and Embarcadero All-Access XE Скачать: http://cc.embarcadero.com/item/30110
  12. Like
    Kitty отреагировална Brovin Yaroslav в [Android] [MX Player] Как поочередно запустить видео файлы?   
    На сколько я могу судить по API MX проигрывателя, я вижу, что он умеет:
    Проигрывать заранее составленный список файлов. Уведомлять о завершении просмотра файла: Значит,
    Вы можете из своего приложения узнать точно, когда файл будет полностью проигран и запустить на проигрывание новый файл. Проиграть заранее подготовленный ваш список файлов. В этом случае не нужно будет вообще мудрить. Как получить результат запроса на длительность файла
    Общий принцип работы интентов (намерений) в андроиде следующий:
    Вы формируете свой запрос на любое действие, согласно апи. Отправляете свой запрос в операционную систему  Получаете результат выполнения интента через onActivityResult Чтобы получить в Delphi ответ на ваш запрос, нужно прочитать эту тему: "Как в вызываемом приложении получить результат, объект JIntent?"
  13. Like
    Kitty отреагировална Brovin Yaroslav в [Android] Узнать продолжительность медиа файла?   
    Нужно создать нативный проигрыватель JMediaPlayer медиа-файлов, Указать ему URI к файлу и спросить требуемые параметры:
    uses Androidapi.JNI.Media, AndroidApi.Helpers, FMX.Helpers.Android, FMX.Platform.Android; function ExtractFileDuration(const AURIOfFile: string): Integer; var MediaPlayer: JMediaPlayer; begin MediaPlayer := TJMediaPlayer.JavaClass.create(MainActivity, StrToJURI(AURIOfFile)); if MediaPlayer <> nil then try Result := MediaPlayer.getDuration; // MSecs finally MediaPlayer.release; end else Result := 0; end; Если проигрыватель не создан, это значит, то указан не правильный путь к  файлу. Обратите внимание, что в качестве параметра нужно передавать URI на файл
  14. Like
    Kitty отреагировална Dozent в Не воспроизводится видео   
    Андрей, не это я не вам Абсолютно, а девушке у которой всё работает) А Вам вообще отдельное спасибо за ваш блог!!! Много там нужного и полезно, а с проблемой я справился!!!
    Я по своей невнимательности забыл что вертикальная палка это операция или и почему-то влупил AND
    Всё работает, простите меня за не внимательность....
    procedure TForm1.Play(const sFileName: string); var PackageName: Jstring; ActiveManager: JActivityManager; sFile, exe: string; Intent: JIntent; Data: Jnet_Uri; begin try sFile := sFileName; // MX player: https://sites.google.com/site/mxvpen/api PackageName := StringToJString('com.mxtech.videoplayer.ad'); ActiveManager := GetActivityManager(); ActiveManager.killBackgroundProcesses(PackageName); // exe := System.IOUtils.TPath.GetExtension(sFile); Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW); Data := StrToJURI(sFile); Intent.setDataAndType(Data, StringToJString(PWideChar('video/') + exe)); Intent.setPackage(PackageName); { Intent.putExtra(StringToJString('end_by'), StringToJString('user')); https://github.com/NineWorlds/serenity-android/issues/134 http://stackoverflow.com/questions/22408413/how-to-stop-android-mx-player-on-back-pressed } Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP or TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK or TJIntent.JavaClass.FLAG_ACTIVITY_NO_HISTORY); SharedActivity().startActivity(Intent); finally end; end;
  15. Like
    Kitty получил реакцию от Tarik02 в Имеет ли будущее проект?   
    Приложение нормально запустилось. Никаких dll не требует. Антивирус не кричит. Win7 64.
  16. Like
    Kitty отреагировална Tarik02 в TModel3D - загрузка моделей *.obj   
    Вопрос решил:
    TOBJModelImporter *MI; TModelImportServices *ImSe; IModelImporter *IMI;   MI = new TOBJModelImporter();   ImSe = new TModelImportServices(); ImSe->RegisterImporter(MI->operator IModelImporter *());
  17. Like
    Kitty отреагировална Ginne в Компоненты UIShapes [XE7][Win]   
    Компоненты UIShapes включают в себя небольшой набор примитивов, вот небольшой пример использования с различными настройками

     
    Пример и компоненты: UIShapesPackage.zip
    P.S. Для расширения набора компонентов приму ваши пожелания.
  18. Like
    Kitty отреагировална DanRom в [XE7] Приведите пример работы с DBF базой в XE7 через FireDAC   
    Я не знаю, актуально ли ещё (навряд ли), но для будущих поколений напишу.
     
    Итак, пример работы с локальными справочниками *.dbf с использованием FireDAC:
    - Кидаем на форму компоненты классов TFDConnection, TFDTable, TFDGUIxWaitCursor.
    - Прописываем у компонента класса TFDConnection в свойство Params.Database путь к папку с вашим *.dbf файлом (к примеру, если путь к *.dbf файлу "C:\Test_Application\Database\Table.dbf", то пишем "C:\Test_Application\Database")
    - В свойстве Params.DataSource выбираем dBase files
    - Драйвер выбираем, к примеру, ODBC.
    - Объект класса TFDTable соединяем с TFDConnection и заполняем свойство TableName (например, если ваш справочник называется "Table.dbf", то пишем "Table")
     
    Готово! Вы восхитительны!
    Осталось привязать TFDTable к какому-нибудь источнику данных (DataSource) и использовать на своё усмотрение.
     
    P.S: автор, извини, что опоздал на месяц.
  19. Like
    Kitty отреагировална Brovin Yaroslav в [TGrid] Не могу загрузить jpg из ресурсов в TImageColumn   
    Вы не правильно создаете столбец. Так как для столбца нужно обязательно указать родителя:
    vloTCol.Parent := Grid1; Без этого, ваш столбец  не прикрепляется к гриду.
  20. Like
    Kitty отреагировална Brovin Yaroslav в FastReport 2. Генератор отчетов для Mac OSX и Windows   
    Я думаю, лучше задать этот вопрос представителям FastReport на их сайте (адрес указан в начале темы). Так же там среди всех особенностей, указано:
    Видимо все-таки должна быть эта функция. Так как она указана.
    Кстати, в таблице сравнений функциональности версии под Windows и OSX, тоже ваши форматы присутствуют
  21. Like
    Kitty отреагировална Brovin Yaroslav в [Отклонение] Не перерисовываются границы в TGrid   
    В том же файле находим TCustomGrid.DrawAlternatingBackground (предположительно 2138 стрчока)
    procedure TCustomGrid.DrawAlternatingBackground(const DrawingContent: TControl; const Canvas: TCanvas); var I: Integer; P: TPointF; begin if TGridOption.AlternatingRowBackground in FOptions then for I := 0 to VisibleRows - 1 do begin if Odd(TopRow + I) then begin P := Content.LocalToAbsolute(PointF(0, (TopRow + I) * FRowHeight)); P := DrawingContent.AbsoluteToLocal(P); Canvas.FillRect(RectF(P.X, P.Y, P.X + Content.Width, P.Y + FRowHeight), 0, 0, [], AbsoluteOpacity, FOddFill); end; end;  Меняем 2150 строчку на:
    procedure TCustomGrid.DrawAlternatingBackground(const DrawingContent: TControl; const Canvas: TCanvas); var I: Integer; P: TPointF; begin if TGridOption.AlternatingRowBackground in FOptions then for I := 0 to VisibleRows - 1 do begin if Odd(TopRow + I) then begin P := Content.LocalToAbsolute(PointF(0, (TopRow + I) * FRowHeight)); P := DrawingContent.AbsoluteToLocal(P); Canvas.FillRect(RectF(P.X + ViewportPosition.X, P.Y, P.X + Content.Width + ViewportPosition.X, P.Y + FRowHeight), 0, 0, [], AbsoluteOpacity, FOddFill); // <-- добавляем смещение ViewportPosition end; end; end;
  22. Like
    Kitty отреагировална Brovin Yaroslav в [Отклонение] Не перерисовываются границы в TGrid   
    Добрый день,
     
    Ошибку завел в трекере. Временный Workaround:
    Открыть файл FMX.Grid.pas Найти TCustomGrid.DoContentPaint Предположительно 2292 строчка. Найти код:
    if TGridOption.RowLines in Options then begin W := Content.Width - 1; P := TPointF.Create(0, TopRow * FRowHeight); P := Content.LocalToAbsolute(P); P := TControl(Sender).AbsoluteToLocal(P); P.Offset(0.5, -0.5); for I := 0 to VisibleRows do // no -1 begin Canvas.DrawLine(P, PointF(P.X + W, P.Y), LAbsoluteOpacity); P.Offset(0, FRowHeight); end; end; Добавить после P.Offset(0.5, -0.5)
    P.X := P.X + ViewportPosition.X; Добавить исправленный файл в ваш проект.
  23. Like
    Kitty отреагировална Brovin Yaroslav в [Отклонение] Фильтрация текста не корректно работает с регистром   
    Как правильно написал haword, да, такая ошибка есть в XE7. Она уже была локально устранена. 
     
    Решения для всех у кого XE7. Найти файл FMX.SearchBox.pas, заменить код:
    procedure TSearchBoxModel.DoChangeTracking; var Lower: string; begin inherited; Lower := Text.Trim.ToLower; if SearchResponder <> nil then SearchResponder.SetFilterPredicate( function (X: string): Boolean begin Result := Lower.IsEmpty or LowerCase(X).Contains(Lower); end); end; На:
    procedure TSearchBoxModel.DoChangeTracking; var Lower: string; begin inherited; Lower := Text.Trim.ToLower; if SearchResponder <> nil then SearchResponder.SetFilterPredicate( function (X: string): Boolean begin Result := Lower.IsEmpty or X.ToLower.Contains(Lower); // <-- заменить LowerCase на ToLower end); end; И добавить этот файл в ваш проект
  24. Like
    Kitty отреагировална Brovin Yaroslav в [TGrid] Не могу загрузить jpg из ресурсов в TImageColumn   
    TGrid не хранит значения в отличии от TStringGrid. Поэтому TGrid запрашивает данные в тот момент, когда они необходимы для отображения ячейки через событие: TGrid.OnGetValue. В качестве параметров передается запрашиваемые данные для строки Row и столбца Col, а так же непосредственно параметр для передачи самого значения Value.
     
    Поэтому, чтобы вам задать значение для любого столбца, вам нужно написать обработчик для события OnGetValue. И в Value поместить значение. 
     
    Например, чтобы для столбца типа TImageColumn присвоить значение нужно написать следующий код:
    procedure TForm4.Grid1GetValue(Sender: TObject; const Col, Row: Integer; var Value: TValue); var Bitmap: TBitmap; begin // загружаем любое изображение Bitmap := TBitmap.CreateFromFile('image.png'); // Конвертируем изображение в универсальный тип TValue из RTTI Value := TValue.From<TBitmap>(Bitmap); end; 
  25. Like
    Kitty отреагировална Brovin Yaroslav в Как узнать позицию каретки в Edit в абсолютных координатах?   
    var CursorPos: TPointF; begin CursorPos := Edit1.Caret.Flasher.Pos; end; Это позиция каретки в локальных координатах TEdit. Если нужно в коринатах формы, то читаем О видах координат в FireMonkey и конвертации между ними
×
×
  • Создать...