Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.05;
Скачать: CL | DM;

Вниз

Как сконвертировать 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
3-12618
jocko
2003-04-15 15:16
2003.05.05
Как создать экземпляр TADOConnection внутри dll или потока


1-12704
cult
2003-04-23 12:12
2003.05.05
Буфер обмена


14-12878
Михайлов Антон
2003-04-16 20:28
2003.05.05
это глупо но нужно...


1-12803
Foxtrot
2003-04-22 14:52
2003.05.05
Как добыть время из структуры FILETIME ?


8-12841
reticon
2003-01-28 23:12
2003.05.05
кучу файлов в один