Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

О dbf-ке в досовской кодировки

830
01 декабря 2003 года
MVal
76 / / 17.10.2002
Тут получилась такая штука, что приходится конектится и брать (а может быть и вносить) данные в старую DBF-ку в досовской кодировки (данные в ней периодически обновляются). Через BDE конектится нормально, да вот только вместо букв получается нечто.
Посоветуйте, как с ним бороться, только вот бегать по всему датасету и конвертировать в, из OEM чегото не хочу.
415
01 декабря 2003 года
SLA
274 / / 08.08.2003
Цитата:
Originally posted by MVal
только вот бегать по всему датасету и конвертировать в, из OEM чегото не хочу.



А придется. :)
Ты лучше при выводе на экран конвертируй в ОЕМ, а при записи в базу - обратно в cp866. Базу переделывать лучше ненадо, тогда и старые (ДОСовские) программы смогут работать.
Да и что тут сложного - 33 русские буквы сконвертировать конструкцией switch-case-default?

1
01 декабря 2003 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by MVal
Тут получилась такая штука, что приходится конектится и брать (а может быть и вносить) данные в старую DBF-ку в досовской кодировки (данные в ней периодически обновляются). Через BDE конектится нормально, да вот только вместо букв получается нечто.
Посоветуйте, как с ним бороться, только вот бегать по всему датасету и конвертировать в, из OEM чегото не хочу.


Чтобы получить дбф из-под ДОС кодировки необходимо программно или через BDE-admin установить для данного типа драйвера в свойстве LENGDRIVER кодировку - dBASE RUS cp866. И база будет читаться/писаться без проблем.
Т.е. заходишь в Панель управления/ BDE Administrator, открываешь закладку конфигурация, выбираешь нужный драйвер - к примеру FoxPro и устанавливаешь вышеуказанную кодировку. Если работать программно - используй
TSession->ModifyDriver(AnsiString ИмяДрайвера,TStrings Список параметров);

1
01 декабря 2003 года
kot_
7.3K / / 20.01.2000
Соответственно писать в нее желательно в ОЕМ-кодировке :) , но к примеру стандартный TEdit имеет метод OEM-convert - используй его, или реализуй свой - как больше нравиться
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог