On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 118
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 21.06.16 15:01. Заголовок: Нестандартная индексация.


Порядок индексации для символьных определяется ASCII-кодом.
1,3,5,а,б,в. Как сделать индексацию а,б,в,1,3,5 ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 11 [только новые]


moderator


Пост N: 975
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 21.06.16 15:22. Заголовок: Вряд ли это возможно..


Вряд ли это возможно.
Если это надо для того, чтобы расположить соответствующим образом строки в browse, то придется сначала сосчитать записи в массив, отсортировать как требуется - и потом сделать browse массива.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5750
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.06.16 15:30. Заголовок: use test index on if..


use test
index on if(isdigit(f),chr(1)+f,chr(0)+f) tag tt
browse()

ps
f это символьное поле

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 119
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 21.06.16 16:08. Заголовок: См. приложенный файл..


См. приложенный файл:
https://yadi.sk/d/4tCJ3HfJsgczw
Удивительно, но если эти файлы открыть с помощью browse(), сортировка получается именно типа а,б,в,1,3,5
Может битый индекс какой-то ? Если запустить reindex, то всё становится по стандарту 1,3,5,а,б,в

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5751
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.06.16 16:18. Заголовок: Зацени (это по твоей..


Зацени (это по твоей базе)
use smest new
index on if( isdigit(kod),chr(1)+kod,chr(0)+kod) tag test
browse()

reindex
browse()

Все ровно короче.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5752
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.06.16 16:46. Заголовок: Harbour то свежий у ..


Harbour то свежий у тебя ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1223
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 21.06.16 16:51. Заголовок: Дим, я сейчас открыв..


Дим, я сейчас открывал эту базу dbedit-ом Пашиным, который он выкладывал в мае. Он тоже показал базу в порядке, где буквы сверху. Потом им же реиндексировал и всё стало по закону. Видимо ntx битый.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5753
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.06.16 17:12. Заголовок: PSP NTX я не качал ..


PSP
NTX я не качал , делал свой.
PSP пишет:

 цитата:
Видимо ntx битый


Тоже так подумал , хотя по жизни Reindex не использую совсем , только Index on...


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5754
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.06.16 21:23. Заголовок: PSP пишет: Видимо n..


PSP пишет:

 цитата:
Видимо ntx битый.


Похоже что нет , так как автоматом цепляются только CDX составные индексные файлы а у него NTX в котором
по ходу ключ просто KOD.


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3458
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 21.06.16 21:27. Заголовок: С индексом что-то не..


С индексом что-то не в порядке. В том же dbedit есть режим проверки индекса: меню Операция - Проверка индекса. Там выполняется сразу несколько проверок, этот индекс ловится на записи 84.
Если выдать команды:

dbGoto(84)
? ordKeyVal()
то результат будет nil, а должен быть "Ж/Д"
Но если добраться до записи 84 последовательно, через skip, то ordKeyVal() вернет правильное значение.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5755
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.06.16 22:54. Заголовок: Pasha Так и есть би..


Pasha
Так и есть битый индекс показывает Dbedit !

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 120
Зарегистрирован: 24.04.13
ссылка на сообщение  Отправлено: 22.06.16 16:13. Заголовок: Эта база с битым инд..


Эта база с битым индексом не менялась годами и такая индексация пользователя устраивала.
Потом при переносе программы на другой компьютер переиндексировали и стало так как должно
быть, но пользователь оч.просил сделать по-старому (сначала буквы, потом цифры).
Переиндексировал так как советовал Dima, всё подошло. Всем спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 221
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет