Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кодировка и BDE [D6, dBase, FoxPro]


mao ©   (2003-05-21 18:34:00) 

Подскажите, как программно установить в какой кодировке (dos, win) читать данные из dbf-файла? Чтобы не лазить в BDE Administrator. Все дело в том, что если, например, таблица набрана в кодировке RUS cp866, а в BDE в Drivers стоит LANGDRIVER - "ascii" ANSI, то программа не правильно отображает данные. Можно сделать так, чтобы вывод данных не зависел от значения LANGDRIVER в BDE? Желательно без программного переключения значения LANGDRIVER, т.к. параллельно может быть запущена БД, которой для нормальной работы нужно другое значение LANGDRIVER.


Serginio   (2003-05-22 18:32:00) [1]

ListAnsii:= TStringList.Create;
ListAnsii.Add ("LANGDRIVER=ancyrr");
Session.ModifyDriver("FOXPRO",ListAnsii);
Session.ModifyDriver("DBASE",ListAnsii);
ListAnsii.Free;


mao   (2003-05-22 18:29:00) [2]

Reindeer Moss Eater (22.05.03 09:47)
А можно поподробнее насчет Session.ModifyDriver? Что-то у меня не очень получается...


Reindeer Moss Eater   (2003-05-22 09:48:00) [3]

29 байт с начала файла отвечает за кодировку не во всех версиях DBase.


Reindeer Moss Eater   (2003-05-22 09:47:00) [4]

Session.ModifyDriver


mao   (2003-05-22 05:39:00) [5]

Я наверно неправильно выразился или ты неправильно понял. В какой кодировке мои dbf-ки я знаю, но мне надо, чтобы прогрмма нормально читала из них данные (на руссокм языке) независимо от того чему равно значение LANGDRIVER (в BDE в Drivers и т.д.).


Serginio   (2003-05-21 18:44:00) [6]

29 байт с начала файла отвечает за кодировку.
http://www.e-bachmann.dk/computing/databases/xbase/dbf.html#DBF_STRUCT


Наверх

Титульная страница Поиск, карта сайта Написать письмо