Страница 2 из 2
Неправильно строится ключ файла DBF
Добавлено: 29 Январь 2016, 13:13
RaFaeL
Shur писал(а): Поиграл с представленной программой. С 04P5, 04P6, 04P7, 04P8, 04P9 проблем с сортировкой не заметил.
Потому что проблемы там где "p" маленькая
P.S. Сейчас попробую еще раз все это. Вы подняли тему 2011 года, там компьютер был совсем другой и винда другая, и деревья больше ))
P.P.S. Ну и ничего не изменилось за 5 лет. Смотрите, где в файле значение 04p8 - где-то в хвосте файла ndx а после 04p7 идет 04Pÿ
Неправильно строится ключ файла DBF
Добавлено: 29 Январь 2016, 13:25
Ал
RaFaeL писал(а):Shur писал(а): Поиграл с представленной программой. С 04P5, 04P6, 04P7, 04P8, 04P9 проблем с сортировкой не заметил.
Потому что проблемы там где "p" маленькая
P.S. Сейчас попробую еще раз все это. Вы подняли тему 2011 года, там компьютер был совсем другой и винда другая, и деревья больше ))

, за забей, это просто "ветвится" по вашему посту из
http://forum.clarionlife.net/phpbb/view ... f=1&t=3583
Неправильно строится ключ файла DBF
Добавлено: 29 Январь 2016, 21:18
Shur
Стоит признать, что с сортировкрй 04p8 и 04p9 проблема действительно существует.
Правильная сортировка происходит только при задании ANSI сортировки.
В остальных случаях сортировка именно на этих значениях глючит.
Продемонстрирую для наглядности:
задаю сортировку c обратной последовательностью для цифр - 9876543210:
Код: Выделить всё
LOCALE('CLACOLSEQ',' !"#$%&''()*+,-./9876543210:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`abcdefghijklmnopqrstuvwxyz{{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя')
Что видим в NDX?
Код: Выделить всё
04p7 2_ 04p6 3_ 04p6 4_ 04p6 5_ 04p6 6_ 04p6 1_ 04p5 0_ 04p4 /_ 04p3 ._ 04p2 ,_ 04p1 -_ 04p1 +_ 04p0 9_ 04p9 8_ 04p8 :_ 04pA ;_
Как видим 04p9 и 04p8 стоят после 04p7...04p0.
Тоже самое имеем для драйверов dBase3 и FoxPro.
Неправильно строится ключ файла DBF
Добавлено: 29 Январь 2016, 22:45
RaFaeL
Пришли к тому, с чего тема началась - "НЁХ 80 лвл"
А на последних С10, интересно, как с этим?
Неправильно строится ключ файла DBF
Добавлено: 30 Январь 2016, 1:18
Shur
Странно, но только с сортировкой ANSI строится полноценный индекс. По построенному индексу можно найти запись 04p8.
В остальных сортировках (проверял Windows и AaBbCcDdEeFfGg...) индекс получается дефектным, и к записи 04p8 можно добраться только перебором по самой таблице.
Думаю, что на этом можно завершить.
P.S. Я тестил на C10.
P.P.S. Разумеется, с драйверами Clarion и Topspeed этой проблемы не обнаружил. Они работают корректно с любыми CLACOLSEQ.