Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Форум группы: delphi > TStringList и OEM-866


Автор: m9yt 5.10.2017, 08:38
Добрый день. Столкнулся с проблемой разбивки строки по разделителю, используя TStringList.
У меня есть файл с текстом в кодировке OEM-866.
В ней же я гружу текст:
Код

list1.LoadFromFile(FileFolder + fileName1, TEncoding.GetEncoding('866'));

В отладчике текст отображается корректно.
Затем создаю еще 1 TStringList, пишу
Код

list.DelimitedText := lislist.Delimiter := '╫'; // Такой разделитель

В итоге list.Count = 1, хотя в строке у меня разделителей несколько штук.
В чем проблема может быть? Может в том, что код разделителя в кодировке OEM-866 = 215, а в UTF-8 (модуль в такой кодировке) = 9579?
Тогда как правильно указать значение св-ва list.Delimiter?

Автор: m9yt 5.10.2017, 09:38
Короче, хз почему так, но вначале инициализировав Delimiter, а уже потом DelimitedText, все заработало!

Автор: Snowy 5.10.2017, 10:48
Установка разделителя - это настройка, а не действие.
Она действует только на будущие операции. 
На существующие данные влияния никакого не оказывает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)