Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Назначение, применение, использование *.CDX ?  [new]
Ukraina
Member

Откуда: Ярославль (...) - Туркменистан
Сообщений: 24344
Господа!!!

Подскажите в плане ссылок в отношении информации о файлах *.CDX. Хотелось бы узнать про все это: для чего нужны, как образуются, как работают, для чего, как взаимодействуют и почему при удалении его могут возникнуть ошибки?

Дело в следующем: Имеется некая программа на FoxPro 9, которая экспортирует результаты в некий файл Rezult.dbf. При просмотре этого файла видна структура этого файла: поле CODE, F001, F002, F003, F004.... F023.
Поле CODE содержит некое текстовое 9-символьное цифровое значение...

При просмотре этого файла в FoxPro 9, поля CODE не видно, оно проявляется в разделе Indexes, где записано его "образование" формулой:
Order  Name    Type      Expression    Collate
!         Code    Regular   F002+F005   Machine
Как я понял, это поле CODE есть результат сложения двух полей, но в этой таблице значения этих полей NULL, а результат есть вполне конкретное значение...

Может подскажите в чем камни, могу предположить, что это все храниться в файле Rezult.CDX?
Но как просмотреть этот файл не знаю... Может направите? Каким образом мне понять как образуется значение этого поля?
5 дек 06, 16:30    [3494239]     Ответить | Цитировать Сообщить модератору
 Re: Назначение, применение, использование *.CDX ?  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
CDX - это индекс. Производное от содержимого таблицы. Модификация только от таблицы к индексу, но не наоборот. Т.е. невозможно вынести содержимое поля в индекс.

Если поле CODE видно в структуре таблицы, то и его содержимое должно быть видно. Разумеется, если оно не было скрыто программно.

Как именно смотрите таблицу в FoxPro?

Кстати, поле CODE и индекс CODE - вовсе не обязательно одно и то же. Имя индекса никак не связано с именем поля. Нет никакого жесткого контроля имен в данном случае. Как хочешь, так индекс и называй.
5 дек 06, 21:45    [3495767]     Ответить | Цитировать Сообщить модератору
 Re: Назначение, применение, использование *.CDX ?  [new]
Ukraina
Member

Откуда: Ярославль (...) - Туркменистан
Сообщений: 24344
Как смотрю... постараюсь объяснить (трудно мне ориентироваться в ФП и терминалогией не богат)

Открываю основной проект... Там появляется что-то вроде проводника, Захожу на вкладку "DATA", подключаю таблицы посредством "ADD", выбираю нечто 2006.dbc... Появляются нужные таблицы... Тыкаю на одну из них... Нажимаю BROWSE... Имеются все поля, кроме CODE...

Нажимаю MODIFY. Открывается структура таблицы... В разделе Fields опять таки CODE нету, но в разделе INDEXES стоит это наименование со всем тем, что я описал выше

Order  Name    Type      Expression    Collate
!         Code    Regular   F002+F005   Machine

Но результат прога выдает в виде таблицы ДБФ с полем "CODE"...

Может это поле действительно скрыто программно или оно создается программно при экспорте данных? Где и как мне это можно просмотреть? Какие операнды, функции используются для этого?

Сорри за ликбез... и заранее благодарен!
6 дек 06, 01:06    [3496117]     Ответить | Цитировать Сообщить модератору
 Re: Назначение, применение, использование *.CDX ?  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Эх, трудно "на ощупь". Попробую так.

Вы, наверное, в курсе, что хранение и отображение информации - это "две большие разницы".

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

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

Для "вскрытия" программ написанных на FoxPro есть специальная программа, называемая "Refox.exe" Поищите на данном форуме или в интернете. Полно ссылок.

"Натравливаете" эту программу на Ваше приложение и получаете исходный код на FoxPro. Дальше ищете то место, где формируется нужная Вам информация.

Файл CDX тут никаким боком. Это инструмент сортировки и внутреннего поиска. Напрямую информацию индекс не отображает.
6 дек 06, 01:56    [3496148]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить