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

haword

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

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

  • Посещение

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

    19

Весь контент haword

  1. я таких художеств не видел с конца 90х прошлого века, сам такой "красотой" страдал и было круто тогда )
  2. (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 изменить цвет то нарисует я думаю нужным цветом текст.
  3. вариант со своим 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';
  4. делай на 320х240 и будет счастье ) а вообще, для телефонов надо делать интерфейс адаптивный к размерам экрана. а стандартно, да, при большом экране будет масштабироваться в большую сторону, но в малую сторону не будет никто масштабирование делать так как вообще все может нечитаемым быть. если не получается адаптивный сделать интерфейс, попробуй https://docwiki.embarcadero.com/Libraries/Sydney/en/FMX.Layouts.TScaledLayout может подойдет.
  5. я думаю там не только firemonkey но и андроидная часть рассчитана под новую версию. хотя я собрал свой старый проект на 11 версии, на 7 андроиде запустился без проблем. НО! обнаружились косяки которых не было в предыдущей версии. выразилось в том что не сработало заполнение картинкой области. я проверил и на 11 андроиде, косяки были и там.
  6. как вариант 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.
  7. При закрытии формы, сделать цикл по элементам списка, и запоминать какие были раскрытые. Потом при открытии формы, опять в цикле выставить параметры раскрытия на нужных элементах списка.
  8. haword

    1 okt 2021

    Revert system files to default, на папке Library в нужной версии android в списке платформ. должно помочь если они действительно добавили поддержку 4 версии.
  9. https://stackoverflow.com/questions/14407759/delphi-xe3-mainform-hide
  10. с ембаркадерой так будет всегда. нужно устанавливать 11 версию. хочешь релизить свои программы - покупай новые версии. ну или переходи на что то другое, например чистый андроид на java/kotlin или на крайний случай xamarin.
  11. application.mainform = нужная форма а ту что была main закрываем.
  12. я думаю так не получиться. можно попробовать сделать так чтобы длл формировала нужную форму, например в json, а главная форма приложения уже разбирала его и показывала форму на его основе.
  13. в отличии от эпл у гугла более менее демократично. заплатил один раз 25$ и все. у эпла надо каждый год по 100$ платить.
  14. 100% правильная мысль. андроид + файрмонкей = глюки в проекте серьезнее калькулятора. я уже пытаюсь переписать на java свой проект. плюсы огнеобезьяны для меня в том что можно базу данных шифровать и достать от туда данные простому человеку будет очень и очень трудно. на андроиде то же можно шифровать, НО только сторонними библиотеками, а из-за них могут быть проблемы совместимости с новыми версиями андроида. минусы, из тех что я обнаружил, причем на последней версии - попробовал передать в ватсап или телегу текст из своей программы, да текст ушел но после возвращения в программу шрифт у листвью резко изменился почему-то, стал какой то странный, одна буква большая другая маленькая, хз от куда такой шрифт прицепил. из-за нехватки памяти что ли такое произошло, но произошло. скорость прорисовки - раза в три хуже чем на java, хотя странно, тут код нативный, и работает медленнее чем java. да на новых телефонах не заметно но у меня есть старый телефон с 7 андроидом и там это все заметно. ну и самое веселое - новые версии андроида часто несовместимые со старыми версиями делфи. программа написанная на java пашет и не падает, на делфи просто перестала запускаться на 11 андроиде. для меня лично огнеобезьяна хороша только для десктопных приложений, да никакой там красоты современной не получишь, гридов нормальных нет, бесплатных именно, редакторов текста типа ричедита так же нет нормальных, есть два варианта, от tms но у него картинку можно только в один ряд поставить с текстом, обтекать нельзя, ну и htmlcomponent использовать, все что надо есть, но цена у него кусачая. под линукс только через стороннюю библиотеку крюкова, которая без исходников. генератор отчетов только один - фастрепорт. в остальном более-менее рабочее ПО кросплатформенное написать можно.
  15. SaveToStream не подходит?) если грузить jpeg в tstringlist а потом через text выбирать куски и передавать, то с вероятностью 99.9999% на той стороне ничего не соберется, будут большие потери данных. так как в тексте будут отсутствовать комбинации байтов для которых нет символов. сколько годиков гению программирования интересно?)
  16. а что тут искать то? это ошибка огнеобезьяны. Либо находите способ как обновиться до 10.4.1, либо ищите исходники огнеобезьяны от 10.4.1 сравниваете со своими и добавляете изменения, подкидывайте их в свой проект и радуетесь. больше никак.
  17. никто вам старую машину на новую не поменяет ) но кто хочет найти выход тот находит. особенно если это касается ПО где старые глюки правят в новых только версиях, добавляя при этом новых )
  18. можно попробовать что то типа TStringGrid и в его событии OnDrawColumnCell прорисовывать то что надо вручную.
  19. на таких постоматах есть листание экрана кнопками такой, метод и использовать. либо использовать компоненты типа html component library либо thtmlview если vcl и там уже реализовать что надо.
  20. как 10.5 выйдет бесплатную до 10.4 дотянут наверное
  21. был бы очень благодарен. а в GetIt будет 2.8 версия? я что то там не нашел ее ( хотел под Linux попробовать ее.
  22. Классно! скидки будут?) я так понимаю в версии что идет GetIt нет ни скриптов, ни событий на элементах?
  23. haword

    [Android] Delphi vs. Lazarus

    конечно это не компоненты на форму кидать это руками описывать компоненты ) сделали правда что то похожее но и только похоже. но cмысл то не в этом а в том что работает все менее глючно чем у firemonkey. программа написанная для 4 андроида будет работать и на 10. а вот с firemonkey уже не так радостно. и скорость работы - на Java все намного плавнее работает чем под FM. для мелких проектов еще пойдет но для крупных не знаю. сегодня человек поддерживает а через год закопал проект и все.
  24. haword

    [Android] Delphi vs. Lazarus

    в Lazarus вообще закопали Android потому что некому его там развивать и поддерживать, насколько я в курсе. Так же как и FPGUI. мое мнение - писать на Firemonkeyi под Android можно но стабильности работы не получить, если пишешь что то серьезное. Возможно FGX и работает, не проверял. Но для себя уяснил, хочешь для андроида написать нужна писать на Android Studio. И не будет ни лагов при прокручивании больших списков, непонятных вылетов, и вид будет нативный. И даже - о ужас, не придется ждать выхода новой версии Delphi чтобы там пересобрать свою программу для новой версии Android. Все будет работать и так. Как более худший но рабочий вариант - попробовать Xamarin. Разработка полностью отличается от Delphi но программа более стабильна, с нативностью конечно такие же проблемы, но зато обновления идут часто, и поддержка более лучшая. А то что с каждой новой версией понимается минимальная версия Android вообще молчу, скоро минимальной станет 7 версия когда в Android Studio и Xamarin до сих пор можно под 4.4 писать. Конечно скажут сейчас что все уже на 9 и 10 сидят, но у меня телефон на 7.0 Android, и меня в нем все устраивает, но судя по всему в 10.5 Delphi будет последней кто будет поддерживать Android 7. За то для написания под Windows + MacOS + Linux одновременно, Firemonkey или Lazarus тут уже нельзя точно определиться, везде есть и свои минусы и свои плюсы.
×
×
  • Создать...