|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.08.2013, 21:05 | #1 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Преобразовать строку к нижнему/верхнему регистру
Делфи ХЕ3. Стринги стали юникодовыми и потому столкнулся с банальной проблемой. Мне нужно сравнить две строки без учета регистра. Какую функцию заюзать?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 03.08.2013 в 21:11. |
03.08.2013, 21:10 | #2 |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
function AnsiSameText(const S1, S2: string): Boolean;
|
03.08.2013, 21:14 | #3 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Напомню на всякий случай строки юникодовы.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
03.08.2013, 21:15 | #4 | ||
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
Хм... а это не работает для юникодовых строк?
может, поможет преобразование строк между регистрами? Цитата:
Цитата:
Последний раз редактировалось Вадим Мошев; 03.08.2013 в 21:18. |
||
03.08.2013, 21:20 | #5 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
Что мешает: CompareStr(LowerCase(1),LowerCase(2 )) = 0 ? Для декодирования строк используйте TEncoding. Последний раз редактировалось Человек_Борща; 03.08.2013 в 21:25. |
|
03.08.2013, 21:21 | #6 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Ansi не совместим с UTF.
Спасибо за участие, нужно было заюзать строковой хелпер. В нем есть методы преобразования и к верхнему и к нижнему регистру Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 03.08.2013 в 21:25. |
|
03.08.2013, 21:38 | #7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Вот вам перевод ANSI к UNICODE
Код:
|
04.08.2013, 00:13 | #8 | |
Новичок
Джуниор
Регистрация: 03.08.2013
Сообщений: 6
|
Цитата:
if widelowercase('str1')=widelowercase ('str2') then ... вместо widelowercase сойдет в принципе и ansilowercase. Но никак не lowercase, она обрабатывает только семибитный текст. пример2. if lstrcmpi(pchar('str1'),pchar('str1' ))=0 then ...
Можно заблокировать тролля, но нельзя забанить троллинг, ибо это не причина, а следствие.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразовать строку в число | hon | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 10.10.2012 18:44 |
Преобразовать строку с функцией в делегат | FiloXSee | C# (си шарп) | 1 | 08.10.2012 13:35 |
Как переменную преобразовать в строку? | clever77 | Microsoft Office Excel | 10 | 16.05.2011 10:23 |
Привод к нижнему регистру | Алексей Егораев | Помощь студентам | 0 | 02.03.2011 17:18 |
столбец преобразовать в строку | 0mega | Microsoft Office Excel | 6 | 03.02.2010 07:29 |