Автор Тема: *.DEP *.LST разбор  (Прочитано 1031 раз)

Оффлайн KOCMOHABT

  • Геолог - тоже человек
  • Местный
  • ***
  • Сообщений: 55
  • Карма: +4/-0
  • ~Мы есть звездная пыль~
*.DEP *.LST разбор
« : 03 Май 2016, 06:38:38 »
Доброго времени суток друзья. В качестве спортивного интереса решил разобрать структуру файлов *.sup *.dep и *.lst. Если *.sup дался относительно легко и просто. То с последними двумя есть небольшие трудности, по *.lst - длина одной строки 21 байт из них с 17 по 21(0x10-0x14) нули, что должно быть не знаю.
По *.dep - первые 4 байта в обратном порядке это номер записи, дальше 2 байта номер скважины, далее 2 байта длина строки в байтах в обратном порядке, дальше 1 байт понятия не имеет что значит, следующий байт - полагаю что количество значений в строке. Далее идут значения "в стиле" 2 байта + выделенное количество байт по словарю для значения, из них первый байт, понятия что значит закономерности не нашел, следующий байт номер значения в строке, ну а дальше само значение.
Вопросы у меня по спорным байтам (они подчеркнуты)и еще "откуда берется номер для параметра из справочника", или перефразировать попроще, откуда программа знает что конкретные 4 байта относятся к весу например, точно уверен что это хранится в *.dep.

Сразу хочу сказать что я не программист и соответствующего образования и знакомств не имею, и называю вещи как знаю. Я самоучка  :)

upd: Накопал DTCIS_CDT200 и Referncs.par в папке Reference\CDT200 возможно как-то связано с ними
Все убрано по просьбам трудящихся.

Оффлайн REA

  • Розов Евгений Анатольевич
  • Глобальный модератор
  • *****
  • Сообщений: 1309
  • Карма: +85/-62
    • GeoSensor
Re: *.DEP *.LST разбор
« Ответ #1 : 03 Май 2016, 17:01:19 »
Есть же описание формата. Вы по описанию делаете?

Оффлайн KOCMOHABT

  • Геолог - тоже человек
  • Местный
  • ***
  • Сообщений: 55
  • Карма: +4/-0
  • ~Мы есть звездная пыль~
Re: *.DEP *.LST разбор
« Ответ #2 : 03 Май 2016, 17:36:23 »
Есть же описание формата. Вы по описанию делаете?
Ну конкретно у меня описания нет, и на форуме я не нашел  :) Я в hex-редакторе смотрю, меняю значения, сравниваю, думаю.  :)
Все убрано по просьбам трудящихся.

Оффлайн REA

  • Розов Евгений Анатольевич
  • Глобальный модератор
  • *****
  • Сообщений: 1309
  • Карма: +85/-62
    • GeoSensor
Re: *.DEP *.LST разбор
« Ответ #3 : 03 Май 2016, 23:09:00 »
А надо формат? Куда кинуть?

Оффлайн KOCMOHABT

  • Геолог - тоже человек
  • Местный
  • ***
  • Сообщений: 55
  • Карма: +4/-0
  • ~Мы есть звездная пыль~
Re: *.DEP *.LST разбор
« Ответ #4 : 03 Май 2016, 23:15:38 »
А надо формат? Куда кинуть?

ubibul@yandex.ru буду очень благодарен. Отпишитесь когда отправите.  ::)
« Последнее редактирование: 03 Май 2016, 23:23:25 от KOCMOHABT »
Все убрано по просьбам трудящихся.

Оффлайн REA

  • Розов Евгений Анатольевич
  • Глобальный модератор
  • *****
  • Сообщений: 1309
  • Карма: +85/-62
    • GeoSensor
Re: *.DEP *.LST разбор
« Ответ #5 : 03 Май 2016, 23:50:21 »
А надо формат? Куда кинуть?

ubibul@yandex.ru буду очень благодарен. Отпишитесь когда отправите.  ::)


отправил

Оффлайн KOCMOHABT

  • Геолог - тоже человек
  • Местный
  • ***
  • Сообщений: 55
  • Карма: +4/-0
  • ~Мы есть звездная пыль~
Re: *.DEP *.LST разбор
« Ответ #6 : 04 Май 2016, 00:26:06 »
отправил

Спасибо большое, почти все угадал правильно.  ;D ;D ;D
Все убрано по просьбам трудящихся.

Оффлайн KOCMOHABT

  • Геолог - тоже человек
  • Местный
  • ***
  • Сообщений: 55
  • Карма: +4/-0
  • ~Мы есть звездная пыль~
Re: *.DEP *.LST разбор
« Ответ #7 : 11 Май 2016, 03:55:33 »
Кстати, почему нигде нет этого документа в открытом доступе. Допустим я запилю библиотеку по работе с *.dep и выложу её на гитхаб например, это будет незаконно чтоль? ??? ??? ???
Все убрано по просьбам трудящихся.

