|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2012, 15:09 | #1 |
Регистрация: 24.12.2011
Сообщений: 6
|
Вопрос с поиском.
Работаю со списком. Вывожу в StringGrid.
При поиске по наименованию влияет заглавная буква, т.е. есть в списке у меня идёт House. И я введу для поиска в Edit House - то всё благополучно найдёт, но ежели введу house - то нет. Собственно и вопрос. как сделать, да бы заглавная буква не влияла на поиск? Хотя бы мысль подкинуть. |
02.06.2012, 15:28 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Например использовать при сравнении AnsiUpperCase
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
02.06.2012, 16:10 | #3 |
Регистрация: 24.12.2011
Сообщений: 6
|
|
02.06.2012, 16:20 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Сравнивайте с использованием этой функции и получите не чувствительность к регистру. Но не первого символа, а всей строки. Можно еще AnsiSameText. В чем проблема-то? А если второй символ сраниваемых слоов в разных регистрах ('1и22' и '1И22'), они что не совпадают? Если нечувствительность к регистру только у первого симола, так и преобразовывайте только его
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
02.06.2012, 16:20 | #5 |
Веб-дизайнер
Форумчанин
Регистрация: 11.08.2011
Сообщений: 305
|
При поиске стоит сравнивать вводимые и имеющиеся данные в AnsiLowerCase. Т.е. если запрашиваемая строка будет House, а в базе будет значение house, то в итоге мы получим AnsiLowerCase('House') = house и house = house, что будет правильно.
Тот же смысл и у AnsiUpperCase, как описал предыдущий оратор. |
02.06.2012, 16:56 | #6 | |
Регистрация: 24.12.2011
Сообщений: 6
|
Цитата:
AnsiLowerCase('House') = house - это верно, и соответственно house=house. Но если я имею в Гриде заполнение с б. буквы: House. Я использую AnsiUpperCase('House') - получу HOUSE, что не равно House. Как я могу сделать только первую букву заглавной? P.S. Заранее благодарю за ответы всем оратам выше. |
|
02.06.2012, 17:00 | #7 |
Регистрация: 24.12.2011
Сообщений: 6
|
Всем спасибо за ответы. Написал так:
s:= Copy(Edit2.Text, 2, length(Edit2.Text)); Edit2.Text:= AnsiUpperCase(Edit2.Text[1]) + s; А вообще-то глупость написал. AnsiLowerCase(Edit*.Text)=AnsiLower Case(CurrI^.ololo) или же наоборот Upper. При сравнении. P.S. Тему close. Сверху всем плюсую. Последний раз редактировалось HastRB; 02.06.2012 в 17:12. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос с поиском | Stanislav_N | Microsoft Office Excel | 11 | 04.04.2011 19:02 |
поиском в бд | Bek-Z | БД в Delphi | 31 | 13.12.2010 23:40 |
Проблема с поиском в БД | Evgenii | БД в Delphi | 15 | 25.06.2009 00:14 |
проблемы с поиском | vIRTx | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 12.06.2008 17:43 |
Проблемка с поиском | Glyuk24 | Помощь студентам | 6 | 24.11.2007 22:31 |