Чтение файла FPT - PullRequest
       0

Чтение файла FPT

0 голосов
/ 14 марта 2012

Я хотел бы прочитать файл FPT / DBF. Я пытался загрузить файл любым из этих

  • FoxPro 7
  • FoxPro 8
  • FoxPro 9

когда я редактирую FPT, я вижу текст в файле, который я хочу изменить, но когда я просматриваю файл (FPT) в FoxPro, он не показывает значения, которые я хочу изменить, а просто бессмысленный показ в столбцах таблицы. Он читает разные столбцы, но данных, которые я ищу, там нет. Любые идеи будут полезны, спасибо!

Ответы [ 2 ]

5 голосов
/ 14 марта 2012

Если вы используете VFP напрямую, вы должны просто иметь возможность

USE YourTable
browse normal

Затем прокручивать влево / вправо, пока не найдете столбец, который показывает «Заметки» вместо реального содержимого.Это поле содержит фактическое содержимое файла FPT.Если вы дважды щелкнете по нему, он откроет содержимое.

Если вы ищете определенный текст в заметке, вы можете сделать

browse normal for atc( "looking for", WithinWhatColumn ) > 0

Это покажет вам все записи, которые имеютсодержание в вопросе.Затем вы можете открыть каждый и изменить все, что вы хотите.Если вы хотите выполнить некоторую замену BULK, вы также можете сделать это, например,

replace WithinWhatColumn with strtran( WithinWhatColumn, "looking for", "change to this" );
   for atc( "looking for", WithinWhatColumn ) > 0

РЕДАКТИРОВАТЬ на обратную связь

Нет проблем с .CDX.VFP хранит файлы в «наборах», когда это применимо (.DBF, .CDX, .FPT).Файлы .CDX содержат индексы, непосредственно связанные с одной таблицей, поэтому, когда таблица открывается, соответствующие индексы также открываются.Если файл имеет один или несколько файлов MEMO, то соответствующий файл .FPT создается также для содержимого "memo" переменной длины.

Кроме того, строительные блоки в VFP также управляются DBF, просто файлсуффикс имени изменен ... включая

Forms:  (.scx/.sct)  corresponds to .dbf/.fpt
Visual Class Libraries:  (.vcx/.vct)
Reports: (.frx/.frt)
Projects: (.pjx/.pjt)

Вы можете использовать любой из них с явным суффиксом, соответствующим части dbf, и посмотреть, что у него внутри.

use YourForm.scxпросмотрите его запись для каждого элемента управления в данной форме, где он был получен, его свойства, связь с базовым классом, код метода и т. д.

1 голос
/ 14 марта 2012

у вас не должно возникнуть проблем при чтении таблицы с любой версией Foxpro! Звучит так, как будто файл поврежден или каким-то образом зашифрован.

Является ли таблица свободной табличной частью контейнера базы данных?

...