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

kami

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

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

  • Посещение

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

    41

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

  1. Like
    kami получил реакцию от zairkz в vkbdhelper - поднятие компонентов над клавиатурой   
    Коллеги, прошу при возможности протестировать очередную модификацию модуля.
    К сожалению, Santya видимо покинул форум надолго, так что отработать решение проблемы и возможные недостатки на "первом подопытном" не удалось.
     
    Основные изменения: очень многое переписал. По большому счету от исходного модуля осталась идея и два фундаментальных момента.
     
    Как обычно, спасибо Rusland за тестирование.    Осталось проверить, как ведет себя модуль с ScrollBox-ами, которые не растянуты на всю форму.
     
    vkbdhelper.zip
  2. Like
    kami получил реакцию от bigjorj в vkbdhelper - поднятие компонентов над клавиатурой   
    Коллеги, прошу при возможности протестировать очередную модификацию модуля.
    К сожалению, Santya видимо покинул форум надолго, так что отработать решение проблемы и возможные недостатки на "первом подопытном" не удалось.
     
    Основные изменения: очень многое переписал. По большому счету от исходного модуля осталась идея и два фундаментальных момента.
     
    Как обычно, спасибо Rusland за тестирование.    Осталось проверить, как ведет себя модуль с ScrollBox-ами, которые не растянуты на всю форму.
     
    vkbdhelper.zip
  3. Like
    kami получил реакцию от Error в TMS Pack for FireMonkey   
    Засунуть куки в веббраузер можно. Кстати, таким же макаром (если это позволяет javascript) можно и вставить в браузер логин/пароль и нажать на кнопку Login.
     
    Все "веббраузеры", которые вы можете использовать в FMX (да и в VCL, если уж на то пошло) - всего лишь надстройки над нативными.
    Нет такого метода у браузеров на всех платформах, который мог бы вытащить содержимое страницы или куки. Поэтому реализация такого должна привязываться к конкретной платформе, на которой это нужно провернуть. Например, на stackoverflow есть вопросы и ответы, как это сделать в Android на Java. Осталось разобраться и портировать код в свое приложение.
     
    FMX тут ни при чем. Возможно, вашему приложению не хватает каких-то разрешений. От того, что вы смените обертку, нативный браузер (используемый этой оберткой) не станет работать по другому.
  4. Like
    kami получил реакцию от rareMax в [TExpander] Как отловить событие OnExpand?   
    Все придумано до нас    http://stackoverflow.com/questions/35105713/delphi-set-the-texpander-height/35109511#35109511 берем protected - поле FIsExpanded и анализируем его в методе DoExpandedChanged.
    Хотите - добавьте свое событие, хотите - пользуйтесь так.
  5. Like
    kami получил реакцию от zairkz в vkbdhelper - поднятие компонентов над клавиатурой   
    vkbdHelper имеет весьма интересный алгоритм - если он находит scrollbox и понимает, что тот в состоянии поднять поле ввода так, чтобы оно было над клавиатурой, то собственный Layout не создается, а прокручивается имеющийся ScrollBox. Но там какой-то алгоритм работы со scrollbox-ом, который отличается от штатной демки.
    Не проверял этот момент и не менял его, попробую посмотреть, когда разгребусь с текущими вопросами.
  6. Like
    kami получил реакцию от zairkz в Передать значение в ITask   
    Так и делайте.
    ParseItem(i). Емнип, значение будет размещено в стеке, так что последующие изменения переменной на уже созданный таск не повлияют.
  7. Like
    kami получил реакцию от rareMax в System.IOUtils.TFile.WriteAllText потокобезопасная процедура?   
    Да, потокобезопасный "классовый" метод. Однако, в связи с соседней темой есть важные дополнения:
    1. этот метод не записывает преамбулу.
    2. Для записи используется кодировка UTF8
    3. Метод создает файл с эксклюзивным доступом к нему. Пока метод работает, попытка достучаться до файла (например из другого потока) провалится с выбросом исключения.
     
    Кроме того - нежелательно пользоваться методом TFile.AppendAllText без явного указания кодировки (буквально недавно здесь и здесь  была куча споров. Жалко, половину комментариев потерли...)
  8. Like
    kami получил реакцию от Равиль Зарипов (ZuBy) в vkbdhelper - поднятие компонентов над клавиатурой   
    Update. Исправили недостаток на Android 5. Большое спасибо Rusland за тестирование.
    Итоговый файл прикладываю.
     
    По прежнему не рекомендую использовать этот модуль, если создаваемые в runtime контролы ложатся напрямую на форму.
    Перед написанием претензий, пожалуйста прочитайте known issues в комментарии в начале файла.
     
    vkbdhelper.zip
  9. Like
    kami получил реакцию от rareMax в Как узнать, в какой кодировке файл?   
    В общем случае - никак. Если файл не содержит преамбулу (1-3 байта) - идентификатор кодировки, то предстоит только догадываться. Если содержит - посмотрите исходники TStringList или TFile.AppendAllText.
    Вкратце - для автоматического "угадывания" используемой кодировки задействуется TEncoding.GetBufferEncoding
  10. Like
    kami отреагировална beklexx в Ошибка при задании координат формы   
    ммм... я так понимаю что на форме 5 лежит TRectangle под именем left... бывает, когда переработаешь, отдохнуть вам надо бы... пивка там
  11. Like
    kami получил реакцию от Rusland в vkbdhelper - поднятие компонентов над клавиатурой   
    Update. Исправили недостаток на Android 5. Большое спасибо Rusland за тестирование.
    Итоговый файл прикладываю.
     
    По прежнему не рекомендую использовать этот модуль, если создаваемые в runtime контролы ложатся напрямую на форму.
    Перед написанием претензий, пожалуйста прочитайте known issues в комментарии в начале файла.
     
    vkbdhelper.zip
  12. Like
    kami получил реакцию от Rusland в vkbdhelper - поднятие компонентов над клавиатурой   
    Ну вот, собственно, что получилось.
    Решение, к сожалению, мне не нравится, поскольку основывается исключительно на том, что этот "левый" Rectangle лежит прямо на форме и имеет Align = Contents.
    В остальном - работает.
     
    Еще раз заострю внимание на своем предыдущем сообщении - если вы создаете контролы в runtime и выставляете родителем для них саму форму, то пользоваться этим модулем для вас противопоказано.
     
    Upd: заменил вложение. Прошу обратить внимание на комментарии в файле, касаемые known issues.
     
    vkbdhelper.zip
  13. Like
    kami получил реакцию от zairkz в Ошибка сертификата Apple   
    У меня в понедельник эта эпопея была, поскольку срок действия того сертификата закончился в воскресенье.
  14. Like
    kami получил реакцию от Rusland в Проблема при активации memo или edit программа зависает и закрывается.   
    Было бы неплохо продублировать сюда ответ из Stackoverflow, если он вам помог
  15. Like
    kami получил реакцию от zairkz в Как показать форму в Android при заблокированном устройстве   
    Простите, а зачем?
    Вот лежит у меня в кармане телефон. Тихо, спокойно лежит. И тут какое-то приложение решает, что нужно разблокировать экран и что-то показать. Во-первых, легко могут пойти несанкционированные нажатия (мотыляется телефон во внутреннем кармане куртки, фиг знает как сенсор экрана будет реагировать), а во-вторых включается экран и начинает усиленно садиться батарейка.
     
    Вопрос: на... в смысле, зачем я буду держать на своем устройстве такое приложение?
     
    "Правильные" приложения показывают уведомление в "шторке", сопровождаемое звуковым сигналом. Услышал пользователь - сам разблокировал экран и пошел разбираться. Не услышал - значит чем-то занят, нечего его беспокоить.
  16. Like
    kami получил реакцию от Равиль Зарипов (ZuBy) в Как показать форму в Android при заблокированном устройстве   
    Простите, а зачем?
    Вот лежит у меня в кармане телефон. Тихо, спокойно лежит. И тут какое-то приложение решает, что нужно разблокировать экран и что-то показать. Во-первых, легко могут пойти несанкционированные нажатия (мотыляется телефон во внутреннем кармане куртки, фиг знает как сенсор экрана будет реагировать), а во-вторых включается экран и начинает усиленно садиться батарейка.
     
    Вопрос: на... в смысле, зачем я буду держать на своем устройстве такое приложение?
     
    "Правильные" приложения показывают уведомление в "шторке", сопровождаемое звуковым сигналом. Услышал пользователь - сам разблокировал экран и пошел разбираться. Не услышал - значит чем-то занят, нечего его беспокоить.
  17. Like
    kami получил реакцию от Равиль Зарипов (ZuBy) в TMultiView и TListBox   
    А лучше не делать такие действия из "детей" MultiView.
    Установку Selected можно оставить, а скрывать лучше через какой-то промежуток времени (реализация "в лоб" - по таймеру с маленьким интервалом и однократным срабатыванием)
  18. Like
    kami получил реакцию от zairkz в [iOS] Добавить свои поля в Info.plist   
    Новые ключи, которые не предусмотрены опциями проекта, можно добавить (например) при помощи бесплатной утилиты iOS9 Fix от TMSSoftware
  19. Like
    kami получил реакцию от Равиль Зарипов (ZuBy) в [iOS] Добавить свои поля в Info.plist   
    Новые ключи, которые не предусмотрены опциями проекта, можно добавить (например) при помощи бесплатной утилиты iOS9 Fix от TMSSoftware
  20. Like
    kami получил реакцию от Rusland в NetHTTPClient и SSL   
    Очень легко.
     
    var     Response: IHTTPResponse;   begin      Response := FHTTPClient.Post(CONST_URL, Params, Stream);      AnswerCode := Response.StatusCode; // вот этот код.
  21. Like
    kami отреагировална Равиль Зарипов (ZuBy) в vkbdhelper - поднятие компонентов над клавиатурой   
    Привет Всем!
     
    vkbdhelper.pas
     
    Давно пользовался vkbdhelper'ом, но он был только для андроида.
    руки добрались и до этого, теперь его можно использовать и на IOS
     
    изменения
    * почистил uses секцию
    * убрал зависимость от платформ (кросс-платформенный)
    * добавил глобальную переменную VKOffset
     
    VKOffset - расстояние между контролом и клавиатурой
                     для тех случаев когда включены подсказки/автозамена
                     и контрол оказывается под доп. панелькой
     
    Не все клавиатуры включают доп. панели в свой размер!
    Например для IOS нужно всегда прибавлять 30-32 пикселя, панель с кнопкой Done перекрывает контрол
    {$IFDEF IOS} VKOffset := 31; {$ELSE} VKOffset := 0; // на свой вкус // не знаю как определить размер доп. панельки // когда она не входит в размер клавиатуры // и определить есть ли панелька вообще... {$ENDIF} vkbdhelper.zip
  22. Like
    kami отреагировална Равиль Зарипов (ZuBy) в Альтернатива FMX   
    Такой вопрос глупо задавать на форуме который посвящён только fmx. Здесь нет наверное людей которые для стеба сидят. А вообще, кто вам мешает изучать разные языки и фреймворки. Что душе будет ближе и рукам удобней то и выбирайте.
  23. Like
    kami получил реакцию от Ra72 в Как объединить два StileBook динамически?   
    В качестве самой очевидной ошибки:
    перед LoadFromStream нужно сделать
    FBinary.Seek(0, soBeginning); или
    FBinary.Position:=0;
  24. Like
    kami получил реакцию от Pax Beach в Пример создания Android приложения в RAD Studio 10 Seattle для работы c сервером MySQL. Работа с компонентами UniDAC от Devart.   
    {$IFDEF offtop}по ряду причин стараюсь использовать именно прослойку между БД и приложением. Стойкое убеждение (не для холивара) - не должна СУБД быть открытой для доступа "снаружи", даже если это локалка. Сегодня так, а завтра потребуется доступ через интернет... Я считаю, что правильный админ никогда не откроет порт для доступа к БД наружу. В данном случае не понимаю, что мешает установить свой сервис не на машину с СУБД, а "рядом".{$ENDIF}
     
    А так - да, рекламный пост
    Pax Beach   , все нормально, очень многие знают про UniDac
  25. Like
    kami получил реакцию от AngryOwl в Пример создания Android приложения в RAD Studio 10 Seattle для работы c сервером MySQL. Работа с компонентами UniDAC от Devart.   
    {$IFDEF offtop}по ряду причин стараюсь использовать именно прослойку между БД и приложением. Стойкое убеждение (не для холивара) - не должна СУБД быть открытой для доступа "снаружи", даже если это локалка. Сегодня так, а завтра потребуется доступ через интернет... Я считаю, что правильный админ никогда не откроет порт для доступа к БД наружу. В данном случае не понимаю, что мешает установить свой сервис не на машину с СУБД, а "рядом".{$ENDIF}
     
    А так - да, рекламный пост
    Pax Beach   , все нормально, очень многие знают про UniDac
×
×
  • Создать...