![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
кодировка [D6, FB]
Ann © (2003-05-22 09:10:00)Добрый день!
Подскажите пожалуйста, как при записи из таблицы с досовской кодировкой перекодировать ее в виндовскодировку?
Stas (2003-05-22 10:52:00) [1]>Anatoly Podgoretsky ©
У меня перекодирует, а у нее небудет ?
Что-то ты не то городишь.
Anatoly Podgoretsky (2003-05-22 10:49:00) [2]Это не будет перекодировать твою таблицу, надо самой перекодировать построчно, конечно прежде создав новую таблицу.
Или сразу гнать из старой таблицы в FB с перекодировкой поле, для этого используй функцию OemToChar
Stas (2003-05-22 10:49:00) [3]Не зачто, Аня. Обращайся.
Ann (2003-05-22 10:44:00) [4]хорошо... спасибо :)
Stas (2003-05-22 10:40:00) [5]Ну, я так понимаю ты перегоняешь свои таблы из *.dbf в FB
Ты перекодируй таблицу через BDE, а потом перегоняй.
Ann (2003-05-22 10:32:00) [6]ок! :) спасибо. Так понятно :) а то что я использую не BDE а FibPlus это роли не играет?
Stas (2003-05-22 10:27:00) [7]А что тебе нужно понять Аня ?
в USES пропиши BDE
Всталяешь эту процедурку, объявляешь ее заголовок.
Кидаешь на форму DataBase и таблицу,и соединяешь их.
А вызвать ее нужно так:
ChangeLangDriver (Database1.Handle,Table1,"DBASE","anccyrr")
Stas (2003-05-22 10:27:00) [8]А что тебе нужно понять Аня ?
в USES пропиши BDE
Всталяешь эту процедурку, объявляешь ее заголовок.
Кидаешь на форму DataBase и таблицу,и соединяешь их.
А вызвать ее нужно так:
ChangeLangDriver (Database1.Handle,Table1,"DBASE","ancyrr")
Ann (2003-05-22 10:14:00) [9]обидно только то, что я этим никогда не занималась.. почему-то ничего понять не могу. :(
Ann (2003-05-22 09:47:00) [10]спасибо
Stas (2003-05-22 09:45:00) [11]Этот вопрос возникает почти каждый день !!!
Наверное его нужно поместить в F.A.Q :-)
Вот код:
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;
Ann (2003-05-22 09:35:00) [12]у базы с дос кодировкой расширение dbf.. вроде стандартная функция была, а найти не получается :(
Stas (2003-05-22 09:14:00) [13]А под DOS-ом какая база была ?
Или расширения файлов Dos базы ?