gresaggr

Пользователи
  • Публикации

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

  • Посещение

О gresaggr

  • Звание
    Пользователь
  1. таблица

    Спасибо всем за советы. Пока реализовал по методу уважаемого ZuBy из данного сообщения:
  2. Добрый день. Подскажите, пожалуйста, как можно реализовать на Berlin для Андроида такую таблицу без StringGrid'а (динамически)?
  3. К сожалению так не получается: все равно происходит смещение.
  4. Всем добрый день. Дошло дело до дизайна приложения. Как правильно разместить кнопки поверх изображения фона? Исходные данные такие: Delphi 10.1 Berlin Update2. Приложение под Андроид. Есть фон в разрешении 1280*720.. На форме есть Layout с Align = Client. В Layout вставлен Image с Align = Client. Есть отдельные кнопки (на первом рисунке выделены черно-белым цветом). Как правильно сделать вставку кнопок, чтобы попасть на нижнюю кромку фона правил? Еще хочется сделать это универсальным для разных разрешений экрана. if res = 1280 then begin LayoutRulesText1.Margins.Top := 30; LayoutRulesText1.Margins.Bottom := 80; LayoutRulesText1.Margins.Left := 30; LayoutRulesText1.Margins.Right := 30; ImageRulesBack.Position.X := 50; ImageRulesBack.Position.Y := 510; ImageRulesBack.Width := 55; ImageRulesBack.Height := 55; ImageRulesForward.Position.X := 250; ImageRulesForward.Position.Y := 510; ImageRulesForward.Width := 55; ImageRulesForward.Height := 55; end; Изначально думал делать для каждого разрешения через case в зависимости от разрешения, но кажется что этот путь совсем неправильный!
  5. Поставил в самом конце. Помогло. Спасибо!
  6. Добрый день. Работал над проектом, все нормально компилировалось. В процессе работы отключилось электричество. Из последних изменений до новой компиляции был добавлен Image с загруженным png (свет отключили). После загрузки не компилируется и выдает ошибки на строке: tmp := TPath.Combine(TPath.GetSharedDocumentsPath, tmp + '.txt'); (Tpath does not contain a member named 'Combine') Undeclared identifier: 'Combine' Undeclared identifier: 'GetSharedDocumentsPath' в Uses помимо прочего прописан System.IOUtils. Проверял на двух разных компьютерах (Win 7/64) Из-за чего такое могло произойти и как быть? Update: вручную прописал tmp := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetSharedDocumentsPath, tmp + '.txt'); Ошибка исчезла, но хочется нормального решения.
  7. Огромное вам спасибо! Теперь все работает корректно!
  8. Я хочу чтобы было так: К примеру клик. Enable = false. Началась пауза. В момент паузы еще успели кликнуть три раза. Пауза завершилась. Enable=true. Вот эти три клика в момент паузы не должны считаться.
  9. Кому не сложно, попробуйте у себя проверить: Button1.Enabled:=false; Memo1.Lines.Add ('тест'); // или что-то другое сделать, чтобы можно было отследить пауза Button1.Enabled:=true; И несколько раз быстро нажмите на кнопку. Запуск не под Windows, а под Android. Как у вас все это отобразится? Может быть чего-то недопонимаю, но неужели на такую элементарную штуку, как нажатие на кнопку нужно "...после этого запустить поток, который 1. делает все что там вам нужно 2. при окончании работы разблокирует кнопку" и т.п.? P.S. В моем случае логика была отделена от интерфейса: // здесь код по смене карты + пауза в 2 секунды: в этом месте вызывается процедура. Или в нее также рекомендуете убрать enable кнопки?
  10. Как избежать повторных нажатий/ закликиваний на кнопку? Имеется следующий код: procedure Tfm.ButtonPrevCardClick(Sender: TObject); begin ButtonPrevCard.Enabled := false; Application.ProcessMessages; // здесь код по смене карты + пауза в 2 секунды ButtonPrevCard.Enabled := true; Application.ProcessMessages; end; Под Windows повторных нажатий/закликиваний при этом не происходит. А под Андроид, если пользователь быстро подряд нажал несколько раз, то сработает также несколько раз.
  11. Да, ваш вариант рабочий. Пожалуй, оставлю его - с деплоем удобней файлы заливать. Спасибо.
  12. Победил через ресурсы и StringList: NounsStringList.BeginUpdate; rs := TResourceStream.Create(hInstance, 'nouns', RT_RCDATA); try NounsStringList.LoadFromStream(rs); finally rs.Free; end; NounsStringList.EndUpdate; Спасибо за помощь.
  13. Добрый день. IDE: Delphi 10.1 Berlin Update2 OS: Windows 7/64 ->Android (тестировал на 4.4.4) Вопрос 1: Пытаюсь загрузить в Listbox файл с русскими словами: ListBox1.Items.LoadFromFile(TPath.Combine(TPath.GetDocumentsPath, 'test1.txt')); При запуске на устройстве выдает ошибку: No mapping for the Unicode character exists in the target multi-byte code page Файл пытался сохранить и в UTF-8, и в ANSI, и в Unicode - без разницы (после смены кодировки делал Deployment) Как можно это победить? Вопрос 2: Вставил напрямую в дизайн-моде список этих же слов (из файла вопрос1) в Listbox - при старте программа очень долго думает. Слов порядка 10000. Как-то можно это ускорить?