Форум: "Основная";
Поиск по всему сайту: 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.04 c
1-90825           Sergant               2002-03-16 02:56  2002.03.28  
как зарегистрировать свою программу в Windows средствами DelphI


6-91010           НЕО                   2002-01-14 16:09  2002.03.28  
!!! ЛОГИН текущего пользователя


3-90730           Koks                  2002-02-26 16:41  2002.03.28  
QReport- как прервать Preview


1-90858           Brand                 2002-03-16 23:38  2002.03.28  
Много файлов в один проект


3-90741           Turalyon              2002-03-01 09:31  2002.03.28  
InterBase 6