powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Экспорт из FoxPro в Word
25 сообщений из 39, страница 1 из 2
Экспорт из FoxPro в Word
    #32752637
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте всем. Столкнулся с проблемой: существуют рабочие БД на Фоксе, судя по всему, на шестом (не я программер, сам фокс вижу второй раз в жизни). Так вот, раньше юзеры как то импортировали dbf-файлы в Word, причем абсолютно просто (юзеры - эникейщики, и сложные комбинации по конвертированию/экспорту вряд ли освоят;-). А после переустановки винды это у них не получается.
В одном случае вообще на срабатывает драйвер ODBC, в лучшем случае данные импортируются, но вместо русских букв - кракозяблы. Думается мне, что нужно как-то ODBC настроить (подскажите как!!!), и/или в коде проги поправить (а может, cfg-файл?).
Что скажите?
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32752662
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По всей видимости, в DBF-таблицах не проставлен признак кодовой страницы.

Эти таблицы создаются динамически (как отчеты)? Или это постоянные таблицы БД. Если динамически, то нужен файл CONFIG.FPW (это обычный текстовый файл) со строкой

CODEPAGE=1251

в той папке, из которой запускается EXE на FoxPro.

Чтобы уточнить версию FoxPro открой готовый EXE как текстовый файл и найди в нем строку:

"VisualFoxProRuntime"

Следом за этой строкой будет стоять цифра, собственно и определяющая версию FoxPro.
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32752681
AiSK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй вставить строчку в файл config.fpw
codepage=1251

Не понял, при чем тут ODBC ? Foxpro работает напрямую со своими dbf-файлами.
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32752765
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМПо всей видимости, в DBF-таблицах не проставлен признак кодовой страницы.

Эти таблицы создаются динамически (как отчеты)? Или это постоянные таблицы БД. Если динамически, то нужен файл CONFIG.FPW (это обычный текстовый файл) со строкой

CODEPAGE=1251

в той папке, из которой запускается EXE на FoxPro.

Чтобы уточнить версию FoxPro открой готовый EXE как текстовый файл и найди в нем строку:

"VisualFoxProRuntime"

Следом за этой строкой будет стоять цифра, собственно и определяющая версию FoxPro.

Версия 5 (это из ехе-файла). Таблицы создаются динамически след-им образом. Юзер выбирает некоторые критерии поиска в БД, ищет данные, которые выводятся на экран. Жмет ЭКСПОРТ В WORD - и выбранные записи сохрыняются в dbf, который потом открываются в Word'e через кнопку "ДОБАВИТЬ БАЗУ ДАННЫХ". И вот теперь крякозяблы :-( Есть файл CONFIG.FPW, пробовал добавить в него строчку CODEPAGE=1251, не помогло.

AiSKНе понял, при чем тут ODBC ? Foxpro работает напрямую со своими dbf-файлами.
При том, что dbf-файл открывается в WORDE, а там вроде как надо ODBC настроить...
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32752784
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пусть юзеры попробуют поменять одбс драйвер для фокс таблиц и кракозябы исчезнут если драйвер правильный будет
я с таким сталкивался
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32752833
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leafпусть юзеры попробуют поменять одбс драйвер для фокс таблиц и кракозябы исчезнут если драйвер правильный будет
я с таким сталкивался

что на что менять? какой ODBC правильный? я уже всякими пробовал открывать.....
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32752891
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дравера у фокса есть разные есть для дос фокса и т.п.
у меня было как у тебя почти
начальнику информационной службы поставили новый комп
а мы ему дбф делали ничего не меняли а он недоволен типа в прошлом месяце все нормально было а щас фиг поймешь что написано после экспорта в эксель
ну вот пришлось одбс запись перенастраивать менять драйвер и стало вем хорошо особенно нам
я бы microsoft visual foxpro попробывал
если он есть там в данный момент а то винды переставляли может в списке и не оказаться
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32752929
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До версии VFP5 включительно нужен еще файл

