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

haword

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

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

  • Посещение

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

    14

haword стал победителем дня 31 августа

haword имел наиболее популярный контент!

1 Подписчик

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

9 392 просмотра профиля
  1. (Sender as TStringGrid).StylesData['background.content.selection.Fill.Color'].AsType<TAlphaColor> (Sender as TStringGrid)(если тут nil то будет ошибка).StylesData['background.content.selection.Fill.Color'](если тут nil то будет ошибка).AsType<TAlphaColor> https://stackoverflow.com/questions/43624260/how-to-change-color-of-a-cell-in-a-delphi-tgrid-firemonkey-component тут варианты как можно рисовать, в конце способ отрисовки по умолчанию, если у Canvas изменить цвет то нарисует я думаю нужным цветом текст.
  2. вариант со своим TTreeViewItem нашел в интернете, проверил - работает. type TTreeViewItemNew = class(TTreeViewItem) private FOnChangeExpanded: TNotifyEvent; FOnChangeCollapsed: TNotifyEvent; protected procedure SetIsExpanded(const Value: Boolean); override; published property OnApplyStyleLookup; property OnChangeExpanded: TNotifyEvent read FOnChangeExpanded write FOnChangeExpanded; property OnChangeCollapsed: TNotifyEvent read FOnChangeCollapsed write FOnChangeCollapsed; end; .......... procedure TTreeViewItemNew.SetIsExpanded(const Value: Boolean); var LWasExpanded: boolean; begin LWasExpanded := IsExpanded; inherited; if (IsExpanded) AND (LWasExpanded = false) then begin if Assigned(OnChangeExpanded) then OnChangeExpanded(Self) end else if Assigned(OnChangeCollapsed) then OnChangeCollapsed(Self); end; procedure TForm.OnExpand(Sender: TObject); begin // end; .... newitem:= TTreeViewItemNew.Create(TreeView); newitem.Parent:= TreeView; newitem.OnChangeExpanded:= OnExpand; newitem.Text:= 'cccccccccc';
  3. делай на 320х240 и будет счастье ) а вообще, для телефонов надо делать интерфейс адаптивный к размерам экрана. а стандартно, да, при большом экране будет масштабироваться в большую сторону, но в малую сторону не будет никто масштабирование делать так как вообще все может нечитаемым быть. если не получается адаптивный сделать интерфейс, попробуй https://docwiki.embarcadero.com/Libraries/Sydney/en/FMX.Layouts.TScaledLayout может подойдет.
  4. я думаю там не только firemonkey но и андроидная часть рассчитана под новую версию. хотя я собрал свой старый проект на 11 версии, на 7 андроиде запустился без проблем. НО! обнаружились косяки которых не было в предыдущей версии. выразилось в том что не сработало заполнение картинкой области. я проверил и на 11 андроиде, косяки были и там.
  5. как вариант unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TreeView, FMX.Layouts, FMX.Controls.Presentation, FMX.StdCtrls; type TForm1 = class(TForm) TreeView1: TTreeView; TreeViewItem1: TTreeViewItem; TreeViewItem2: TTreeViewItem; TreeViewItem3: TTreeViewItem; TreeViewItem4: TTreeViewItem; TreeViewItem5: TTreeViewItem; TreeViewItem6: TTreeViewItem; TreeViewItem7: TTreeViewItem; TreeViewItem8: TTreeViewItem; TreeViewItem9: TTreeViewItem; TreeViewItem10: TTreeViewItem; TreeViewItem11: TTreeViewItem; TreeViewItem12: TTreeViewItem; procedure TreeViewItem2ApplyStyleLookup(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } FOldClick: TNotifyEvent; FButton: TCustomButton; public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); begin FOldClick(Sender); if (FButton.Parent.Parent is TTreeViewItem) then begin Caption:= BoolToStr((FButton.Parent.Parent as TTreeViewItem).IsExpanded); end; end; procedure TForm1.TreeViewItem2ApplyStyleLookup(Sender: TObject); begin if TreeViewItem2.FindStyleResource('button', FButton) then begin FOldClick:= FButton.OnClick; FButton.OnClick:= Button1Click; end; end; end. перекрывать ApplyStyleLookup у всех новых TTreeViewItem и хранить FButton например в массиве TArray<TCustomButton>, но это не очень красивый вариант. более красивый сделать TNewTreeViewItem, в нем реализовать нужный функционал и добавлять в TreeView.
  6. При закрытии формы, сделать цикл по элементам списка, и запоминать какие были раскрытые. Потом при открытии формы, опять в цикле выставить параметры раскрытия на нужных элементах списка.
  7. haword

    1 okt 2021

    Revert system files to default, на папке Library в нужной версии android в списке платформ. должно помочь если они действительно добавили поддержку 4 версии.
  8. https://stackoverflow.com/questions/14407759/delphi-xe3-mainform-hide
  9. с ембаркадерой так будет всегда. нужно устанавливать 11 версию. хочешь релизить свои программы - покупай новые версии. ну или переходи на что то другое, например чистый андроид на java/kotlin или на крайний случай xamarin.
  10. application.mainform = нужная форма а ту что была main закрываем.
  11. я думаю так не получиться. можно попробовать сделать так чтобы длл формировала нужную форму, например в json, а главная форма приложения уже разбирала его и показывала форму на его основе.
  12. в отличии от эпл у гугла более менее демократично. заплатил один раз 25$ и все. у эпла надо каждый год по 100$ платить.
  13. 100% правильная мысль. андроид + файрмонкей = глюки в проекте серьезнее калькулятора. я уже пытаюсь переписать на java свой проект. плюсы огнеобезьяны для меня в том что можно базу данных шифровать и достать от туда данные простому человеку будет очень и очень трудно. на андроиде то же можно шифровать, НО только сторонними библиотеками, а из-за них могут быть проблемы совместимости с новыми версиями андроида. минусы, из тех что я обнаружил, причем на последней версии - попробовал передать в ватсап или телегу текст из своей программы, да текст ушел но после возвращения в программу шрифт у листвью резко изменился почему-то, стал какой то странный, одна буква большая другая маленькая, хз от куда такой шрифт прицепил. из-за нехватки памяти что ли такое произошло, но произошло. скорость прорисовки - раза в три хуже чем на java, хотя странно, тут код нативный, и работает медленнее чем java. да на новых телефонах не заметно но у меня есть старый телефон с 7 андроидом и там это все заметно. ну и самое веселое - новые версии андроида часто несовместимые со старыми версиями делфи. программа написанная на java пашет и не падает, на делфи просто перестала запускаться на 11 андроиде. для меня лично огнеобезьяна хороша только для десктопных приложений, да никакой там красоты современной не получишь, гридов нормальных нет, бесплатных именно, редакторов текста типа ричедита так же нет нормальных, есть два варианта, от tms но у него картинку можно только в один ряд поставить с текстом, обтекать нельзя, ну и htmlcomponent использовать, все что надо есть, но цена у него кусачая. под линукс только через стороннюю библиотеку крюкова, которая без исходников. генератор отчетов только один - фастрепорт. в остальном более-менее рабочее ПО кросплатформенное написать можно.
  14. SaveToStream не подходит?) если грузить jpeg в tstringlist а потом через text выбирать куски и передавать, то с вероятностью 99.9999% на той стороне ничего не соберется, будут большие потери данных. так как в тексте будут отсутствовать комбинации байтов для которых нет символов. сколько годиков гению программирования интересно?)
  15. а что тут искать то? это ошибка огнеобезьяны. Либо находите способ как обновиться до 10.4.1, либо ищите исходники огнеобезьяны от 10.4.1 сравниваете со своими и добавляете изменения, подкидывайте их в свой проект и радуетесь. больше никак.
×
×
  • Создать...