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

Оффлайн KOCMOHABT

  • Геолог - тоже человек
  • Местный
  • ***
  • Сообщений: 58
  • Карма: +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

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

    Оффлайн KOCMOHABT

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

      Оффлайн REA

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

      Оффлайн KOCMOHABT

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

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

        Оффлайн REA

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

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


        отправил

        Оффлайн KOCMOHABT

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

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

          Оффлайн KOCMOHABT

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

            Оффлайн REA

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

            Оффлайн KOCMOHABT

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

              Оффлайн PDS

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

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

                Оффлайн KOCMOHABT

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

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

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

                  Оффлайн 127486

                  • Старожил
                  • ****
                  • Сообщений: 571
                  • Карма: +37/-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

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

                      Оффлайн 127486

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

                         



                        Покер онлайн