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

Ошибка No mapping for Unicode character...


gresaggr

Вопрос

Добрый день.

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. Как-то можно это ускорить?



 



 



 

Изменено пользователем gresaggr
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Прекратите использовать ListBox! Используйте ListView!

ListBox - но большое количество item, например меню, контейнер для других компонентов на форме... 0-100 значений, лучше меньше...

Ссылка на комментарий
  • 0
  • Модераторы
33 минуты назад, gresaggr сказал:

ListBox1.Items.LoadFromFile(TPath.Combine(TPath.GetDocumentsPath, 'test1.txt'))

ListBox1.Items.LoadFromFile(TPath.Combine(TPath.GetDocumentsPath, 'test1.txt'), TEncoding.UTF8);

 

Ссылка на комментарий
  • 0

Победил через ресурсы и StringList:

 NounsStringList.BeginUpdate;
  rs := TResourceStream.Create(hInstance, 'nouns', RT_RCDATA);
  try
    NounsStringList.LoadFromStream(rs);
  finally
    rs.Free;
  end;
  NounsStringList.EndUpdate;

Спасибо за помощь.
 

Ссылка на комментарий
  • 0
  • Модераторы

Вы пробовали то что я вам предложил?

Ошибка заключалась в том, что вы не указываете в какой кодировке файл, для этого в LoadFromFile есть второй параметр в котором можно указать кодировку загружаемого файла

Ссылка на комментарий
  • 0
2 часа назад, ZuBy сказал:

Вы пробовали то что я вам предложил?

Ошибка заключалась в том, что вы не указываете в какой кодировке файл, для этого в LoadFromFile есть второй параметр в котором можно указать кодировку загружаемого файла

Да, ваш вариант рабочий. Пожалуй, оставлю его - с деплоем удобней файлы заливать.

Спасибо.
 

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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