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

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

Использование БД FoxPro в Delphi


Страницы:   1 2

Володя ©   (2004-03-18 14:48:00) 

Здравствуйте! Столкнулся с проблемой работы в Delphi с FoxPro-базами данных досовской кодировки. Подскажите пожалуйста - как перекодировать можно базу данных или как открыть её в Delphi правильно? Пока открывается база в виде краказябр и ес-сно ничего непонятно :(


Володя   (2004-03-29 13:07:00) [1]

Нашёл дыру в задании фильтра... Вроде заработало... А до этого пытался переделать исходники... Вот блин намудрили хорошо ребята... Стиль хороший :) Зря я на них ругался :)


sniknik   (2004-03-29 11:55:00) [2]

Володя ©   (29.03.04 10:00) [19]
в [11] посте для ADO-Jet-dBase приведены варианты настроек кодировки.

Володя ©   (29.03.04 08:33) [17]
> Может кто работал с Halcyon - подскажите, плиз, как исправить исходник для корректной работы фильтра...
это же исходник! если знаеш в чем проблема(место) береш и правиш как тебе надо. (но скорее всего там все нормально, просто фильтр неправильно задаеш)


Володя   (2004-03-29 10:00:00) [3]

А как в обычном провайдере переводить данные из одной кодировки в другую (из 866 в 1251 и обратно)? Halcyon хоть такую задачу решил, правда с фильтром досадно получилось :(


Anatoly Podgoretsky   (2004-03-29 09:44:00) [4]

Используй АДО с соответсвующим провайдером, а не суррогаты


Володя   (2004-03-29 08:33:00) [5]

Возник вопрос по Halcyon....
Базы открываются, записи добаляются в нормальной кодировке - всё ок... Пошёл дальше фильтр юзать... И тут - подводный камень... Фильтр отказывается работать :( Выдаёт ошибку в исходниках при попытке определить формат одной из переменных исходника Halcyon... Старая версия Halcyon не помогает решить проблему... Может кто работал с Halcyon - подскажите, плиз, как исправить исходник для корректной работы фильтра...


Володя   (2004-03-19 15:25:00) [6]

> sniknik

Огромное человеческое спасибо!!! Этот Halcyon помог - он как-раз и делает то, что нужно - переводит виндовскую кодировку 1251 в 866 досовскую и обратно автоматически!!! Супер - скачал библиотеку, установил - сделал на скоряк тестовую прогу для работы с той базой - и что вы думаете - люди в досовских прогах мою новую запись, сделанную в винде, видят и прекрасно всё понимают - не то, что раньше - краказябры...

Спасибо всем за помощь!!! Конечно это только тестовая прога, но там уж будет легче разбираться, раз такой этап уже пройден!!!


sniknik   (2004-03-19 10:43:00) [7]

Halcyon
http://www.vodonosov.newmail.ru/develop/develop.htm
возможно не пойдет "по причине постоянной работы других людей с базой старого образца в других прогах", изза различных блокировок при одновременном доступе (слышал такое, проверять не доводилось).


Володя   (2004-03-19 08:55:00) [8]

>Ksergey

А что такое Halcyon и что он могёт?

>Janbolat

Конвертация старых баз в новые не поможет по причине постоянной работы других людей с базой старого образца в других прогах, тем самым тогда придётся автоматически после каждого добавления нового элемента в базу перекодировать обратно в старый формат всю базу...


KSergey   (2004-03-19 07:50:00) [9]

Для доступа к DBF рекомендую Halcyon.
Впрочем понятно, что проблема автора не в этом. но если захочется пользоваться и индексами - то читай первое предложение.


Janbolat   (2004-03-19 06:44:00) [10]

Установи visual foxpro он сам конвертирует базы старых vfp


sniknik   (2004-03-18 20:45:00) [11]

ну наконец то... - Jet, (как гора с плечь;), надоело говорить ни о чем, конкретики хочется)
настройки зависят от установленности/неустановленности BDE. следовательно в BDEAdmine в одном случае и в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage = OEM/ANSI
в другом.
ну и других провайдеров тоже. (ODBC VFP рекомендую в случае с чисто фоксовскими таблицами)


Володя   (2004-03-18 16:19:00) [12]

Спасибо - попробую другие провайдеры, т.к. Jet мне явно не поможет в этом нелёгком деле :)


sniknik   (2004-03-18 16:15:00) [13]

> У них по-крайней мере есть функции NativeToAnsiBuf и AnsiToNativeBuf...
они есть и независимо от BDE, AnsiToOem / AnsiToOemBuff / OemToAnsi /OemToAnsiBuff

> Или все-таки при использовании ADO тоже можно нормальные данные вместо краказябры получать?
конечно можно, нужно только провайдера настроить (если он позволяет), или выбрать другого в противном случае.


Володя   (2004-03-18 15:57:00) [14]

Может дело в использовании ADO? Может стоит использовать BDE?
У них по-крайней мере есть функции NativeToAnsiBuf и AnsiToNativeBuf... Или все-таки при использовании ADO тоже можно нормальные данные вместо краказябры получать?


Володя   (2004-03-18 15:39:00) [15]

нда, все - коорые в строке - там никакого LangDriver нету, и никаких опций для изменения кодировок - тю-тю... А как ещё можно опции провайдера достать?


sniknik   (2004-03-18 15:25:00) [16]

почему думаеш что все? (наивный :) у провайдера их может быть много, может быть и не настраиваемым, могут не включатся в строку подключения(эти имел ввиду? которые в строке).


Володя   (2004-03-18 15:18:00) [17]

Настройки провайдера все перебрал - изменить кодировку исходной базы данных (бд) FoxPro - не получается :(


sniknik   (2004-03-18 15:11:00) [18]

для ADO действуют настройки провайдера, частично и настройки BDE (когда пролвайдер (jet) использует BDE).
в общем настраивай в "подключении бд" (бд то дельфи небось? ;о)))))


Володя   (2004-03-18 15:03:00) [19]

А куда его ставить? При подключении бд? В ADOConnection? или куда?


DenK_vrtz   (2004-03-18 15:00:00) [20]

Удалено модератором


Страницы:   1 2

Наверх

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