![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDbf и codepage [D7, dBase, FoxPro]
Kapitan © (2003-05-12 12:57:00)Использую в проэкте компоненту TDbf с http://sourceforge.net/projects/tdbf/Раньше использовал версию 6.21 и для открытия dbf файлов с русской DOS кодировкой проканывал вариант DbfGlobals.DefaultOpenCodePage := 866 перед Dbf.Open;. Скачал последнюю версию 6.23 и теперь не работает это дело. Может кто столкнулся с теми же граблями подскажите что делаю не так. Да и украинские буквы отображаются как "_" в вынь кодировке. Перейти на старую версию не предлагать, так как в ней баг ради которого и была скачана новая в которой проблема с багом решена, но появилась проблема кодировок.
Kapitan (2003-05-12 14:47:00) [1]Документации нет это правда, но уже начались разговоры о ее написании. А что можете предложить как альтернативу ?
Anatoly Podgoretsky (2003-05-12 14:31:00) [2]Этот TDbf один сплошной баг, от момента возникновения до последней версии. А про документацию вообще стоит только молчать.
roottim (2003-05-12 14:24:00) [3]решил посмотреть что за компонент! попробую использовать его для конвертации, надеюсь по скорости будет ничего...
взглянул на код..
если посмотреть сюда Dbf_DbfFile.pasисходника
и найти там ф-ю
function TDbfFile.GetCodePage: Cardinal;
то фразу
Result := LangId_To_CodePage[PDbfHdr(Header).Language]можно дополнить чем-о своим типа
if PDbfHdr(Header).Language > 0 then
Result := LangId_To_CodePage[PDbfHdr(Header).Language]
else
Result := LangId_To_CodePage[101];
константы LangId_To_CodePage описаны в Dbf_Lang.pas
наверно поможет.. или хотябы наведет на мысль...