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

walexw

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

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

  • Посещение

Сообщения, опубликованные walexw

  1. rad studio 10 seattle
    Кидаю на форму TLang. Добавляю второй язык. Все надписи отсканировались, но нет никакой возможности ввести их переводы.
    Что бы я не делал, едиты для ввода значения на английском языке не появляются.
    Судя по нашему форуму, такая бага замечена еще в предыдущих версиях.
    Как быть?

  2. Вариант ZuBy подошел.
    Если положить кнопки на панель, то панель закрывает последние строки и по ним не сделать клик.
    Убирающуюся панель не стал делать, мне надо чтобы кнопка всегда была видна, не убиралась.
    Круглый имидж запихнул в угол списка, он нормально работает и не мешает выбрать нижнюю строчку.
    ZuBy спасибо!

  3. Может не в тему пишу, извините.
    Много раз в и-нете, да и на нашем форуме, видел подобные скриншоты:
    fm1.jpg
    Классический список ListView, а поверх него, обычно внизу круглая кнопка.
    Мне как раз в приложении нужна такая кнопка. Чтобы внизу, справа (в углу) всегда находилась.
    Кто знает, подскажите, как делается такой функционал.
    Спасибо!

  4. 34 минуты назад, ZuBy сказал:

    проверьте на существование _objects

    Проверил. _objects есть NULL Теперь ошибка пропала, НО теперь первый раз ListView открывается по дефолту и только второй и последующие разы делает надпись на кнопке как мне надо.
    Не могу понять в чем фокус? Как сразу отрыть ListView с нужными значениями? Может есть способ как-то перепрочесть?

  5. В ‎23‎.‎05‎.‎2016 в 17:57, ZuBy сказал:

    стоит наверное при OnUpdateObjects проверять состояние ваших данных и красить снова

    Похоже вы правы. С цветом детейла я разобрался, UpdateObjects помогает. Но вот в чем новая заковыка. Но могу обратиться к TextButton
    void __fastcall TfrMain::ListViewUpdateObjects(TObject * const Sender, TListViewItem * const AItem)
    {
     TListViewItem::TListViewItemObjects * _objects = (const_cast<TListViewItem*>(AItem))->Objects;
     _objects->TextButton->Text = "test";
    }
    В последней строке для примера просто хочу заменить надпись на "test".
    При выполнении получаю: Access violation at address...
    Похоже на момент отработки UpdateObjects кнопки еще нет. Как поступить в этой ситуации?

  6. Мой старый вопрос: как открыть интернет-страничку браузером на устройстве, получил продолжение.
    На устройстве (андроид 4.4.2) установлены три браузера. Google, Dolphin и браузер со странным названием "ВЕБ-браузер".
    ВЕБ-браузер и Dolphin стояли при покупке, Google я сам поставил.
    Приложение fireMonkey на RAD studio XE 10
    Пробую открыть страничку (код выше), мне на выбор предлагается Dolphin  и какая-то гляделка HTMLviewer.
    Мне нужно открыть именно Гугл-хромом, он и в PDF сохраняет и на виртуальный принтер страницу отправляет.
    Я стираю Dolphin (в устройстве) в надежде, что мне предложат другие браузеры, ничего подобного, теперь страничка
    сразу открывается HTMLviewer'ом, который может только ее показать и все.
    Подскажите пожалуйста, как мне заставить открыть интернет страничку нужным браузером, или увидеть
    на выбор все браузеры и выбрать, как делается стандартно, когда страница в интернете.
    Спасибо.

  7. Нет. Данные закачиваются (и раскрашиваются) 1 раз, при открытии приложения.
    OnUpdateObjects у listView пустой, не задействован.
    Поворот устройства отслеживаю через OnResize главной формы, там разрешаю
    или запрещаю видимость мемо-поля, в зависимости от ориентации.
    Если запущена программа в ландшафтной ориентации - все ОК.
    Стоит перевернуть в "портрет", надписи на кнопках все становятся по дефолту
    и окраска детейлов тоже. Возврат устройства в "ландшафт" обратно, правильное
    оформление не возвращает. Но что интересно, у "закрытых" кнопок я в алгоритме
    блокирую доступ к процедуре редактирования и эта проверка остается работать
    правильно, т.е. косяк только в отрисовке на экране.

  8. Приложение на rad studio 10 seattle

    listView заполняю "руками", это значения из таблицы SQLite
    Если значение поля Close = true (закрытая запись), перекрашиваю detail в красный цвет (по умолчанию синий)
    и меняю на кнопке на надпись "закрыта" (по умолчанию "ред.")
    При запуске устройства все отлично, но стоит повернуть, ориентация меняется и красное становится синим и все кнопки
    одинаково подписаны, как по дефолту.
    При старте тоже так бывает, если сразу держать устройство в портретном варианте.
    Поворот устройства ловит процедура, которая гасит мемо поле справа, если "портрет".
    Как мне исправить ситуацию?

    Спасибо.

  9. rad studio 10 seattle (код на C++ builder), устройство android 4.4.2

    На форме 3 поля TEdit - страна, город, улица
    Начинаю заполнять страну - "Россия" (клава конечно подсказывает), пока все ОК
    Перехожу на город - "Москва", пока набираю первые 2-3 буквы, перед ними волшебным образом появляется "Россия", за ней без пробела уже все, что я набираю.
    Дальше улица - "Садовая", с ней та-же песня, но вставляется уже "РоссияМосква" за ней улица.
    Точно такой-же вопрос поднимался в форуме 2 года назад.
    http://fire-monkey.ru/topic/209-как-избавиться-от-лишней-вставки-текста-при-вводе-в-tedittmemo/#comment-764
    К сожалению, решение пока не найдено. В моем случае ситуация более тяжелая.
    Те-же поля в режиме редактора, допустим ошибся в слове "Москва", встаю в конец поля и бэкспейсом начинаю стирать последнюю букву.
    Сначала она стирается, тут же мгновенно вместо нее вписываются (как правило) 3 буквы, которые клава хочет подсказать.
    Вместо стирания набирается галиматья и после 3-4 букв приложение слетает с сообщением: "произошла ошибка приложения".
    Капец. Что делать? Кто что посоветует.
    Спасибо.

  10. Приложение FireMonkey, пишу на rad studio 10 seattle.

    На форме 7 полей Tedit один под другим, заполняются с клавиатуры, внизу кнопка "сохранить".
    Что-бы скакать от поля к полю ловлю в KeyDown нажатие Enter и пробрасываю фокус на следующий Edit, так до конца.
    По другому я не умею, поэтому пока было так, нормально работало. Сегодня поставил на устройство (android 4.4.2) GOOGLE-клавиатуру.
    Все круто, удобно, но теперь текстовые Едиты превратились в многострочные, Enter больше не ловится, а вводит вторую строчку, 3-ю, 4-ю...
    Помогите, кто знает, что делать в такой ситуации.
    И вообще как правильно делать обход полей по очереди при вводе, чтобы не пальцем выбирать.
    В виндах клавиша табуляции помогала, а как здесь?

    Спасибо.

  11. Пару месяцев назад установил свою программу (писал на rad studio 10 seattle) на планшет с версией Андроид 4.2
    С удивлением обнаружил, что при заполнении текстовых полей таблиц, клавиатура появляется с микрофоном и поля легко можно заполнять голосом.
    На днях поставил эту-же программу на планшет с Андроидом 4.4 Фокус не повторился. Клавиатура обычная, микрофона нет.
    Оба планшета новые, у обоих прекрасное голосовое управление гуглом.
    Помогите разобраться, как мне точно знать, на каких версиях ОС будет возможность заполнения текстовых полей голосом, через микрофон, а на каких нет.
    Спасибо.

  12. Мне необходимо по кнопке в моем приложении открыть страничку в браузере. Делаю так:
     

     _di_JIntent Intent;
    Intent = TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW);
    Intent->setDataAndType(StrToJURI(L"http://MySite.ru/MyPage.html"), StringToJString(L"text/html"));
    SharedActivity()->startActivity(Intent);

    Все прекрасно работает. Но в окончательном варианте, мне нужно открыть эту-же страничку не с сайта, а с планшета, она там тоже есть.
    Делаю почти тоже самое:

    String pageName = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), L"MyPage.html");
    
    if (FileExists(fileName)) {
     _di_JIntent Intent;
    Intent = TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW);
    Intent->setDataAndType(StrToJURI(pageName), StringToJString(L"text/html"));
    SharedActivity()->startActivity(Intent);
    }

    Получаю ошибку:

    Цитата

    android.content.Activity Not Found Exception
    No activity found to handle Intent

    Что я делаю не так? Как заставить браузер открыть файл с планшета?
    Может быть FileExists врет? Как проверить наличие файла кроме него.

    Спасибо.

  13. Тема, конечно старая. Прежде, чем писать просмотрел в поисковике ссылки, все дискуссии на эту тему старые, пару лет назад.
    Проблема простая, мне необходимо по моей БД (SQLite на планшете) выдавать простенькие табличные отчеты.
    Ну и конечно дать возможность их распечатывать. (Клиенты - обычные люди, не имеющие производственных сетевых ресурсов).
    Сейчас пробую "руками" загонять данные в html-страницы в виде таблиц, дальше (пока только в планах) печатать их через браузер.
    На дворе 2016-й год, может уже есть более цивилизованные решения... а я не знаю...

    Кто что посоветует?

    Спасибо.
     

  14. Налетел на те-же грабли. Разные процедуры для OnItemClick и OnButtonClick

    С OnItemClick никаких проблем, а при клике по кнопке (OnButtonClick) сначала срабатывает OnItemClick а уже затем кнопка.

    Неужели нет никакого способа развести эти процедуры, кроме как высчитывать попадание пальца (мышки) в Rect кнопки?

  15. На форме есть объект comboBox, заполняю его список 1 раз.

    При вводе каждой новой записи нужно выбрать какое-нибудь значение из него. Реакцию на нажатие ловлю в событии comboBoxChange.

    Если второй раз выбрали пункт отличный от первого раза, все прекрасно. Если кликнули на тот-же самый (что для задачи вполне нормально), то comboBoxChange игнорируется,

    ведь значение не поменялось. Принудительный перевод ItemIndex = -1 приводит к ошибке.

    Как решить проблему? Ситуация вроде обычная.

    Спасибо.

×
×
  • Создать...