![]() |
Модераторы: Akella |
![]() ![]() ![]() |
|
lvvdelta |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.1.2003 Репутация: нет Всего: нет |
Помогите ! Если у кого-нибудь есть описание файла DB или кто-нибудь знает где его взять буду очень признателен.
|
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Возможно в Интернете где-то можно найти, но это закрытый формат (коммерческий) и потому вполне может быть, что публикаций на эту тему практически нет - Paradox не столь популярен. Увы
![]() |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
Уделил часа два поиску(самому интересно стало), но так к сожалению ничего и не нашел.
![]() -------------------- |
|||
|
||||
lvvdelta |
|
|||
Unregistered |
Ура! Нашел!
![]() Если интересно могу опубликовать, но документация на английском. |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Конечно интересно. Публикуй ссылочку. Или что там ? |
|||
|
||||
lvvdelta |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.1.2003 Репутация: нет Всего: нет |
||||
|
||||
Страдалецъ |
|
|||
Unregistered |
Кстати, в свое время Борланд выпустила специальный набор библиотек для работы с базами парадокса. Может тебе не изобретать велосипед, а взять готовое решение от самого борланда?
|
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: нет Всего: 43 |
у меня где-то есть описание формата файлов, сделанное неким америкосом методом этакой дедукции. к сожалению адреса не помню, но могу намылить если кому нужно.
По этой инфе я свой класс дописал, который у меня читает данные из файлов Paradox ver.1-ver.4 без всяких дополнительных ODBC и т.п. К слову, он не сильно отличаеться от того же формата FoxPro *.dbf Это сообщение отредактировал(а) DENNN - 1.2.2003, 03:08 |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
А мне сбросить не можешь (и доку и класс) я бы в наш FAQ пристроил
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: нет Всего: 43 |
Sorry!
Не подумал, что тут в основном дельфеисты - класс на C++. И еще, класс читает не все типы данных, только те которые мне были необходимы (текст, целые и вещественные числа). Документации нет, а написать нет времени. Отправлять? |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Почему нет, тут довольно много программистов на С
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: нет Всего: 43 |
Все описание и пара утилит лежит тут
http://www.byronref.com/rmb/pxspecs.htm если у вас не слишком навороченные файлы (шифрование и прочее), то этого должно хватить. Это сообщение отредактировал(а) DENNN - 1.2.2003, 04:17 |
|||
|
||||
Гость_ГОСТЬ |
|
|||
Unregistered |
From: "Сергей Перевозник" <[email protected]>
Subject: Описание формата файлов PARADOX Date: 24 Oct 1997 06:27:30 GMT Organization: ПОЛИКОМБАНК Формат файла PARADOX Составил : Сергей Перевозник Дата - число дней с 31.12.0 - этому значению соответствует 80000000 Hex текст - просто текст Смещение пояснение 00 размер одной записи мл. байт 01 размер одной записи ст. байт 02 смещение конца заголовка мл. байт 03 смещение конца заголовка ст. байт После этого адреса идут несколько байт 00 и начинаются данные. Данные выровнены по левому краю поля, пустые места заполнены 00. 04 05 Значение этих двух байт всегда постоянно (по крайней мере у меня так получилось) и равны 02 01 (H). Может быть это версия Paradox (у меня 3.0). 06 число записей в файле мл. байт 07 число записей в файле ст. байт 08-09 Почему-то всегда 00. A-B Часто бывает равно числу записей в файле. (но почему-то не всегда, похоже это что-то другое) C-D Часто бывает равно (A-B)+1. 21 число полей в записи. __Описание полей.__ Таблица описания полей начинается со смещения 5A. Поля описываются в формате: КОД ТИПА РАЗМЕР (байт) КОД ТИПА РАЗМЕР (байт) Код типа - указывает на тип поля. Размер - задает размер поля в байтах. Код типа поля: 01 - Alphanumeric 02 - Date 03 - Integer 05 - Currency 06 - Number PS Если у кого есть дополнения и/или замечания - милости просим. Файл данных Paradox (*.db) состоит из заголовка и набора страниц. Страницы связаны в двусвязный список в соответствии с основным индек- сом. Каждая страница хранит переменное число записей фиксированной длины. Страница идентифицируется своим порядковым номером в файле дан- ных. Под номер страницы зарезервировано одно слово. 1. Формат файла db: Заголовок файла + Hабор страниц. 2. Формат страницы файла данных: Type tPage = record NextPage : word; PrevPage : word; LastOfs : word; Records : .... end; Поле LastOfs содержит смещение начала последней заполненной записи на странице относительно поля Records ( для смещения относительно на- чала страницы надо добавлять 3 слова ). Поля NextPage и PrevPage содержат номера соответственно следующей и предидущей страницы. Внутри страницы записи отсортированы по основному индексу. Свободные страницы внутри файла связаны в список с помощью полей NextPage. Hомер первой свободной страницы хранится в заголовке. Заголовок файла данных содержит служебную информацию о размере запи- сей, размере страниц и.т.п. Кроме того он содержит информацию о полях записи. Он состоит из общей части и набора описаний полей. 3. Формат общей части заголовка файла данных: Type tHeader = Record hRecordSize : word; { размер записи в байтах } hHeaderSize : word; { размер заголовка в байтах } hPrimaryIdx : byte; { ??? связан с наличием основного индекса } hPageSize : byte; { размер страницы в килобайтах } hRecCount : longint; { количество записей в файле } hPageCount : word; { количество страниц } hFreePage : word; { номер первой свободной страницы, далее Next...} hTopPage : word; { первая страница в основном индексе } hBottomPage : word; { последняя страница в основном индексе } hReserved : array[1..15] of byte; { ??? для импорта не важны } hFieldCount : word; { количество полей в записи } end; В версии Paradox 3.X описание полей начинается со смещения 58h. В версии Paradox 4.X описание полей начинается со смещения 78h. 4. Формат описателя поля: Type tField = Record FieldType : byte; { Тип поля см. ниже } FieldSize : word; { Размер поля в байтах } end; Со смещения hFieldCount*6 + 83 от начала описателей полей хранится список названий полей. В виде набора ASCIIZ строк. Hазвание может быть длиной до 25 символов. Типы полей: 1 - Alphanumeric { переменной длины } 2 - Date { 4 байта } 3 - Integer { 2 байта } 5 - Currency (Integer) { 2 байта } 6 - Double { 8 байт } C - Memory D - Binary E - Formated memory Хранятся в Memo-файле F - OLE object 10 - Graphic Данные хранятся в следующем виде: Alphanumeric - Массив символов дополненный до фиксированной длины символом 0. Типы со 2 по 6 хранятся в обратном порядке: Integer - ст. байт, мл. байт Double - 8, 7, 6, 5, 4, 3, 2, 1 - байт. Числовые поля имеют инвертированый старший бит: т.е. число 1234h хранится в виде 92 34. |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Перенесено из баз данных
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие СУБД | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |