powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Преобразование header таблицы DBASE 4 в FOX2X AS 866
7 сообщений из 7, страница 1 из 1
Преобразование header таблицы DBASE 4 в FOX2X AS 866
    #34300886
Подскажите пожалуйста кто знает, как преобразовать заголовок таблицы DBASE 4 в формат FOX2X с кодовой страницей 866 без открытия по умолчанию служебного окна Code Page.

Пробовал команду SET CPDIALOG OFF, но она как и следовала ожидать лишь подавляет выдачу окна Code Page, а при открытии таблицы русские буквы показывает кракозябрами и по видимому ничего в header не меняет. В конце концов решил проблему изменения header таблицы низкоуровневой функцией FWRITE. Но видимо должно быть более простое решение.
...
Рейтинг: 0 / 0
Преобразование header таблицы DBASE 4 в FOX2X AS 866
    #34300974
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
SELECT t_MyTable
COPY TO "new/t_MayTable"  as  866  TYPE FOX2X
cpzero.prg убирает / меняет отметку кодовой страницы
...
Рейтинг: 0 / 0
Преобразование header таблицы DBASE 4 в FOX2X AS 866
    #34300982
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DO CPZERO WITH dbfname, codepage_number && marks the database with specified codepage
...
Рейтинг: 0 / 0
Преобразование header таблицы DBASE 4 в FOX2X AS 866
    #34301033
Спасибо за ответ, Гоша.
Код первого сообщения не совсем понятен. Перед SELECT myTable я должен ее открыть, используя USE. Когда я выполняю USE Path_myTable_DBASE_4 появляется служебное окно Code Page, в котором я и должен вручную установить кодировку. Хотелось бы избежать этого и автоматом в проге устанавливать codepage.
...
Рейтинг: 0 / 0
Преобразование header таблицы DBASE 4 в FOX2X AS 866
    #34301038
Гоша, киньте пожалуйста текст CPZERO.prg
...
Рейтинг: 0 / 0
Преобразование header таблицы DBASE 4 в FOX2X AS 866
    #34301114
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый код - если надо сохранить таблицу в формате 2-ой фоксы с досовской кодировкой.
у нас была такая необходимость, готовили реестры в восьмерке, а там, куда готовили был 2-ой фокс. Т.е. первый случай для того, чтобы сохранить таблицу в формате 2-ой фоксы.

Код: plaintext
1.
2.
3.
4.
Use t_MyTable alias t_MyTable in  0  &&открываем таблицу
SELECT t_MyTable && переходим в область открытой таблицы
COPY TO "new/t_MayTable"  as  866  TYPE FOX2X && создаем новую в формате  2 -ой фоксы с кодировкой дос
use in t_MyTable &&закрываем таблицу
cpzero.prg убирает / меняет отметку кодовой страницы идет с фоксой, можешь ее найти обычным поиском в месте, где установленна фокса. Т.е. применяем, если требуется только поменять отметку кодовой страницы.
Код: plaintext
1.
2.
DO CPZERO WITH t_MyTable,  866  && Меняем в таблице t_MyTable отметку кодовой страницы на  866  (дос)
DO CPZERO WITH t_MyTable &&Убираем отметку о кодовой странице в таблице t_MyTable
...
Рейтинг: 0 / 0
Преобразование header таблицы DBASE 4 в FOX2X AS 866
    #34301171
Еще раз спасибо Гоша.
Посмотрел код cpzero. Тоже сложноватый. Изменяет заголовок таблицы низкоуровневой функцией FWRITE. Примерно тоже самое у меня сейчас и работает. Видимо более простого решения пока нет.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Преобразование header таблицы DBASE 4 в FOX2X AS 866
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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