FOXPRO.INT (расширение от слова international, не путать с ini-файлами)

Этот файл поставляется вместе с FoxPro в его корневом каталоге. Его необходимо положить рядом с EXE в ту же папку.

Я предполагаю, что экспорт в DBF происходит в формат Fox2x в 866 кодовой странице. Такие таблицы без проблем открываются как в Word, так и в Excel (без ODBC). Вот для манипуляции разными кодовыми страницами и нужен файл FoxPro.INT (на пару с CONFIG.FPW со строкой CODEPAGE=1251)
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32753030
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМДо версии VFP5 включительно нужен еще файл

FOXPRO.INT (расширение от слова international, не путать с ini-файлами)

Этот файл поставляется вместе с FoxPro в его корневом каталоге. Его необходимо положить рядом с EXE в ту же папку.

Я предполагаю, что экспорт в DBF происходит в формат Fox2x в 866 кодовой странице. Такие таблицы без проблем открываются как в Word, так и в Excel (без ODBC). Вот для манипуляции разными кодовыми страницами и нужен файл FoxPro.INT (на пару с CONFIG.FPW со строкой CODEPAGE=1251)
Скинул файл FoxPro.INT, подправил CONFIG.FPW, сохраняю dbf, открываю в ворде через ВСТАВКА БАЗЫ ДАННЫХ, результет тот же. Если открывать как обычный документ с преобразованием, то русский шрифт ворд распознает, но структура таблицы теряется...
Неужели в исходники лезть придется? чужая программа потемки;(
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32753037
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leafдравера у фокса есть разные есть для дос фокса и т.п.
я бы microsoft visual foxpro попробывал
если он есть там в данный момент а то винды переставляли может в списке и не оказаться
ну вот давай попорядку... Пользовательский DSN, Visual FoxPro dataBase на рис. внизу. Что тут настраивать?
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32753040
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при чем здесь фокс у него всё нормально
разберитесь с ексель
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32753055
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы поставил free table
и microsoft для free table
а вообще что они в эксель делают
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32753147
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй еще в реестре сделать следующие изменения

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32754022
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМПопробуй еще в реестре сделать следующие изменения

Сейчас у меня так:
1. [SRC{post.srctag}]
CONFIG.FPW

CODEPAGE=1251
RESOURCE = OFF
SCREEN = OFF
OPTIMIZE = ON
SYSMENU = OFF
TALK = OFF
VIEW = OFF
EXACT = OFF
SECONDS = OFF
HOURS = 24
DATE = GERMAN
[/src]
2. Файл Foxpro.int в каталоге с exe-файлом программы.
3. В реестре ключ
[SRC{post.srctag}] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1250.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
[/src]
и все равно получается следующее (см. крякозяблы на фоне картинки):
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32754150
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМПопробуй еще в реестре сделать следующие изменения

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"

может, это и не важно, но тем не менее... если полученный dbf-файл смотреть в Фаре, то русский шрифт отображается корректно в кодировке WINDOWS. При открытии файла в Worde через Ctrl+O (как обычный файл), русский тект импортируется нормально. А вот при вставке файла именно как базу данных не происходит перекодировка. Значит - настроить ворд? Или ODBC?
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32754185
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там у тебя где кнопка получить данные за ней одбс должен стоять
а файл конфигурации и прочее здесь не причем если в программе ничего не меняли конечно
так что мучай ворд с фоксом всё окей
хр не знаю и на компе его нет так что и помочь конкретно не могу извеняй брат
думай сам все варианты тебе показали
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32754352
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для порядка, хотелось бы узнать, установлен ли вообще признак кодовой страницы у файла DBF? Т.е. что именно (какой ASCII-код) записан в 29 байте заголовка таблицы (первый байт имеет порядковый номер 0, т.е. физически - это 30 символ)?
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32754686
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМДля порядка, хотелось бы узнать, установлен ли вообще признак кодовой страницы у файла DBF? Т.е. что именно (какой ASCII-код) записан в 29 байте заголовка таблицы (первый байт имеет порядковый номер 0, т.е. физически - это 30 символ)?
вот скриншот файла, созданного при всех учете всех решений, высказанных выше. В 29 байте, насколько я понимаю, стоит 03.
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32754818
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка именно в FoxPro! Точнее в способе запуска FoxPro. В 29 байте должно стоять одно из 2 значений

0х65 - 866 кодовая страница (DOS Rus)
0хС9 - 1251 кодовая страница (WIN Rus)

А значение
0x03 - 1252 кодовая страница (Win Eng)

Это значит, что программа FoxPro "не видит" файла конфигурации. Т.е. при запуске EXE в качестве директории по умолчанию используется какая-то другая директория.

Как именно происходит запуск EXE? Интересует именно момент старта EXE, а не его дальнейшая работа.

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

Попробуй скопировать файл CONFIG.FPW в директорию Windows.
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32754893
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМОшибка именно в FoxPro! Точнее в способе запуска FoxPro. В 29 байте должно стоять одно из 2 значений

0х65 - 866 кодовая страница (DOS Rus)
0хС9 - 1251 кодовая страница (WIN Rus)

А значение
0x03 - 1252 кодовая страница (Win Eng)


понятно говорите, Владимир. Есть что сказать бедным юзерам:"Извините, Ваша программа использует неправильную кодовую страницу 1252, вон, видите, байтик то не тот что надо!;-) Подождите перекомпиляции программы по новому оптимизированному алгоритму." Эх... юмор юмором, будем рыть дальше.

ВладимирМЭто значит, что программа FoxPro "не видит" файла конфигурации. Т.е. при запуске EXE в качестве директории по умолчанию используется какая-то другая директория.

Как именно происходит запуск EXE? Интересует именно момент старта EXE, а не его дальнейшая работа.

Сейчас разберемся. EXE-файл лежит в локальной директории, в нем лежат также файлы CONFIG.PWT с нужной нам сторой и FOXPRO.INT... Также есть 1 cfg-файл, который, по видимому, указывает расположение самих данных (на сервере).
В каталоге среди прочих нашел файлик "gl_pr.prg", в котором есть такие строчки:
Код: plaintext
1.
2.
3.
4.
5.
SET COLLATE TO "RUSSIAN"
*SET EXCLUSIVE OFF
SET MULTILOCKS ON
SET ESCAPE OFF
IF SYSMETRIC( 1 ) >=  1024  .AND. SYSMETRIC( 2 ) >=  768 

ВладимирМ
Впрочем, возможен вариант, когда файл конфигурации включен внутрь EXE (тогда без перекомпиляции EXE не обойтись),

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

По последним данным юзеров, такой финт ногами (то есть "экспорт" в ворд) раньше получался только на одном компе (Вынь НТ4,0), а теперь после установки на него Вынь98 перестал получаться. На других (у которых ХР) и раньше не было русского языка. Значит, дело действительно в программе.

Попробуй скопировать файл CONFIG.FPW в директорию Windows.[/quot]
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32755009
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМОшибка именно в FoxPro! Точнее в способе запуска FoxPro. В 29 байте должно стоять одно из 2 значений

0х65 - 866 кодовая страница (DOS Rus)
0хС9 - 1251 кодовая страница (WIN Rus)

А значение
0x03 - 1252 кодовая страница (Win Eng)


В соседнем топике было сказано про программку CPZERO и методику его использования. Изначально dbf-файл сохраняется в кодировке 0x03, затем в Фоксе я "убиваю" кодировку (в 29 байте 0х00), после чего при открытии в фоксе он просит указать кодировку. Выбираем WIN-1251 - все красиво, все буковки пральные; выбираем DOS-866 - крякозяблы; выбираем WIN-1252 - русские буковки, но не все знаки и буквы правильные. Вывод - Фоксовая программа сохраняет файл в 1251-ой кодировке, а вот ВОРД, драйвер ODBC или бог еще весть что ни в какую не хочет принимать славянский язык :-(

Уже и не знаю, где копать.
ВладимирМ
Попробуй скопировать файл CONFIG.FPW в директорию Windows.
пробовал, не помогло.....
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32755095
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Все не совсем так.

Когда ты формируешь новую DBF-таблицу в FoxPro, если явно не указывается в какой кодовой странице ее формировать, то эта новая таблица будет создана в текущей кодовой странице среды FoxPro.

В VFP5 текущая кодовая страница среды FoxPro устанавливается в момент открытия самого FoxPro следующим образом:

1) Если есть файл конфигурации CONFIG.FPW со строкой CODEPAGE=1251, то будет установлена указанная кодовая страница

2) Если файла конфигурации нет, или там стоит CODEPAGE=AUTO, то будет установлена кодовая страница операционной системы (Windows). По всей видимости, у тебя это 1252 (Win eng)

