Форум: "Основная";
Поиск по всему сайту: 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.72 MB
Время: 0.026 c
3-90777           roman001              2002-02-28 18:58  2002.03.28  
Pack


1-91006           Mina                  2002-03-15 11:08  2002.03.28  
Помогите пжл....


1-90874           lipskiy               2002-03-16 16:40  2002.03.28  
Как однозначно проверить, существует ли объект (создан ли, не испорчен ли)?


3-90810           ruslan_as             2002-03-04 13:13  2002.03.28  
Сумма по полю


1-90826           Aleksandr             2002-03-15 14:03  2002.03.28  
Почему у потока вызывается Terminate?