Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Необычная сортировка

389
20 июня 2003 года
Dmitri
69 / / 20.08.2000
Есть Table1 (Paradox), DBGrid. Как реализовать сортировку по текстовоу полю, но с учетом следующего: в начале ячейки может быть ненужная для сортировки аббревиатура, так вот эту аббревиатуру и надо опустить при сортировке полей.

Пример:

Цитата:

Кука
ООО "Ада"



В данном случае сортировка должна "обрезать" ООО " и отсортированные поля будут выглядеть таким образом:

Цитата:

ООО "Ада"
Кука



Подскажите, пожалуйста, как повлиять на стандартную сортировку Table1 и "обрезать" все сочетания ООО " в начале каждой ячейки, поддающейся сортировке?

295
20 июня 2003 года
gray_k
356 / / 20.12.1999
Цитата:
Originally posted by Dmitri
Есть Table1 (Paradox), DBGrid. Как реализовать сортировку по текстовоу полю, но с учетом следующего: в начале ячейки может быть ненужная для сортировки аббревиатура, так вот эту аббревиатуру и надо опустить при сортировке полей.

Пример:



В данном случае сортировка должна "обрезать" ООО " и отсортированные поля будут выглядеть таким образом:



Подскажите, пожалуйста, как повлиять на стандартную сортировку Table1 и "обрезать" все сочетания ООО " в начале каждой ячейки, поддающейся сортировке?


Я таких способов не знаю, Могу посоветовать создать дополнительное поле, в которое сначала через парсер заносить нужные данные ("Кука", "Ада"). И делать сортировку уже по этому полю.

989
20 июня 2003 года
Vlad232ua
182 / / 02.04.2003
Цитата:
Originally posted by Dmitri
Есть Table1 (Paradox), DBGrid. Как реализовать сортировку по текстовоу полю, но с учетом следующего: в начале ячейки может быть ненужная для сортировки аббревиатура, так вот эту аббревиатуру и надо опустить при сортировке полей.

Пример:



В данном случае сортировка должна "обрезать" ООО " и отсортированные поля будут выглядеть таким образом:



Подскажите, пожалуйста, как повлиять на стандартную сортировку Table1 и "обрезать" все сочетания ООО " в начале каждой ячейки, поддающейся сортировке?



В принципе (если реальное поле). Напрашивается решение сделать справочник организаций и сортировать по индексу(индексам) из этого справочника.

389
20 июня 2003 года
Dmitri
69 / / 20.08.2000
Vlad232ua, это как? Можно подробнее?


gray_k, как выделять из строки ООО "Ада" саму суть - Ада?
348
21 июня 2003 года
Saris
389 / / 14.03.2003
Цитата:
Originally posted by Dmitri
Vlad232ua, это как? Можно подробнее?


gray_k, как выделять из строки ООО "Ада" саму суть - Ада?


Если создавать постоянное поле для хранения "очищенной" строки, то при заполнении БД отрезаешь нужную часть от исходного поля и автоматически его заполняешь, а поле может быть вообще невидимым если оно не нужно для юзера. Или можешь сделать временное поле и заполнять его при его создании в соответствующем событии и потом по нему сортировать. А если тебя интересует техника выделения, то это зависит от задачи, например попробуй выделять кусок между кавычками.

389
21 июня 2003 года
Dmitri
69 / / 20.08.2000
Извиняюсь, конечно, а как выделить кусок между кавычками? Как обратиться к определенной ячейке, взять из нее текст и вытащить из него символы между кавычками?
460
21 июня 2003 года
Berg
261 / / 27.03.2003
Извиняюсь, конечно, а как выделить кусок между кавычками?

Если ты УВЕРЕН в формате входящих строк, то
AnsiString s2 = s1.SubString(s1.Pos("'")+1, s1.Length()-s1.Pos("'")-1)
даст при s1 == "ООО 'Лира'" в резалте s == "Лира",
но вообще-то надо бы предусмотреть и варинты, когда s1 == "Лира"
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог