x11

Пользователи
  • Публикации

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

  • Посещение

О x11

  • Звание
    Продвинутый пользователь

Посетители профиля

243 просмотра профиля
  1. Я понимаю. Но думал, что у новых версий Delphi/Firemonkey появилось тоже что-то такое, новое, удобное и из коробки.
  2. оооо, жаль, хотелось бы использовать стандартные компоненты
  3. У DevExpress есть замечательная и очень удобная компонента TreeList, где можно создавать несколько колонок. Да, можно вписывать текст прямо в свойство text, но это очень некрасиво и неправильно и влияет на поиск элемента по тексту. У FMX.TreeView нет такой возможности?
  4. Что за правка? Тоже стоит вопрос о том, как сделать прокрутку в TListBox плавной в Android?
  5. Тоже столкнулся с проблемой, что нет реакции, если ввести точку, запятую, минус, плюс, скобки, решётку. Т.е. вообще событие не срабатывает. а на цифры есть реакция. тынц Delphi 10.1 Berlin
  6. и я не первый, проблема аж XE5 тянется О_о тынц
  7. столкнулся с такой же проблемой: если вводить цифры, то событие срабатывает, а если точку или запятую, то не срабатывает.
  8. В Андроид событие не срабатывает на точку или запятую. А на цифру - срабатывает.
  9. Оооо, дебагер при работе в Android - это кошмар.
  10. Если пользователь вводит точку или запятую, то это нужно заменить на правильный символ-разделитель. Ну и удобно, чтобы пользователь не заморачивался и не гадал, какой символ нужно вводить. procedure TfmEditObject.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin if (KeyChar = '.') or (KeyChar = ',') then KeyChar := FormatSettings.DecimalSeparator; end; На Windows это работает. А вот в Android проблема - вводится и точка, и запятая. Замены не происходит.
  11. Изменил DropDownKind на Native. Теперь выпадает, как обычный Combo с названиями. Жаль, что видны только названия без цветов.
  12. ОК. Просто я думал, что я неправильно делаю.
  13. Жаль. Придёт пилить свой лисапет.
  14. Нет ли у FMX готовой функции для открытия веб-ссылок из приложения? А то приходится городить огород с лисапетами и кучей IFDEF. В итоге что у меня получилось. Для удобства разнес все по разным модулям. Модуль для Windiws unit uUtilsWindows; interface {$IFDEF MSWINDOWS} uses ShellApi, Variants, Windows, FMX.Types, FMX.Platform.Win; procedure WindowsOpenUrl(const sUrl: string; WindowHandle: TWindowHandle); {$ENDIF} implementation {$IFDEF MSWINDOWS} procedure WindowsOpenUrl(const sUrl: string; WindowHandle: TWindowHandle); begin ShellExecute(FmxHandleToHWND(WindowHandle), 'open', PChar(VarToStr(sURL)), nil, nil, SW_NORMAL); end; {$ENDIF} end. Модуль для Android unit uUtilsAndroid; interface {$IFDEF ANDROID} uses FMX.Helpers.Android, Androidapi.JNI.Net, Androidapi.JNI.GraphicsContentViewText, AndroidApi.Helpers; procedure AndroidOpenUrl(const sUrl: string); {$ENDIF} implementation {$IFDEF ANDROID} procedure AndroidOpenUrl(const sUrl: string); Var Uri: Jnet_Uri; OpenLinkIntent: JIntent; begin Uri := StrToJURI(sUrl); OpenLinkIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, Uri);// будем что-то смотреть OpenLinkIntent.addCategory(TJIntent.JavaClass.CATEGORY_BROWSABLE);// смотреть в браузере OpenLinkIntent.setData(Uri);// смотреть эту ссылку SharedActivity.startActivity(OpenLinkIntent);// открываем end; {$ENDIF} end. теперь в основной форме: uses ..., ...{$IFDEF ANDROID}, vkbdhelper, uUtilsAndroid{$ENDIF} {$IFDEF MSWINDOWS}, uUtilsWindows {$ENDIF}; ... ... ... procedure TfmEditObject.actOpenUrlExecute(Sender: TObject); begin {$IFDEF ANDROID}AndroidOpenUrl(edMapsCoordUrl.Text);{$ENDIF} {$IFDEF MSWINDOWS}WindowsOpenUrl(edMapsCoordUrl.Text, Self.Handle);{$ENDIF} end; А если добавлять ещё одну платформу, то ещё один модуль понадобится. Может есть более правильный вариант, так сказать, дизайна исходного кода?