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

haword

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

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

  • Посещение

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

    19

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

  1. да нет, гугль заставляет программистов в своем приложении поддерживать все функции новых АПИ, но при этом если они захотят предоставлять совместимость со старыми версиями АПИ то пускай делают что то типа развилок в программах - если апи такое то такая функция а если такое то такая. что бы при запуске на новых версиях ос программы не падали. видать в следующих апи хотят полностью избавиться от устаревших вызовов функций.
  2. нет, это не зависит от версии. это напрямую зависит от поддержки программой этой sdk. например в делфи сейчас официально нет поддержки запроса разрешений. а значит выставить целевой sdk 23 уже не можем.
  3. да нет, все правильно. целевой sdk можно указывать любой для которого обеспечена совместимость. а вот минимальный зависит от того на какой версии он будет запускаться. но при этом вы гарантируете работу программы на sdk от минимальной до целевой.
  4. TArrByte = array[0..250] of Byte; TMyRec = record id : TArrByte; name : TArrByte; nomer : TArrByte; fio : TArrByte; end; будет работать и под андроидом. только вот надо извратиться что бы заполнить массив байтов юникодными символами
  5. о классная тема ) не люблю якать но я же говорил что надо переходить на нативную разработку если хочешь сделать что то серьезное, еще давно ) единственный минус в андроид студии в том что под андроид невозможно зашифровать свою БД и если кому надо сможет от туда вытащить данные, если есть рут на компе. то есть ты пахал заливал туда данные, руками, а тут на тебе одни умник прет себе все и вставляет в свою прогу. на делфи проще, поставил шифрование, и мало кто просто так найдет ключ к базе, придется в ассемблере много возиться. да есть шифровальщики бд НО все время надо прикладывать свою нативную либу в проект, а это значит что настанет момент и твоя прога перестанет работать на новых версиях. да и что еще бесит в андроид студии, после делфи ) это очень много чего надо делать в xml руками, визульная часть настроек там хромает сильно. за то на делфи простенькие программы типа калькуляторов, хелловордов и так далее это как два пальца .. )
  6. считывание и запись структурированных данных будет быстрее чем чтение и парсинг json или тем более запись в локальную бд если нужно просто считать данные и залить в массив. а вот поиск да фильтрация там да бд нужна.
  7. убери принудительное преобразование в utf8 и проверь
  8. даже программируя на делфи под мобильные платформы ты обязан знать основы API этих платформ. без этого не подключить никаких специфических приблуд. так что знать надо. а вот если бы еще и под нужной тебе платформой собирался код написанный для той платформы было бы то что надо. fmx, уже есть crossvcl, fmxlinux будет еще и fgx. а перечисли ) штук 5 гридов назови, штук 5 других интересных интерфейсов для мобильной платформы, только не надо называть те которые не используют интерфейс. мне нужен красивый грид под мобильник. из мне известных под fmx это tms и FireDataGrid, и все!! только не надо предлагать извращаться ListView, это не то. что бы твой продукт можно было установить через стандартные магазины или инсталяторы этих платформ. то есть что бы у тебя был нормальный продукт а не хз что с бубном в придачу. просто так запустить ехе можно на калькуляторе или подобное если у тебя более серьезный софт то это не выход а костыль. ты же не скажешь своему заказчику что для того что бы запустить твою программу ему надо установить вайн, настроить его, и только потом запускать твою программу. нет. он должен скачать его, установить и запустить и все. не, должна быть одна большая КРАСНАЯ кнопка с надписью - ХОЧУ ) это очень много? ) много это года больше 100, а очень много это когда больше 1000.
  9. то есть еще один фреймворк ни с чем не совместимый для которого с нуля придется все писать. при этом если захочешь отказаться то заново переписывать программу надо будет. все таки crossvcl мне как то по описанию и рекламе больше нравиться. не тестировал его сам. но то что у него есть базовая совместимость с vcl это большой плюс для него. я большой скептик ) сомневаюсь я в этом. я сомневался в fmx когда он только появился, что не взлетит. не взлетел. компонентов мало. все глючит. в каждой версии что то да ломают. А вот что реально бы меня заинтересовало, очень причем, это фреймворк, который смог бы все что ты налабал на делфи, переводить в нативный код и потом этот код можно было бы собрать уже нативными студиями. например написал прогу на делфи, делаешь сборку для андроида и тадам, появляется папка java а в ней проект для android studio, который там же собирается и работает так как ты задумывал это в делфи. или собираешь а там папка apple а там проект для XCode и все собиралось бы для ios и macos. ВОТ!! где было бы счастье а это очередной клон который будет так же глючить как и fmx. при чем никаких сторонних компонентов невозможно будет использовать. хотя их и на fmx мало. а вот тот же crossvcl позиционирует себя как фреймворк с помощью которого можно собирать компоненты и те будут работать если они не использовали прямые обращения к апи винды. да и это не реклама crossvcl ) а вообще что можно сказать, поживем увидим )
  10. это говорит тот кто пришел и все обосрал )
  11. огнеобезьяна это универсальный инструмент. в нем никогда не будет всех приблуд и придумок различных разработчиков интерфейсов. есть базовый функционал, с ним и работайте и делайте что хотите. если нет желания допиливать базовые компоненты, пользуйтесь нативными, если я не ошибаюсь в TMS есть компоненты которые используют нативные для отображения. Ну или пользуйтесь именно теми средами разработки которые предлагает сама ОС а не универсальными. Да и на последок - помните, никто вам ничего не должен ) хотите пользуйтесь хотите нет.
  12. ну как обычно - ничего не хочу делать, скажите куда ткнуть что бы все заработало )) хочешь что бы заработало - перепиши код. нумерация с нуля это не та проблема о которой надо переживать собираясь писать под мобильные устройства на делфи. проблема в другом. в том что fmx вообще ни как не совместим с vcl и буквально все надо переписывать с нуля. поэтому никакой обратной совместимости в коде не будет.
  13. в делфи делается так - li:= lv.Items.Add; lii:=li.Objects.FindObjectT<TListItemImage>('Image'); lii.OwnsBitmap:=True; далее можно грузить картинку, если в потоке то TThread.Synchronize(TThread.CurrentThread, procedure() begin // присваивание битмапу картинки lii.Bitmap:= TBitmap.Create; lii.Bitmap.SetSize(ItemBitmap.Width, ItemBitmap.Height); lii.Bitmap.Clear(TAlphaColors.Null); lii.Bitmap.CopyFromBitmap(ItemBitmap); end );
  14. обычно люди с начало у гугля спрашивают а потом на форум идут. гугль сказал вот что - protected String doInBackground(String... params) { try { newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + "package name" + "&hl=en") .timeout(30000) .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6") .referrer("http://www.google.com") .get() .select("div[itemprop=softwareVersion]") .first() .ownText(); } catch (IOException e) { e.printStackTrace(); } return newVersion; } то есть просто скачиваешь страницу с маркета, ищешь там определенный DIV и в нем и находишь последнюю версию на маркете.
  15. в следующей версии они обещали сделать Z позиционирование контролов на формах. то есть в следующем году где то.
  16. почему до? потому что если после то работает если до то фиг вам.
  17. ну шо вы мени таки сказки рассказываете )) дошли у меня руки проверить и найти косяк. нашел. хотя может быть это фича а не баг ) короче кидаем на форму ListView, выставляем свойство показать строку поиска. на кнопку вешаем сие действие, запускаем, все красиво, ищет все что занесли var i: Integer; l: TListViewItem; begin ListView1.Items.Clear; for I := 0 to 1000 do begin l:= ListView1.Items.Add; l.Text:= i.ToString; end; end; И начинается самое интересное, изменяем процедуру добавив всего одну сроку l.Data['id'] := i; типа храним идентификатор, и ставим его ДО заполнения поля Text, запускаем программу, заполняем данными, вуаля, в поиске только видимые строки ) var i: Integer; l: TListViewItem; begin ListView1.Items.Clear; for I := 0 to 1000 do begin l:= ListView1.Items.Add; l.Data['id'] := i; l.Text:= i.ToString; end; end;
  18. уберите прозрачность в картинке и используйте старый формат выставления прозрачности через определенный цвет в нижнем углу картинки, если я не ошибаюсь.
  19. меняйте перед использованием через StringReplace и все.
  20. да сейчас попробовал на нулевом проекте, то же работает. странно. спасибо.
  21. haword

    ListView и фильтр в Berlin

    Привет всем. Столкнулся с непонятной ситуацией, поискал в гугле, не нашел ничего похожего. Проблема - есть ListView, в него загружаются в отдельном потоке строки, под 100 штук, проект ранее работал отлично на Seattle, просто тупо перенес в Berlin. Вроде все красиво, все работает. НО как только попробовал использовать фильтр так облом. Фильтруются только те строки которые видны были на экране. Если я не сролил вниз список то те сроки что не были показаны в фильтр попадают с пустыми значениями и мой фильтр их отсекает. Если я проскролю вниз вверх список то в фильтр попадают все строки и он начинает работать нормально. Я так понимаю проблема из-за нового ListView в Берлине. Ощущение что не создаются поля пока не будут показаны на экране и из-за этого они пустые при фильтрации. Как лечить? Создавать в дизайнтайме поля ListView?
×
×
  • Создать...