Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   как прочитать файл (http://forum.oszone.net/showthread.php?t=192252)

sansan25 25-11-2010 13:03 1551257

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

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

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

Emis 25-11-2010 13:35 1551279

Вот пример на 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 1551282

на строке 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х байтов был насколько я помню

Emis 25-11-2010 14:06 1551298

Файл бинарный.. по этому читать его нужно по другому. (Если конечно я не ошибаюсь.)
Пока вам не ответили,поищите как отобразить бинарный файл - Уверен что такого рода задач очень много.
Да и работать наверно лучше в RichEdit

sansan25 25-11-2010 14:15 1551304

мемо или RichEdit роли не играет, важно получить данные

yurfed 25-11-2010 14:22 1551314

Цитата:

Цитата sansan25
там еще заголовок из 2х байтов был насколько я помню »

О каком заголовке вы вообще говорите?

sansan25 25-11-2010 14:34 1551326

Вложений: 1
там есть еще один файл, с описанием событий

yurfed 25-11-2010 14:41 1551336

Цитата:

Цитата sansan25
с описанием событий »

и чем он может помочь в вашем случае?

sansan25 26-11-2010 17:13 1552178

В файле из первого поста разбор такой



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 1554813

Цитата:

Цитата Emis
Файл бинарный.. по этому читать его нужно по другому. (Если конечно я не ошибаюсь.) »

Точнее, читать его нужно в зависимости от того, что и как в него пишут.
Соответственно, файл нужно сначала считать в память, расшифровать согласно алгоритму хранения информации, а уже только затем заполнить полученными значениями таблицу на форме.


Время: 21:33.

Время: 21:33.
© OSzone.net 2001-