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

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

Проблема с кодировкой [D6, dBase, FoxPro]


Страницы:   1 2

DPetrovich ©   (2002-05-08 12:25:00) 

Пытаюсь подключить dbf-ку сформированную в 1C через ADO, но возникает проблема с кодировкой. Менял настройку CharSet в DBGrid - не помогает... Если кто сталкивался, подскажите, пожалуйста!


MONSTER   (2002-05-08 14:01:00) [1]

Ну что же теперь попробуем не через BDE!


MONSTER   (2002-05-08 14:00:00) [2]

YES!!!
Я его сделал! Не через ADO! Все нормально!
Ну!!! Ура!


MONSTER   (2002-05-08 13:22:00) [3]

Нет! Речь идет не о файлах экспорта! Нужно реалтайм!


Reindeer Moss Eater   (2002-05-08 13:13:00) [4]

Если речь идет о файлах экспорта, то попроси у 1C сохранять данные в DBase III.
А иначе изучай формат заголовка Dbase5


MONSTER   (2002-05-08 13:10:00) [5]

У меня нет! У 1С да! Dbase5!


Reindeer Moss Eater   (2002-05-08 13:09:00) [6]

Так и копай первоисточник, формат Dbase открыт, в отличие от парадокса.

Если байт = 0, исправь параметры в BDE админе. Либо у тебя версия dbase > 3


MONSTER   (2002-05-08 13:09:00) [7]

Ок! Вот за это спасибо. Есть над чем подумать! Хорошо, др. вопрос а разве Delphi работает не через BDE? СТОП! ODBC? Думаю........


MONSTER   (2002-05-08 13:07:00) [8]

Прикол в том, что 30-й байт у меня 0! СМ образец выше! а откуда ты взял это решение? Может стоит покопать первоисточник? Или ты и есть первоисточник?


Reindeer Moss Eater   (2002-05-08 13:06:00) [9]

При открытии файла Dbase BDE смотрит что написано в 30 байте заголовка. Если он не равен нулю, то BDE верит, что данные там лежат в той кодовой странице, что написано в заголовке.
Если байт нулевой, БДЕ считает что данные лежат в кодовой странице указанной для Dbase в системных параметрах.


Reindeer Moss Eater   (2002-05-08 13:02:00) [10]


function DBaseLangPatch(const fName:string):boolean;
var H:Integer; MyArray:array[1..30] of Byte;
begin
Result:=False;
if not FileExists(fName) then Exit;
FillChar(MyArray,30,0);
try
try
H:=FileOpen(fName,fmOpenReadWrite or fmShareExclusive);
except
MessageDlg("Ошибка монопольного доступа к файлу",mtError,[mbCancel],0);
Exit;
end;
FileRead(H,MyArray,30);
if MyArray[1] >= $04 then
begin
Result:=True;
Exit;
end;
if MyArray[30] <> $0 then
begin
MyArray[30]:=$0;
FileSeek(H,0,0);
FileWrite(H,MyArray,30);
end;
Result:=True;
finally
FileClose(H);
end;
end;


MONSTER   (2002-05-08 12:59:00) [11]

Давай по-простому:
.f......A.......................ID......
или
03660508830000004102DC0000000000000000000000000000000000010000004944000000000000
Как должно быть???
(Это первые байты DBF-а)


Reindeer Moss Eater   (2002-05-08 12:51:00) [12]

Это просто тридцатый байт от начала файла.
Перед тем как это делать надо убедиться что первый байт < $4
Потому что в версиях выше третьей cp хранится по иному


MONSTER   (2002-05-08 12:49:00) [13]

Слышь, прикалываешься?


MONSTER   (2002-05-08 12:44:00) [14]

Reindeer Moss Eater
Если не в лом:
ICQ 150153967


MONSTER   (2002-05-08 12:43:00) [15]

ВОПРОС!
Как я могу вычленить заголовок, от "ТЕЛА"? Или это просто 30-й байт с начала файла????


Reindeer Moss Eater   (2002-05-08 12:41:00) [16]

В заголовке файла Дибейса конечно же


MONSTER   (2002-05-08 12:40:00) [17]

МЫСЛИ ВСЛУХ: все равно копию делать, я вручную попробовал, не получается! И потом "в заголовке" это где?


Reindeer Moss Eater   (2002-05-08 12:37:00) [18]

Можно точечным лазерным ударом в нужный магнитный домен на винте.
А можно и используя FileWrite


DPetrovich   (2002-05-08 12:33:00) [19]

Reindeer Moss Eater, каким образом?


MONSTER   (2002-05-08 12:29:00) [20]

Аналогично! Но я подсоединялся не через ADO. Лазил по ODBC. Программка DBCommander работает через BDE откравает как милая, без проблем! А в Delphi и SQL server-е зябры! Кто поможет решить, отблагодарю, сдам алгоритм движения документов в Бухгалтерии (по DBF-файлам) Как и что делают бухгалтера я не знаю.. :)


Страницы:   1 2

Наверх

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