Показать полную графическую версию : как прочитать файл
sansan25
25-11-2010, 13:03
Уважаемые знатока есть файл , в который периодически заносятся данные, но они в нечитаемом формате.
Как их вывести в поле мемо в нормальном виде
при использовании простого кода
if (OpenDialog1->Execute());
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
в мемо появляется вертикальная черточка, и больше ничего.
подскажите, что не правильно.
файл с данными во вложении
Вот пример на Delphi..
If OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Просто переставьте это все в C++
If OpenDialog1->Execute then
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
Если не ошибаюсь то так.
(Не хочется C++ устанавливать.)
//
И что значит не читаемый формат?
И какая кодировка используется при записи?
И файл который в архиве бинарный.
sansan25
25-11-2010, 13:45
на строке If OpenDialog1->Execute then
выдает ошибку
[C++ Error] Unit1.cpp(23): E2376 If statement missing (
файл не текстовой.
вот у меня есть кое-какая инфа. по файлу, может поможет
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 - смещение в файле сообщений со строками
там еще заголовок из 2х байтов был насколько я помню
Файл бинарный.. по этому читать его нужно по другому. (Если конечно я не ошибаюсь.)
Пока вам не ответили,поищите как отобразить бинарный файл - Уверен что такого рода задач очень много.
Да и работать наверно лучше в RichEdit
sansan25
25-11-2010, 14:15
мемо или RichEdit роли не играет, важно получить данные
там еще заголовок из 2х байтов был насколько я помню »О каком заголовке вы вообще говорите?
http://s56.radikal.ru/i153/1011/a3/aae0c7de0c7et.jpg (http://radikal.ru/F/s56.radikal.ru/i153/1011/a3/aae0c7de0c7e.png.html)
sansan25
25-11-2010, 14:34
там есть еще один файл, с описанием событий
с описанием событий » и чем он может помочь в вашем случае?
http://i081.radikal.ru/1011/8c/a8a528110e2at.jpg (http://radikal.ru/F/i081.radikal.ru/1011/8c/a8a528110e2a.png.html)
sansan25
26-11-2010, 17:13
В файле из первого поста разбор такой
06//заголовок
00// Уровень доступа записи
0B// К какой системе принадлежит запись
08// Уровень сигнала
5A// Ретранслятор
01 // Оператор
00 F1 BA 04// Номер объекта - 310001
00 EB 1C 00 // Номер радиомодема
E0 0C 0B 08// Время события -12:11:08
34 32 00 00// Код события (ascii) - 42
00 00 00 00// Наименование объекта
FF FF FF FF// Описание события
01// Класс события
40 FF C0 00// Статус объекта на момент события
El Scorpio
30-11-2010, 08:51
Файл бинарный.. по этому читать его нужно по другому. (Если конечно я не ошибаюсь.) »
Точнее, читать его нужно в зависимости от того, что и как в него пишут.
Соответственно, файл нужно сначала считать в память, расшифровать согласно алгоритму хранения информации, а уже только затем заполнить полученными значениями таблицу на форме.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.