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

Вниз

Проблема с кодировкой   Найти похожие ветки 

 
Шурик Ш ©   (2002-10-24 11:38) [0]

Подскажите пожалуйста. Мне необходимо прочитать таблицу DBF, которая сделана в ДОСе. Я работаю с ней через БДЕ, но его содержимое написанное русскими буквами не читабельно. Просматриваю файл через Far, он читабелен в кодировке "ДОС". Как мне его прочитать?


 
sniknik ©   (2002-10-24 11:45) [1]

разные кодовые страници, нужны настройки на дос если хочеш читать в виндах
почитай это то же самое
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1035350354&n=1


 
Шурик Ш ©   (2002-10-24 13:27) [2]

Я так и не понял, как мне программно устранять эту ошибку при запуске?


 
Leshik ©   (2002-10-24 13:31) [3]

Чтобы прочитать такой бд с досовской кодировкой, поставь в свойствах DBGriG (или что ты используешь для вывода результата) Fonts\CharSet = OEM_CHARSET (тоже что и 255).
У меня так получилось.


 
sniknik ©   (2002-10-24 13:35) [4]

Это не ошибка,
для начала измени в
BDE Administrator-е:
Configurations>Driver>Native>BDASE - "dBASE RUS cp866"
и еще раз перечитай ветку


 
Шурик Ш ©   (2002-10-24 13:37) [5]

2 Leshik © (24.10.02 13:31)
Спасибо! Это действительно помогло! А что значит, то что я сделал?


 
Barabashka   (2002-10-25 11:16) [6]

Это значит, что все другие проги, которым надо будут настройки
Configurations>Driver>Native>BDASE будут использовать твои....и как они после этого станут работать, поизвестно.
лучше сразу в реестр писать, прдварительно сохранив то, что там
было, а потом вернуть, при выходе из программы
Uses …….,registry;
………
procedure TForm1.edit_reestr;
var MyReestr:TRegistry;
begin
MyReestr:=TRegistry.Create;
MyReestr.RootKey:=HKEY_LOCAL_MACHINE;
if myReestr.OpenKey("\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\DBASE\TABLE CREATE",false) then
begin
sreestr:=MyReestr.ReadString("level");{запомнить, а что собственно было до нас}
MyReestr.WriteString("level","5");{пишем свое}
MyReestr.CloseKey;
end;
end;
После этого создание dbf-файла происходит в досовской структуре…
По-хорошему, надо вернуть после себя настройки, которые были до этого

procedure TForm1.restore_reestr;
begin
MyReestr.RootKey:=HKEY_LOCAL_MACHINE;
if myReestr.OpenKey("\SOFTWARE\Borland\Database Engine\Settings\DRIVERS\DBASE\TABLE CREATE",false) then
begin
MyReestr.WriteString("level",sreestr);{вернули то, что там было.}
MyReestr.CloseKey;
end;
MyReestr.free;
end;
Для других ключей аналогично. Их в реестре можно глянуть.

Я уже когда-то давала тут этот ответ.




Страницы: 1 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
3-45663
Kran
2002-10-23 19:54
2002.11.14
Реструктуризация таблицы


6-46037
kot2
2002-09-19 11:36
2002.11.14
Траблы с TClientSocket внутри DLL


14-46049
iNew
2002-10-25 05:32
2002.11.14
В Win2000 есть такая штука как net send (можно посылать


14-46121
Rihard
2002-10-27 22:10
2002.11.14
По могите ,СРОЧНО!!!!!!


6-46016
Artemkin
2002-09-15 14:20
2002.11.14
Как получить файл через локальную сеть ?