![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Функция поиска подстроки
kull © (2002-03-14 03:04:00)Знает кто-нибудь в Delphi функцию поиска подстроки в строки типа Pos(), но чтобы была не чувствительна к регистру?
Пробовал сначала AnsiUpperCase(), а потом использовать Pos(), но AnsiUpperCase() сильно тормозит...
kull (2002-03-15 02:05:00) [1]Ok! Спасибо! Попробую...
lipskiy (2002-03-14 13:53:00) [2]Согласен с Alx2. Я тоже делаю так - работает быстро.
Alx2 (2002-03-14 13:37:00) [3]Попробуй UpperCase почти вручную сделать.
Делаем массив
Var cnvMap : array ["а".."я"] of char = ("А","Б"...)
и через него конвертим в uppercase.
а cnvMap предварительно заполняем через AnsiUpperCase
kull (2002-03-14 13:15:00) [4]Да... Я так и думал...
~Sergius (2002-03-14 04:11:00) [5]ну, тут разве что самому переводить через chartooem, но быстрее вряд ли будет -- посмотри исходники ANSIuppercase и поймешь, что оптимизировать там нечего. Разве что пересмотреть логику программы
kull (2002-03-14 03:40:00) [6]Втом то и дело, что содержат русские символы и не русские.
~Sergius (2002-03-14 03:37:00) [7]Разумеется, что оно без ANSIuppercase будет работать быстрее, поскольку ANSIuppercase вызывает еще OemToChar для преобразования из дос кодировки. Если строки не содержать русских символов в дос кодировке, тогда используй просто uppercase
kull (2002-03-14 03:24:00) [8]Дело в том, что если пропустить использование AnsiUpperCase то все работает раза в 2 быстрее.
А вообще то у меня имеется список строк и надо найти строки, которые содержат нужный текст.
~Sergius (2002-03-14 03:18:00) [9]В чем тормозит ANSIUpperCase??