Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как вывести из файла данные в нормальном виде  (Прочитано 11194 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sansan25
Интересующийся

ru
Offline Offline
Пол: Мужской

« : 25-11-2010 09:53 » 

Уважаемые знатока есть файл , в который периодически заносятся данные, но они в нечитаемом формате.
Как их вывести в поле мемо в нормальном виде
при использовании простого кода

if (OpenDialog1->Execute());
  Memo1->Lines->LoadFromFile(OpenDialog1->FileName);

в мемо появляется вертикальная черточка, и больше ничего.
подскажите, что не правильно.
файл с данными во вложении

* 20101125.da6 (0.03 Кб - загружено 848 раз.)
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 25-11-2010 10:07 » 

А какой вид считается "нормальным" для набора байт, не являющихся ни кодами ASCII, ни, судя по всему, одной из разновидностей Unicode?
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
sansan25
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 25-11-2010 10:17 » 

 в общем в файле присутствуют данные - код события шестнадцатиричное число в данном случае это - 42
номер передатчика -  310001 десятиричное число, и по моему должно быть время события.
вот мне и надо вывести в мемо 310001, 42 и время, хотя время не обязательный параметр
Записан
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 25-11-2010 11:36 » 

Если вам известна структура данных, то и обрабатывайте их через структуру (struct) преобразуя каждое поле в необходимый (для мемо) вид.
Записан

С уважением, Oldy.
sansan25
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 25-11-2010 11:51 » 

Извините, но я мягко говоря начинающий, у меня есть эта структура, но я не пойму - что с ней делать
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 25-11-2010 11:53 » 

в общем в файле присутствуют данные - код события шестнадцатиричное число в данном случае это - 42
номер передатчика -  310001 десятиричное число, и по моему должно быть время события.
вот мне и надо вывести в мемо 310001, 42 и время, хотя время не обязательный параметр

Вот содержимое вашего файла:

06 00 0B 08 5A 01 00 F1 BA 04 00 EB 1C 00 E0 0C 0B 08 34 32 00 00 00 00 00 00 FF FF FF FF 01 40 FF C0 00

Попробуйте сначала найти здесь свои данные.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 25-11-2010 17:15 » 

Извините, но я мягко говоря начинающий, у меня есть эта структура, но я не пойму - что с ней делать
а покажи )

sansan25, если не секрет, откуда это сообщение взято ? Улыбаюсь
Записан

sansan25
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 25-11-2010 17:43 » 

Не секрет. Это файлы в которых хранятся сообщения с охраняемых объектов. в файле ( первом) с расширением "da6" находится номер объекта, код сообщения и время, в другом описание события и наименование объкта, как Вы наверно заметили название файла - это дата,  в каждом файле сообения за сутки.
Естественно в файлах выложенных здесь сообщения от демо программы, но они полностью идентичны с боевой программой.
Просто хочется добавить небольшой модуль следящий за событиями, обработку событий и выборку я сделаю , а вот выдернуть отсюда данные в нормальном виде не могу. там номер объекта 310001 и код события в шестнадцатиричном виде "42", и время 12:11:08


Ниже структура файлов событий данных

Stru_EventFileNew6 = packed record // 32 Описание записи сообщения
DostView : Byte; // Уровень доступа записи
System : Byte; // К какой системе принадлежит запись
Uroven : Byte; // Уровень сигнала
Retr : Byte; // Ретранслятор
Oper : Byte; // Оператор
Number : Integer; // Номер объекта
NumberM : Integer; // Номер радиомодема
Time : MyDate; // Время события
Cod : Array[0..3] of byte; // Код события
Name : integer; // Наименование объекта
Description : Integer; // Описание события
Klassd : Byte; // Класс события
Stat : Array[0..3] of byte; // Статус объекта на момент события
end;


Name и Description - смещение в файле сообщений со строками

если сможете помочь - буду благодарен, или подскажите куда копать
« Последнее редактирование: 25-11-2010 17:52 от sansan25 » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #8 : 25-11-2010 18:01 » 

это сообщения Ларс  (4+2) ? Название объектового прибора какое (если тоже не секрет)

Добавлено через 3 минуты и 37 секунд:
0C 0B 08 - время
34 32 - "42"

Добавлено через 55 секунд:
00 F1 BA 04  -  310001

Добавлено через 52 секунды:
самый первый 06 -  это заголовок сообщения, скорее всего

« Последнее редактирование: 25-11-2010 18:05 от Алексей1153 » Записан

sansan25
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 25-11-2010 18:16 » 

Да Lars (4+2)  код и время нашел с калькулятором, номер пока нет - спасибо, но как все это вытащить программой  в форму

Добавлено через 1 минуту:
Объектовый NX 4-8
« Последнее редактирование: 25-11-2010 18:17 от sansan25 » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #10 : 25-11-2010 22:43 » 

хм, как же 4+2, если NX - это панели PointID Улыбаюсь Кто-то что-то путает

а разбор получился такой

 06//заголовок
 00// Уровень доступа записи
 0B// К какой системе принадлежит запись
 08// Уровень сигнала
 5A// Ретранслятор
 01 // Оператор
00 F1 BA 04// Номер объекта
00 EB 1C 00 // Номер радиомодема
 E0 0C 0B 08// Время события
 34 32 00 00// Код события (ascii)
 00 00 00 00// Наименование объекта
 FF FF FF FF// Описание события
 01// Класс события
 40 FF C0 00// Статус объекта на момент события


sansan25, признавайся, где сообщение выдрал Улыбаюсь какой программой принимаешь ?
Может, и ковырять не придётся.
Мне так кааца
Записан

sansan25
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 26-11-2010 04:56 » 

ссылочку можно дать на оф. сайт продавца? это не реклама, там есть описание проги, какие панели, есть демо программы с генератором тестовых сигналов.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 26-11-2010 06:23 » 

sansan25, в ЛС или почту кидай, только я сейчас не смогу поразбираться, занят немного. Только на следующей неделе, наверное
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines