powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TStringList и OEM-866
6 сообщений из 6, страница 1 из 1
TStringList и OEM-866
    #39531214
Volik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Столкнулся с проблемой разбивки строки по разделителю, используя TStringList.
У меня есть файл с текстом в кодировке OEM-866.
В ней же я гружу текст:
Код: sql
1.
list1.LoadFromFile(FileFolder + fileName1, TEncoding.GetEncoding('866'));


В отладчике текст отображается корректно.
Затем создаю еще 1 TStringList, пишу
Код: sql
1.
2.
list.DelimitedText := list1[0];
list.Delimiter := '╫'; // Такой разделитель


В итоге list.Count = 1, хотя в строке у меня разделителей несколько штук.
В чем проблема может быть? Может в том, что код разделителя в кодировке OEM-866 = 215, а в UTF-8 (модуль в такой кодировке) = 9579?
Тогда как правильно указать значение св-ва list.Delimiter?
...
Рейтинг: 0 / 0
TStringList и OEM-866
    #39531220
Dunkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Volik
Код: sql
1.
list1.LoadFromFile(FileFolder + fileName1, TEncoding.GetEncoding('866'));


Утечка. GetEncoding для всех нестандартных кодировок создаёт новый объект.
После загрузки текст в списке в кодировке Unicode (для Delphi). Вот в этой кодировке и нужен разделитель.
...
Рейтинг: 0 / 0
TStringList и OEM-866
    #39531233
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
'╫' - это ты на каком языке сейчас ругнулся?
...
Рейтинг: 0 / 0
TStringList и OEM-866
    #39531239
Volik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче, хз почему так, но вначале инициализировав Delimiter, а уже потом DelimitedText, все заработало!
...
Рейтинг: 0 / 0
TStringList и OEM-866
    #39531350
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolikКороче, хз почему так, но вначале инициализировав Delimiter, а уже потом DelimitedText, все заработало!

Потому что DelimitedText использует свойство Delimiter, справку надо читать.
...
Рейтинг: 0 / 0
TStringList и OEM-866
    #39531410
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolikДобрый день. Столкнулся с проблемой разбивки строки по разделителю, используя TStringList.
У меня есть файл с текстом в кодировке OEM-866.
В ней же я гружу текст:
Код: sql
1.
list1.LoadFromFile(FileFolder + fileName1, TEncoding.GetEncoding('866'));


В отладчике текст отображается корректно.
Затем создаю еще 1 TStringList, пишу
Код: sql
1.
2.
list.DelimitedText := list1[0];
list.Delimiter := '╫'; // Такой разделитель


В итоге list.Count = 1, хотя в строке у меня разделителей несколько штук.
В чем проблема может быть? Может в том, что код разделителя в кодировке OEM-866 = 215, а в UTF-8 (модуль в такой кодировке) = 9579?
Тогда как правильно указать значение св-ва list.Delimiter?
Ты сперва Delimiter задай, а потом уже DelimitedText.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TStringList и OEM-866
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]