Форум: "Основная";
Поиск по всему сайту: 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.061 c
1-90904           Sound                 2002-03-18 13:06  2002.03.28  
Срочно нужна помощь!!! Как встроить в Delphi приложение компилятор Pascal?


4-91104           OGR                   2002-01-27 23:23  2002.03.28  
Как использовать функцию PrintWindow?


3-90811           Анатолий              2002-03-04 12:04  2002.03.28  
Как использовать метод Refresh в компоненте IBDataSet


3-90802           Дима С.               2002-02-28 11:14  2002.03.28  
Oracle Call Interface (OCI)


3-90733           weak                  2002-02-28 16:09  2002.03.28  
Надо переменную вставить UPDATE-ом в поле data_p.