Кодировка TTable в C++ Builder
3856
18
Есть программа, которая создает новую ДБФ-ку использую компонент TTable
DestTable->Active=false;
DestTable->DatabaseName =FPath;
DestTable->TableType = ttFoxPro;
DestTable->TableName = FName;
...
DestTable->CreateTable();
Ворпос: как задать нужную кодировку создаваемой таблицы. Нигде ничего не нашел по этому поводу.
craxx
воспользоваться TDatabase
craxx
Настройки BDE копать не пробовал ?
maxlap
Пробовал. Нихрена не дало.
craxx
Поправочка к предыдущему сообщению. В настройках BDE Native drivers нет нужной кодировки. Нужно Win-1251. Да и хотелось бы задавать кодировку программно, т.е. какую захочу.
craxx
Там есть раздел настройка драйверов
ты вообще какой драйвер используешь ?
DBF можно открывать 3 драйверами -
Standart,DBASE III,DBASE IV.

Скажу честно у мне в моей практике приходилось через БДЕ работать с таблицами старго досовского парадокса так вот, кодировка в DB файле исправлялась буквально подменой 4 байт. Думаю в DBF не сложнее будет. Найди описание его структуры, и проблема решиться.
maxlap
По поводу настроек драйвера. Драйвер FoxPro, пытаюсь задать свойство LANGDRIVER, там нужной кодировки нет.
По поводу нескольких байт. Да, в DBF то же самое, но че-то я не могу найти толкового описания формата. Более того, я скачал исходники старенькой VCL-ки TDBF еще для Delphi 3, но че-то не смог запинать ее под Билдер, а переписывать код на С мне влом.
Egor_M
Хорошо, сформулирую вопрос по другому.
Как программно задать кодировку таблицы ПРОИЗВОЛЬНОГО формата средствами BDE?
craxx
У тебя что на БДЕ свет клином сошелся что-ли?
Глючная, тормозная тистема.
Есть ОДБС, есть DBX, в конце концов есть куча компрнент для Delphi\Builder которые работают с DBF напрямую. Поиши просто и будет тебе счастье.
maxlap
Макс, мне по большому счету пофиг, BDE, ODBC, DBX или что-то ещё. Мне важно программно задавать кодировку при создании таблиц любого типа, не только DBF.
craxx
Покопал я на днях настройки драйверов BDE, ох лажа там полная, есть только дос-кодировка, может лучше все-таки посмотреть в сторону ОДБС?
maxlap
Да и я тоже всё BDE перерыл, ну ничего не нашел по программному заданию кодировки таблиц.:хммм:А каждый раз лезть в BDE Administrator это не тема :death:
С ADO вообще принципиально не желаю связываться, более глючной вещи давно не встречал, даром что от мелкомягких. Остается или искать другие подобные системы, или пользовать ся напрямую ODBC
craxx
ODBC в чистом виде уже давно не существует:улыб:Теперь только ADO.
Кстати, как и ODBC, ado работает через соответсвующие драйвера. И все глюки ADO связаны не с самим ADO, а с конкретным драйвером. Драйвер на MS SQL особых глюков не имеет. А насчет руских кодировок в BDE - ламерствуете ребята. Есть они там.
DOS кодировка:
Paradox Cyrr 866
dBASE RUS cp866

WIN1251:
Pdox ANSI Cyrillic

Скопировано с LANGDRIVER из BDE Admin...
Драйвер на MS SQL особых глюков не имеет.
Ты внимательнее читай топик, я спрашиваю про FoxPro DBF.
DOS кодировка:
Paradox Cyrr 866
dBASE RUS cp866

WIN1251:
Pdox ANSI Cyrillic

Скопировано с LANGDRIVER из BDE Admin...
А программно ее можно задавать или каждый раз лазить в BDE Asministrator?
А насчет руских кодировок в BDE - ламерствуете ребята.
Ничего подобного
Есть они там.
WIN1251:
Pdox ANSI Cyrillic
Не для всех драйверов. Для DBASE и FOXPRO нету.
craxx
А программно ее можно задавать или каждый раз лазить в BDE Asministrator?
тебе же отвечали: TDatabase->Params->LangDriver
Понял, не доперло поначалу:улыб:
Пасиба :pivo: