Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Функция поиска подстроки 


kull   (2002-03-14 03:04) [0]

Знает кто-нибудь в Delphi функцию поиска подстроки в строки типа Pos(), но чтобы была не чувствительна к регистру?
Пробовал сначала AnsiUpperCase(), а потом использовать Pos(), но AnsiUpperCase() сильно тормозит...



~Sergius   (2002-03-14 03:18) [1]

В чем тормозит ANSIUpperCase??



kull   (2002-03-14 03:24) [2]

Дело в том, что если пропустить использование AnsiUpperCase то все работает раза в 2 быстрее.
А вообще то у меня имеется список строк и надо найти строки, которые содержат нужный текст.



~Sergius   (2002-03-14 03:37) [3]

Разумеется, что оно без ANSIuppercase будет работать быстрее, поскольку ANSIuppercase вызывает еще OemToChar для преобразования из дос кодировки. Если строки не содержать русских символов в дос кодировке, тогда используй просто uppercase



kull   (2002-03-14 03:40) [4]

Втом то и дело, что содержат русские символы и не русские.



~Sergius   (2002-03-14 04:11) [5]

ну, тут разве что самому переводить через chartooem, но быстрее вряд ли будет -- посмотри исходники ANSIuppercase и поймешь, что оптимизировать там нечего. Разве что пересмотреть логику программы



kull   (2002-03-14 13:15) [6]

Да... Я так и думал...



Alx2   (2002-03-14 13:37) [7]

Попробуй UpperCase почти вручную сделать.
Делаем массив
Var cnvMap : array ["а".."я"] of char = ("А","Б"...)
и через него конвертим в uppercase.
а cnvMap предварительно заполняем через AnsiUpperCase



lipskiy   (2002-03-14 13:53) [8]

Согласен с Alx2. Я тоже делаю так - работает быстро.



kull   (2002-03-15 02:05) [9]

Ok! Спасибо! Попробую...




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.028 c
1-90948           HELP!!!!!!!!!!!!!!!   2002-03-14 16:23  2002.03.28  
!!!!!!!!!!!!!!!!!!


1-90854           SlavaS                2002-03-16 21:35  2002.03.28  
Неудаётся найти файл *.bpl


1-90931           Lamer2002             2002-03-13 14:13  2002.03.28  
Определение длины строки


14-91053          dimich                2002-02-14 14:01  2002.03.28  
Проблема с bootMagic


1-90951           d_oleg                2002-03-14 10:54  2002.03.28  
Font pitch