Оффлайн REA

  • Розов Евгений Анатольевич
  • Глобальный модератор
  • *****
  • Сообщений: 1309
  • Карма: +85/-62
    • GeoSensor
Re: *.DEP *.LST разбор
« Ответ #8 : 11 Май 2016, 18:30:48 »
Это зависит от лицензионного соглашения на программу, как мне кажется. Если такового нет, то это будет законно, но предоставлять внутренние форматы данных разработчик никому не обязан.

Оффлайн KOCMOHABT

  • Геолог - тоже человек
  • Местный
  • ***
  • Сообщений: 55
  • Карма: +4/-0
  • ~Мы есть звездная пыль~
Re: *.DEP *.LST разбор
« Ответ #9 : 04 Сентябрь 2016, 15:07:59 »
Все больше удивляюсь на сколько сильно авторы dep формата решили пожертвовать скоростью в замен на объем файла.  :(
Все убрано по просьбам трудящихся.

Оффлайн PDS

  • Старожил
  • ****
  • Сообщений: 487
  • Карма: +20/-24
Re: *.DEP *.LST разбор
« Ответ #10 : 04 Сентябрь 2016, 20:18:07 »
Все больше удивляюсь на сколько сильно авторы dep формата решили пожертвовать скоростью в замен на объем файла.  :(

В точку, именно этот момент меня тоже удивил в свое время.

Оффлайн KOCMOHABT

  • Геолог - тоже человек
  • Местный
  • ***
  • Сообщений: 55
  • Карма: +4/-0
  • ~Мы есть звездная пыль~
Re: *.DEP *.LST разбор
« Ответ #11 : 05 Сентябрь 2016, 08:12:44 »
Все больше удивляюсь на сколько сильно авторы dep формата решили пожертвовать скоростью в замен на объем файла.  :(

В точку, именно этот момент меня тоже удивил в свое время.

Более забавно что при точно известной длине строки (в байтах) можно точно спрогнозировать сколько будут в сутки прибавлять файлы shrt_ и time_
Все убрано по просьбам трудящихся.

Оффлайн 127486

  • Старожил
  • ****
  • Сообщений: 506
  • Карма: +34/-9
Re: *.DEP *.LST разбор
« Ответ #12 : 21 Сентябрь 2017, 11:52:36 »
// структура записи индексного файла .IDX для .DEP-файла ======================
typedef struct _DEP2IndexDepIDX
{
    DWORD       SeekFromBegin;  // смещение от начала файла в байтах
    float       KeyValue;       // значение ключевого поля
    int         KeyCode;        // код параметра ключевого поля
    DBTIMESTAMP DateTime;       // время данных
    int         KeyDateTime;    // код параметра времени данных
    // параметры программы DMAS
    int     RecNO;              // номер записи
    char    Flags;              // флаг состояния записи:
                                //      0 - нормальная,
                                //      1 - отмечена
                                //      2 - удалена
                                //      3 - истинная глубина
    char reserved[13];
} DEP2IndexDepIDX;

// заголовок записи .DEP-файла ================================================
#define DEP2HeaderText  "DP2"
typedef struct _DEP2HeaderDep
{
    char IdHeader[3];   // идентификационная последовательность (необходима для
                        // идентификации начала записи при восстановлении
                        // испорченных данных)
    int             KeyCode;        // код параметра ключевого поля
    unsigned long   NumRecord;      // номер записи
    unsigned short  NumAllPars;     // количество параметров в записи
    unsigned short  RecLength;      // полная длина записи в байтах, включая
                                    // данный заголовок
} DEP2HeaderDep;

// заголовок значения параметра в записи .DEP-файла ===========================
typedef struct _DEP2ParamDep
{
    unsigned short  ParamCode;  // идентификационный код параметра
    unsigned short  UnitCode;   // идентификационный код единицы измерения
    unsigned short  Length;     // полная длина значения (массива значений) в
                                // байтах, необходима для идентификации записанного
                                // массива данных, а также для продолжения чтения
                                // записи при наличии неизвестного параметра
} DEP2ParamDep;


Оффлайн 127486

  • Старожил
  • ****
  • Сообщений: 506
  • Карма: +34/-9
Re: *.DEP *.LST разбор
« Ответ #13 : 21 Сентябрь 2017, 12:00:29 »
Вот еще

Оффлайн 127486

  • Старожил
  • ****
  • Сообщений: 506
  • Карма: +34/-9
Re: *.DEP *.LST разбор
« Ответ #14 : 21 Сентябрь 2017, 12:07:09 »
Как же неудобно сюда выкладывать файлы!

 



Покер онлайн