Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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
наверно поможет.. или хотябы наведет на мысль...


Наверх

Титульная страница Поиск, карта сайта Написать письмо