Я не знаю случая, когда бы при создании новой таблицы в русскоязычном приложении сознательно указывали кодовую страницу 1252. Значит таблица создается без явного указания кодовой страницы.

Следовательно, остается единственная причина: не подхватывается нужный файл конфигурации.

Попробуй простейший вариант запуска файла EXE из проводника Windows.

Т.е. в проводнике Windows в одной папке должны лежать файл EXE и файл CONFIG.FPW со строкой CODEPAGE=1251. И дважды щелкни левой кнопкой мыши по EXE. Да, перед созданием нового файла DBF удали старый (может он не создается, а только наполняется) там же в проводнике.

Если и после этого ничего не изменилось, то это значит, что файл CONFIG.FPW был включен внутрь EXE и в этом включенном файле нет строки CODEPAGE=1251.

В этом случае открой проект в среде FoxPro (файл с расширением PJX) и найди в списке файлов внутри проекта файл конфигурации (CONFIG.FPW) и посмотри его содержимое. Достаточно дописать нужную строчку и просто перекомпилить весь проект.
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32755204
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ
В этом случае открой проект в среде FoxPro (файл с расширением PJX) и найди в списке файлов внутри проекта файл конфигурации (CONFIG.FPW) и посмотри его содержимое. Достаточно дописать нужную строчку и просто перекомпилить весь проект.

