powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / и снова кодировка (опытным)
8 сообщений из 8, страница 1 из 1
и снова кодировка (опытным)
    #34329819
клиперовская таблиц, впрочем это не важно,
кодировка таблицы - 0 и менять ее нельзя

можно ли нормально как-то работать с таблицей (без cpconvert) под VFP 9 ?
никакие codepage в конфиге не помогают
Очень надеюсь на консультацию.
...
Рейтинг: 0 / 0
и снова кодировка (опытным)
    #34329871
Каменнов В.клиперовская таблиц, впрочем это не важно,
кодировка таблицы - 0 и менять ее нельзя
Почему это?
Много работал с Клиппером и Фоксом (правда ДОСовским). Никаких проблем с указанием кодовой страницы в заголовке при работе в Клиппере не возникало... Ибо он (Клиппер) на кодовую страницу не смотрит...
...
Рейтинг: 0 / 0
и снова кодировка (опытным)
    #34329893
сам не работал, но сказали что возникают какие-то сбои в операция подсчета записей и т.п.
Это не так ?
...
Рейтинг: 0 / 0
и снова кодировка (опытным)
    #34330168
sergej_57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Клиппер понимает только дос(866), а фокс 9.0 только виндовс(1251), поэтому при тех видах обработки таблиц, связанных с перезаписью (допустим добавление данных) признак кодовой таблицы будет стерт в клиппере. Перед началом открытия фоксе надо контролировать наличие кодовой метки в заголовке и при необходимости ее восстанавливать. Прога cpzepo есть в фоксе. Она прописывает метку не трогая содержание полей. А вот в таблицу дос добавлять текстовые поля из под виндовса надо через конвертацию. Проблема может быть в индексах по текстовым полям.
...
Рейтинг: 0 / 0
и снова кодировка (опытным)
    #34330445
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каменнов В.сам не работал, но сказали что возникают какие-то сбои в операция подсчета записей и т.п.
Это не так ?
Признак кодовой страницы - это содержимое 29 байта заголовка таблицы. И все. Больше никаких изменений. Clipper просто не работает с содержимым этого байта, поэтому никаких конфликтов возникнуть в принципе не может.

Однако следует иметь в виду, что ряд операций в Clipper может привести к очистке этого байта. Какие именно операции - не знаю. Вероятно, это операции по пересозданию файла.

Другими словами, просто установи признак 866 кодовой страницы. Проблем быть не должно:

Код: plaintext
DO (Home()+"Tools\CPZero\CPZero.prg") WITH "MyTab.dbf", 866 

Но при каждом открытии в FoxPro надо все-равно контролировать факт наличия этого признака, поскольку он может оказаться удаленным.

Хотя, есть еще функция CPConvert() при помощи которой можно конвертировать данные из разных кодовых страниц. Но уж больно это утомительно, поскольку надо явно конвертировать ВСЕ текстовые данные.
...
Рейтинг: 0 / 0
и снова кодировка (опытным)
    #34330821
novik_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ
Признак кодовой страницы - это содержимое 29 байта заголовка таблицы. И все. Больше никаких изменений. Clipper просто не работает с содержимым этого байта, поэтому никаких конфликтов возникнуть в принципе не может.

Однако следует иметь в виду, что ряд операций в Clipper может привести к очистке этого байта. Какие именно операции - не знаю. Вероятно, это операции по пересозданию файла.



Добавление записей очищает этот байт.
Ну и cpzero на открытых таблицах не работает :(
...
Рейтинг: 0 / 0
и снова кодировка (опытным)
    #34331413
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
novik_oneДобавление записей очищает этот байт.
Не знал. Если это так, то Clipper создавали жуткие перестраховщики. Модифицировать данные, которые не участвуют в операции и вообще не имеют к операции никакого отношения - это надо иметь определенный склад характера.
...
Рейтинг: 0 / 0
и снова кодировка (опытным)
    #34332312
sergej_57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто во времена создания клиппера был один дос, и поэтому как записал так и прочитал в одной системе. Записал на русском(866) и прочти на русском(866). И анализировать 29 байт не было необходимости. Можно добавлять этот байт и в клиппере после перезаписи заголовка, только надо обязательно закрывать файл ибо запись ведется на низком уровне, а он оперирует только с заранее закрытыми файлами. А если 29 байт будет пустым, то фокс откроет окно и предложит его заполнить вручную. Можно пооробовать перехватить эту ошибку и заполнять его.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / и снова кодировка (опытным)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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