powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Просмотр индексного файла
11 сообщений из 11, страница 1 из 1
Просмотр индексного файла
    #33681149
as_is
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите пожалуста, есть ли возможность просмотреть содержимое файлов cdx и ntx. (т.е. непосредственно содержимое столбца (столбцов) по которым идет индексация)?
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33681252
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?sys(14,1) &&выражение индекса
?tagcount()
?tag()
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33681524
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATAGINFO() - появилась в VFP7
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33682582
as_is
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Небольшое пояснение - в наличии имеются только сами cdx файлы без таблиц.
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33682652
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это сложнее. В принципе, конечно, тоже можно. Но придется разбираться со структурой хранения информации в индексных файлах.

Общая идея простая. В индексе хранится пара: значение ключа - физический номер записи. Не значение поля, а значение ключа. Ведь выражение индекса не обязательно совпадает с именем одного поля. Это может быть некая функция.

Вся проблема в том, как именно это хранится. Особенно в мультииндексных файлах (CDX). Описание структуры CDX есть в HELP по FoxPro.

Никаких автоматических средств для этого нет. Придется вручную разбирать структуру файла. Лично я этим не занимался. Если сюда заглянет Igor Korolyov , то он может сказать подробнее. Он даже хотел писать некую процедурку разбора индексного файла, но, похоже, руки так и не дошли. Поищи его топики в данном форуме.
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33684613
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Владимир!

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

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33685094
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мой ответ к сожалению без конкретики, т.к. давно это было..

Нужно было просмотреть содержимое cdx-файла к таблице, созданной из клиппера с поддержкой cdx. Конкретно, интересовал один индексный тег по неизвестной функции.

Сначала я решил пойти по пути brute force, и искать значение ключа для данной строки путем подбора. Т.е. устанавливаешь нужный тег активным, даешь установки set exact off, set near on, начинаешь перебирать все символы от chr(0) до chr(255) и подставлять их в команду seek, анализируя полученный результат.

Проблема оказалась в том, что этот алгоритм работал для простых индексов. А для индекса, созданного в клиппере по функции, фокс возвращал неверный тип выражения - числовой вместо текстового.

Потом я нашел программку в инете, которая вроде бы делала необходимые действия. Но у нее была та же проблема с несовпадением типов.

В результате необходимая функция обнаружилась в той самой библиотеке клиппера, которая позволяет создавать индексы cdx - она возвращала значение индекса для данной строки. Я тогда даже посетовал, что аналогичной функции нет в VFP.

Что за программу я скачал из инета, и какая именно функция в клиппере меня спасла, я увы - уже не помню... Надеюсь, сам факт их существования поможет вам найти решение вашей проблемы ;-)
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33685301
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
as_isСкажите пожалуста, есть ли возможность просмотреть содержимое файлов cdx и ntx. (т.е. непосредственно содержимое столбца (столбцов) по которым идет индексация)?
Интересно было бы узнать, зачем Вам это надо?
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33688143
as_is
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем это нужно? Начальство как известно думает за нас... Постоянно терялись данные в старой досовской программе. Из-за сбоев требовалась переиндексация. И вот от руководства поступило указание предоставить содержимое индексного файла, для сравнения с оригиналом. Думали проблема в индексном файле.
Оказывается, при индексации содержимое таблицы восстанавливается из индекса.. Вот так век живи - век учись... И смех и грех. :))

А вообще задачка интересная...
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33688635
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
as_is Постоянно терялись данные в старой досовской программе. Из-за сбоев требовалась переиндексация...
А если предложить руководству немного потратить денег на аппаратные средства и переписать программу под VFP 9.0 (буферизация, транзакции, Web Services...) ? Многие проблемы явно уйдут...

But anway, good luck!
...
Рейтинг: 0 / 0
Просмотр индексного файла
    #33688940
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
as_isОказывается, при индексации содержимое таблицы восстанавливается из индекса..
И как это было сделано, если не секрет?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Просмотр индексного файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]