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

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

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

  • Посещение

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

    264

Активность репутации

  1. Like
    Равиль Зарипов (ZuBy) получил реакцию от Major в Как сделать стандартные диалоговые окна не такими скучными?   
    ну это и есть родные окошки андроида, с родными стилями (Dark, Light)
    в окошках не используются делфи контролы
  2. Like
    Равиль Зарипов (ZuBy) получил реакцию от r@di0 в Как сделать стандартные диалоговые окна не такими скучными?   
    ну вот такая есть штука у меня
     
    Это нативные окошки пока только под андроид
    NativeView.zip
  3. Like
    Равиль Зарипов (ZuBy) отреагировална sinuke в Защита FMX   
    например kami у него софт, связанный с авиацией (куда уж серьезнее?) и написан как раз на FMX под iOS (если не ошибаюсь)
  4. Like
    Равиль Зарипов (ZuBy) получил реакцию от rakhmet в Увеличение и уменьшение размера   
    такой возможности нет, т.к. (Default) - это константы
    если не ошибаюсь для Windows - 12, Android - 16, IOS - ...
    для adnroid программно
    для ios программно 
  5. Like
    Равиль Зарипов (ZuBy) отреагировална kami в Защита FMX   
    Вы подменяете терминологию. Никакое приложение само по себе не является устойчивым к взлому, если оно не содержит средства защиты от этого взлома. На каком бы языке ни было написано.
    Более того, нужно отличать хак приложения (чтобы оно запустилось вне зависимости от наличия лицензии) и получение данных, с которыми работает это приложение.
  6. Like
    Равиль Зарипов (ZuBy) отреагировална kami в Защита FMX   
    Давайте сперва уточним, что именно вы подразумеваете под взломом?
    Потому что если рассматривать взлом, как его понимаю я - то всякие "проверки сертификатов" будут убраны в ходе этого взлома. Поскольку являются неотъемлимой частью хака приложения. Взлом и дальнейшее распространение на мой взгляд - это "сделать так, чтобы программа всегда считала себя лицензионной и работала как ни в чем ни бывало".
  7. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в Чем отличается Debug от Release?   
    Ну как-бы все вроде из названия понятно
    Debug конфиг есть возможность пользоваться дебагером вес приложения больше из-за доп. файлов (deployment) Release конфиг дебагер не работает вес меньше возможность публикации приложении в магазины платформ
  8. Like
    Равиль Зарипов (ZuBy) отреагировална kami в Защита FMX   
    клиентскую часть, т.е. непосредственно само приложение - никак. Без доступа к серверу в моем случае оно бесполезно.
    Сервер может обладать информацией о всех устройствах, которые когда-либо к нему подключались и может блокировать новые, если лимит используемых устройств превышен. Или блокировать конкретные, если они выведены из эксплуатации. Или  вообще залочить доступ всем устройствам клиента - по усмотрению.
    Но это в моем случае, т.к. приложение не общедоступно и не будет выкладываться в AppStore.
    Ну и "вылечивать" приложение в моем случае смысла нет - достаточно скоро его функционал просто устареет, и крякнутая программа просто станет не актуальной.
     
    В общем и целом, если программе требуется подключение к серверу - защиту нужно реализовывать имено на нем. Но от взлома защищаться бессмысленно - когда приложение станет действительно популярным, его все равно поломают. А до тех пор - можно спать спокойно, взломщики даже не посмотрят в вашу сторону.
  9. Like
    Равиль Зарипов (ZuBy) получил реакцию от Major в Чем отличается Debug от Release?   
    Ну как-бы все вроде из названия понятно
    Debug конфиг есть возможность пользоваться дебагером вес приложения больше из-за доп. файлов (deployment) Release конфиг дебагер не работает вес меньше возможность публикации приложении в магазины платформ
  10. Like
    Равиль Зарипов (ZuBy) отреагировална Fedor K в Как можно реализовать таблицу?   
    Для таких таблиц лучше ее рисовать на ListView. Пока не видел достойных гридов для Андроид.
    Пример реализации:
     
  11. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Занимаемая приложением память   
    Если грубо, то примерно вот так:
    uses Androidapi.JNI.App, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os, Androidapi.JNIBridge; function IntArrayToJArray(const OrigArray: array of Integer): TJavaArray<Integer>; var I: Integer; begin Result := TJavaArray<Integer>.Create(Length(OrigArray)); for I := Low(OrigArray) to High(OrigArray) do Result.Items[I] := OrigArray[I]; end; procedure TForm3.Button1Click(Sender: TObject); var ActivityManager: JActivityManager; List: JList; Iterator: JIterator; Process: JActivityManager_RunningAppProcessInfo; ArrayMemoryInfo: TJavaObjectArray<JDebug_MemoryInfo>; begin ActivityManager := TJActivityManager.Wrap(TAndroidHelper.Context.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE)); List := ActivityManager.getRunningAppProcesses; Iterator := List.iterator; while Iterator.hasNext do begin Process := TJActivityManager_RunningAppProcessInfo.Wrap(Iterator.next); ArrayMemoryInfo := ActivityManager.getProcessMemoryInfo(IntArrayToJArray([Process.pid])); Memo1.Lines.Add(JStringToString(Process.processName) + ' ' + ArrayMemoryInfo[0].getTotalSharedDirty.ToString); end; end;  
    Повторюсь, это грубый, но рабочий пример. Рекомендуется доработать его перед использованием в рабочем проекте!
  12. Like
    Равиль Зарипов (ZuBy) получил реакцию от #WAMACO в [Статья] Онлайн-сервисы в помощь разработчику по дизайну   
    Ссылка: http://blog.rzaripov.kz/2017/01/blog-post.html
    Автор: Зарипов Равиль @ZuBy
    Описание: Онлайн-сервисы в помощь разработчику по дизайну
     
     
  13. Like
    Равиль Зарипов (ZuBy) получил реакцию от Major в Как подключать java-обёртки?   
    Поиск по форуму сэкономил бы много времени
    как раз то что вы хотите сделать, даже код есть
  14. Like
    Равиль Зарипов (ZuBy) получил реакцию от Andrey Efimov в Как подключать java-обёртки?   
    Поиск по форуму сэкономил бы много времени
    как раз то что вы хотите сделать, даже код есть
  15. Like
    Равиль Зарипов (ZuBy) отреагировална kami в Как подключать java-обёртки?   
    А можно и не выходить из IDE: Ctrl+Shift+F, выбираем Search in directories.
  16. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Как подключать java-обёртки?   
    Да, не спорю.
    Пару версий назад, данный поиск у меня глючил и я окончательно вернулся на Total Commander (он меня ещё ни разу не подводил )
  17. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Странный Splash   
    Утилита написана на JAVA, т.к. у вас уже установлен JRE, то просто скачиваете и запускаете.
    Более подробно про утилиту можно почитать по ссылке из статьи Улучшенный 9-patch редактор
  18. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Как подключать java-обёртки?   
    GetActivityManager - что это? такого в АПИ нет...
    Может вы имели ввиду ActivityManager -> getRunningAppProcesses() ? Если так, то вам необходимо подключить файл Androidapi.JNI.App.pas.
    Чтобы быстро найти файл, в котором реализован интерфейс/класс/метод из АПИ, можно воспользоваться любой утилитой позволяющей искать текст в файлах. Это может быть FAR, Total Commander и др. (я использую Total Commander)
  19. Like
    Равиль Зарипов (ZuBy) отреагировална Andrey Efimov в Как подключать java-обёртки?   
    android-** (** - версия АПИ, чем выше цифра, тем больше нового поддерживает обёртка. Обратная совместимость поддерживается.) Выбираете файл по АПИ под которое пишите.

    По вашему примеру:
    JList уже определён в файле "Androidapi.JNI.JavaTypes.pas", т.е. нет необходимости подключать стороннюю обёртку. Указываете в uses Androidapi.JNI.JavaTypes и работаете с JList.
     
    p.s. Обёртки, которые вы скачали, необходимо проверять, т.к. многие из них сгенерены с ошибками.
     
     
  20. Like
    Равиль Зарипов (ZuBy) получил реакцию от Rusland в Долгое нажатие на элементе (Android)   
    TGestureManager кинуть на форму связать контрол и TGestureManager через свойство Touch  выбрать LongTap в InteractiveGestures в событии OnGesture контрола написать примерно такое if EventInfo.GestureID = igiLongTap then ShowMessage('Long Tap'); а меню это уже совсем другая тема
  21. Like
    Равиль Зарипов (ZuBy) отреагировална RoschinSpb в Суперский сайт!   
  22. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в Долгое нажатие на элементе (Android)   
    TGestureManager кинуть на форму связать контрол и TGestureManager через свойство Touch  выбрать LongTap в InteractiveGestures в событии OnGesture контрола написать примерно такое if EventInfo.GestureID = igiLongTap then ShowMessage('Long Tap'); а меню это уже совсем другая тема
  23. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в Минимальный набор permissions   
    Ну так отключите если не используется и не будет пугать.
     
    Из коробки сделано, чтобы новички при создании нового приложения не испытывали сложности. Эти все разрешения используются в демках студии. По очереди или скопом.
  24. Like
    Равиль Зарипов (ZuBy) получил реакцию от Brovin Yaroslav в Долгое нажатие на элементе (Android)   
    TGestureManager кинуть на форму связать контрол и TGestureManager через свойство Touch  выбрать LongTap в InteractiveGestures в событии OnGesture контрола написать примерно такое if EventInfo.GestureID = igiLongTap then ShowMessage('Long Tap'); а меню это уже совсем другая тема
  25. Like
    Равиль Зарипов (ZuBy) получил реакцию от Major в Долгое нажатие на элементе (Android)   
    TGestureManager кинуть на форму связать контрол и TGestureManager через свойство Touch  выбрать LongTap в InteractiveGestures в событии OnGesture контрола написать примерно такое if EventInfo.GestureID = igiLongTap then ShowMessage('Long Tap'); а меню это уже совсем другая тема
×
×
  • Создать...