Форум: "Базы";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
ВнизКак сконвертировать DBF в BD(Paradox) Найти похожие ветки
← →
Stanislav SM (2003-04-16 11:53) [0]Уваж. мастера, у меня имеется таблица FoxPro (DBF-файл ДОСовского приложения). Мне нужно сделать программу конвертор, которая этот файл перенесет с некоторыми изменениями в таблицу Paradox (DB-файл). Возникает проблема: при открытии DBF текст отображается ненормально (явное несовпадение кодировки). И ничего не помогает: пробовал менять тип таблицы (ttFOXPRO, ttDBASE), ANSI. Помогите пожалуйста кто сможет.
← →
Соловьев (2003-04-16 12:05) [1]
> И ничего не помогает: пробовал менять тип таблицы (ttFOXPRO,
> ttDBASE), ANSI.
не здесь меняют, а в настройках BDE: драйвер и алиас.
← →
гончий (2003-04-16 12:09) [2]Кроме того, что нужно настроить BDE правильным образом, может возникнуть ситуация, что кодировка самой таблицы "кривая". Советую подобрать кодировку в Database Workshop - там видно как будут выглядеть строковые поля при различных кодировках - очень легко подбирается :) http://www.degisy.com
← →
Stas (2003-04-16 14:00) [3]Если с таблицей в DOS работать не будешь, то можно преобразовать. Вот код:
aDBHnd - TDatabase.Handle;
aTblType - "PARADOX"/"DBASE"/"FOXPRO"
aLangDriver - "ancyrr".
procedure ChangeLangDriver( aDBHnd: HDBIDB; aTable: TTable; const aTblType, aLangDriver: String);
var
TblExt: string;
TblDesc: CRTblDesc;
OptDesc: FLDDesc;
OptData: array [0..250] of Char;
Cur: hDBICur;
Rec: CFGDesc;
begin
FillChar( OptDesc, SizeOf( OptDesc ), #0);
FillChar( TblDesc, SizeOf( TblDesc ), #0);
StrCopy( OptDesc.szName, "LANGDRIVER");
OptDesc.iLen := Length(aLangDriver) + 1;
with TblDesc do
begin
StrPCopy( szTblName, aTable.TableName);
StrCopy( szTblType, PChar(aTblType));
iOptParams := 1;
pfldOptParams := @OptDesc;
pOptData := @OptData;
end;
StrPCopy( OptData, aLangDriver);
Check( DbiDoRestructure( aDBHnd, 1, @TblDesc, nil, nil, nil, False ) );
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c