открыл проект в Фоксе, нашел config.pwt, который лежал в том же каталоге, указал там кодовую страницу 1251, перекомпилировал, запустил exe-шник, сохранил dbf-выборку. Так вот, теперь там 29-ый байт стоит 0хС9.
При открытии в ворде те же самые крякозяблы.
Тот же результат при использовании программы CPZERO и явном указании кодовой страницы в Фоксе при открытии очищенного файла таблицы.
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32755450
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это опечатка или файл конфигурации действительно имеет расширение "PWT" вместо "FPW"?

В FoxPro этот файл читается нормально (с не очищенным 29 байтом)?

Что в среде FoxPro возвращает команда (в командном окне)

?CPCURRENT()
...
Рейтинг: 0 / 0
Экспорт из FoxPro в Word
    #32756107
Orlic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Утро вечера мудренее ;-) С добрым утром.
ВладимирМЭто опечатка или файл конфигурации действительно имеет расширение "PWT" вместо "FPW"?

Простите, это опечатка. Файл CONFIG.FPW

ВладимирМ
В FoxPro этот файл читается нормально (с не очищенным 29 байтом)?

при создании dbf-файла 29 байт теперь (после перекомпиляции) С9, открывается в Фоксе великолепно, все символы исконно русские. Если выполнить очистку программой CPZERO, при открытии в фоксе выдается запрос на указание кодовой страницы.

ВладимирМ
Что в среде FoxPro возвращает команда (в командном окне)
?CPCURRENT()
выдает 1251

Попробовал сказать команду
Код: plaintext
1.
COPY TO  999  TYPE XLS
Данные из таблицы фокса корректно экспортировались в Exel-файл.
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Экспорт из FoxPro в Word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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