Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2012, 09:47   #21
AndVGri
Форумчанин
 
Регистрация: 10.02.2012
Сообщений: 109
По умолчанию

Wer66
Вы не находите, что своими примерами вы ввели наc в заблуждение (каюсь, нет чтобы сразу скачать и проверить). Итак, вы утверждаете, что в bin файле 5 полей значений по 8 байт каждое = 40байт. В Excel файле записей у вас 1058, итого 40 * 1058 42320 байт. Bin файл примера весит всего 8464 байта. Вы не находите, что там недостаточно данных?
Следующее, в bin файле примера находятся только значения столбцов Ад.01,Д3 и Ад.01,Д4, определённые в bin типом Single.
Доказательства в в результирующем файле Excel
AndVGri вне форума Ответить с цитированием
Старый 22.08.2012, 10:24   #22
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Как-то занимался подобным преобразованием двоичных данных. Время было в Long-64, причем порядок байтов обратный: младший адрес - старший байт.
Может, пригодится: http://programmersforum.ru/showthrea...ht=unix&page=3
В эту тему некогда вникать.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 22.08.2012, 11:50   #23
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

По поводу Терем-4, Wer66 действительно указал не всю информацию, так как к bin файлу идет одноименный ini файл в котором хранится время, количество измерений и ещё какае-то информацию. В bin файле эта информация не хранится. По всей видимости в bin-файле информация хранится в виде битовых полей.
Сама программка написана в CBuilder и сжата UPX, после декомпрессии прекрасно декомпилируется с помощью DeDe, да вот только в ассемблере я не силен (изучал 10 лет назад, и с тех пор не пользовался) :-(

Upd
Результат DeDe во вложении. По ходу надо разбираться что делается при вызове ListBoxChoiceProcKeyDown в FormMain.pas
Вложения
Тип файла: zip Terem4.exe.zip (350.4 Кб, 8 просмотров)

Последний раз редактировалось astecenko; 22.08.2012 в 11:54.
astecenko вне форума Ответить с цитированием
Старый 23.08.2012, 09:27   #24
Wer666
 
Регистрация: 20.08.2012
Сообщений: 7
Смущение

Во-первых хотелось бы сказать Спасибо всем тем кто откликнулся!
Т.к. по образованию я инженер-проектировщик, то мне очень сложно понять все что вы мне написали(( Но сейчас попробую разобраться - буду вчитываться в каждый пост)
Т.е. основной моей задачей является разобраться в возможности чтения и исправления bin файла который я прикладывал выше.
Самостоятельно я никаких изменений в файлы не вносил. Т.е. то что показывает программа "Терем-4" является результатом чтения bin файла и, скорее всего, добавления информации из ini файла, который находится в папке data программы (как уже отметил astecenko). В этой же папке data находится и bin файл, который я выложил дополнительно отдельно.
Сейчас буду разбираться с DeDe и с декомпрессией)
Еще раз всем огромное спасибо))!
PS: Если я вам еще не сильно надоел, то можете закидать меня какими нибудь простыми инструкциями)) простите за наглость
Wer666 вне форума Ответить с цитированием
Старый 23.08.2012, 11:10   #25
AndVGri
Форумчанин
 
Регистрация: 10.02.2012
Сообщений: 109
По умолчанию

Wer66
Сначала, приношу свои извинения за некоторый наезд на вас. Не учёл, что не вы начали этот топик.

Теперь по сути.
1. Программа пишет данные типом Single. Число данных на запись определяется как размер файла bin / на число записей в ini файле / 4. В общем просто читаем бинарный файл переменной Single в двумерный массив и сохраняем в таблице Excel.
2. Начало времени и даты записи определяется параметрами в ini файле, интервал отсчётов записей там же Period (min, sec может что-то ещё).
3. Не совсем понял каким образом для 2 датчиков получились номера Д3, Д4 - насколько это принципиально? Номер адаптера Ад определятся по номеру информации Adapter02.
4. судя по данным после Adapter первое число определяет состояние работы прибора (к п. 3), а последующие режимы работы датчиков 49 масса, 41 перемещение.

В общем нужен дополнительный анализ как ini файлов, так учёт того, что часть возможных датчиков у вас не указана в примерах.
В общем, могу взяться за это дело (не безвозмездно). Пишите anvg@mail333.com

Последний раз редактировалось AndVGri; 23.08.2012 в 11:12.
AndVGri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повреждение данных при записи в середину бинарного файла Aerial Общие вопросы C/C++ 2 01.12.2011 19:32
Чтение данных из бинарного файла Faramir02 Общие вопросы C/C++ 3 22.12.2010 22:43
Поиск-извлечение блока данных из бинарного файла Alter Общие вопросы Delphi 6 28.11.2009 23:12
Импорт данных в Excel mMAg Microsoft Office Excel 2 20.08.2009 17:50
Импорт из текстового файла в Excel (DBF) Slava БД в Delphi 3 22.07.2009 20:28