-
Постов
2 124 -
Зарегистрирован
-
Посещение
-
Победитель дней
391
Весь контент Brovin Yaroslav
-
Этот компонент не поддерживает этой функциональность. Но вы можете реализовать это используя событие: TDateEdit.OnChange procedure TForm1.DateEdit1Change(Sender: TObject); begin if DateEdit1.Date < MinDate then DateEdit1.Date := MinDate; if DateEdit1.Date > MaxDate then DateEdit1.Date := MaxDate; end;
-
Добрый день, Я ответил на вашу тему. Посмотрите, может вам уже не понадобиться. У нас нет регламента, как публиковать задание. Вы можете сделать это в любой удобной для вас форме. Опять же выбрать можете любого, кто откликнется. Все на ваше пожелание. Условия можете обсудить с каждым индивидуально в личных сообщениях или любым другим способом.
-
Попробуйте при подписи класса через атрибут указать следующую подпись: [JavaSignature('android/hardware/Camera$Size')] JCamera_Size = interface(JObject) В Delphi уже транслирован этот класс. Находится в Androidapi.JNI.Hardware.pas.
- 7 ответов
-
- JNIBridge
- JObjectClass
- (и ещё 1 )
-
Да, вы правы. Ошибся. StringOf использует текущую кодировку на платформе, на Windows - это ANSI, на мобильных платформах - это UTF8: function StringOf(const Bytes: TBytes): UnicodeString; begin if Assigned(Bytes) then Result := TEncoding.Default.GetString(Bytes, Low(Bytes), High(Bytes) + 1) else Result := ''; end; Поэтому лучше используйте TEncoding.ANSII: TEncoding.ANSI.GetString(BufferOfBytes, Low(BufferOfBytes), High(BufferOfBytes) + 1);
- 4 ответа
-
- StringOf
- AnsiString
-
(и ещё 5 )
C тегом:
-
На мобильных платформах по умолчанию используется Unicode. Как известно, символов занимает не байт, а два. Ошибка вам говорит о том, что для вашего массива символов в ASCII кодировки нету соответствующих символов в UTF. Решение Пишите массив с кодами символов специально под UniCode.
- 4 ответа
-
- StringOf
- AnsiString
-
(и ещё 5 )
C тегом:
-
Например так: const RequiredSclae = 1.0; var BitmapItem: TFixedBitmapItem; Bitmap: TBitmap; begin if OpenDialog.Execute then begin // Запрашиваем картинку для нужного Scale Bitmap := Image1.MultiResBitmap.Bitmaps[RequiredSclae]; // Проверяем, есть картинка или нет. if Bitmap = nil then begin // Если нет, то заводим контейнер для новой картинки BitmapItem := Image1.MultiResBitmap.Add; BitmapItem.Scale := RequiredSclae; Bitmap := BitmapItem.Bitmap; end; Bitmap.LoadFromFile(OpenDialog.FileName); end;
- 2 ответа
-
- TFixedBitmapItem
- TBitmap
-
(и ещё 1 )
C тегом:
-
Добрый день, Увы нет, это поведение определяется по умолчанию самой платформой: "Будет ли доступен эффект оттягивания или нет". AniCalculation есть в TListView, но он закрыт. Единственное решение, это при наличии исходников FMX, завести для TCustomListVIew открытое свойство для поля FAniCalc в файле FMX.ListView.pas. property AniCalculation: TAniCalculations read FAniCalc;
- 2 ответа
-
- TAniCalculations
- AniCalculation
- (и ещё 2 )
-
Hello, I will fix it in a next version of this library. But now you can use next workaround: Create new custom action in TfgActionSheet.Actions Don't set Standart action to it throught Action property. Write Event Handler for OnClick event and manual invoke standart action. For example: procedure TFormMain.fgActionSheetActions6Click(Sender: TObject); begin TakePhotoFromCameraAction1.ExecuteTarget(Button1); end;
- 21 ответ
-
- fgx
- tfgactivitydialog
-
(и ещё 2 )
C тегом:
-
Добрый день, Неправильно построили алгоритм. При скрытии стилизованных контролов, контрол выгружает (удаляет) свой стиль. Поэтому, когда вы из объекта стиля скрываете стилизуемый контрол (TListBoxItem), то он в свою очередь удаляет ваш стиль вместе с TSpinBox. В итоге управление возвращается у уже полностью разрушенный объект и вы получаете исключение. Чтобы в вашем варианте скрыть TListBoxItem есть триспособа: Сделать отложенное удаление штатными средствами FireMonkey: ListBoxItem1.Release; Явно запретить TListBoxItem выгружать стиль, когда он скрывается со сцены. Это можно сделать так: ListBoxItem1.DisableDisappear := False Поставить в очередь скрытие итема через TThread.Queen. В этом случае ваша процедура скрытия вызовется после всех действий. TThread.Queue(TThread.CurrentThread, procedure begin ListBoxItem1.Visible := False; end); Сделать отложенное скрытие. То есть после изменения значения TSpinBox, вы можете, например, запустить таймер на 500-600 мс и по истечении времени скрыть итем. Правда по мне так этот способ не надежный и я бы не советовал не использовать. P.S. Если хотите удалить итем из стилевого объекта, то лучше делать тогда вторым способом.
-
Попробуйте перезапустить девайс.
-
Добрый день, Определить, что TListBox (TScrollBox) прокручен до конца можно используя событие OnViewPortPositionChange. Это событие вызывается каждый раз при прокручивании контента. Этот метод возвращает текущее положение ViewPort - позиция окна, в котором отображаются текущие элементы TListBox. Об этом подробно описано в этой статье: "Платформонезависимый скроллинг в Fire Monkey" Ниже приведен код, который проверяет, что TListBox прокручен до конца. procedure TForm1.ListBox1ViewportPositionChange(Sender: TObject; const OldViewportPosition, NewViewportPosition: TPointF; const ContentSizeChanged: Boolean); begin if NewViewportPosition.Y > ListBox1.ContentBounds.Height - ListBox1.Height then ShowMessage('End!'); end;
- 1 ответ
-
- ViewPortPosition
- ContentBounds
- (и ещё 1 )
-
Использование жестов при развернутом окне Metropolis
Brovin Yaroslav ответил Вячеслав вопрос в Жесты
Добрый вечер, Багу проверили и завели. Workaround постараюсь посмотреть на неделе. -
TScrollBox Как очистить ScrollBox от содержимого
Brovin Yaroslav ответил brunnengi вопрос в TScrollBox
Все контролы, которые вы кидаете в TScrollBox находятся в дополнительном промежуточном контроле TScrollContent. Когда вы удаляете все дочерние узлы TScrollBox, то вы удаляете все сами, стиль и контент, что делать нельзя. Похожее поведение есть и в TTreeView: При попытке создать дочерние итемы при разворачивании узла дерева, у меня возникает ошибка. В чем может быть проблема? Поэтому, удалять объекты нужно непосредственно у контента. Это можно сделать так: type TOpenScrollBox = class(TScrollBox); procedure ClearChildren(AScrollBox: TScrollBox); begin Assert(AScrollBox <> nil); TOpenScrollBox(AScrollBox).Content.DeleteChildren; AScrollBox.Repaint; end;- 2 ответа
-
- DeleteChildren
- ChildrenCount
-
(и ещё 2 )
C тегом:
-
Marco Cantù [Руководство] RAD Studio Mobile Tutorial - XE6
Brovin Yaroslav опубликовал тема в Руководства
Название: RAD Studio Mobile Tutorial XE6 Язык: Английский Скачать: Doc Wiki Руководство хорошо описывает все фазы мобильной разработки: начиная от настройки среды и заканчивая использование мобильных сервисов. -
Задача решена
-
Использование жестов при развернутом окне Metropolis
Brovin Yaroslav ответил Вячеслав вопрос в Жесты
Спасибо за проект, завтра попробуем проверить, описанную вами проблему. -
Андрей, Для добавляемых картинок можно имя генирировать на основе индекса изображения. Как это сделано в VCL. И затем использовать индекс в других местах для выбора изображений. У меня есть прототип простой реализации TImageList на основе TStyleBook, там сделан специальный дизайнер картинок, который автоматически задает индекс загружаемым изображениям.
-
Добавление своего объекта в стиль бук, на примере добавления TImage: var Image: TImage; begin Image := TImage.Create(nil); Image.StyleName := 'MyNewImage'; ImageBook.Style.AddObject(Image); end; На счет остальных вопросов нужно смотреть по факту. Если скорость загрузки изображения вас не устраивает (тормозит интерфейс), то делайте асинхронную загрузку изображения в потоках. Иначе не нужно усложнять себе жизнь. Если изображений очень много и они большие, то я бы не стал всех грузить в TStyleBook. Опять же все зависит от реального варианта использования.
-
Добрый день, Такое поведение не предусмотрено.
- 1 ответ
-
- AniCalculations
- Animation
-
(и ещё 1 )
C тегом: