Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Помогите считать двоичный файл   Найти похожие ветки 

 
ruslan_as ©   (2004-03-23 17:11) [0]

Помогите новичку считать двоичный файл:

Нужны функции и процедуры (и вообще как мне вытащить эти данные в нормальный вид).

Файл содержит набор двоичных записей следующего формата:
смещение 0 длина 3 - Дата данных (месяц:день:год)
смещение 3 длина 2 - время данных (часы:минуты)
смещение 5 длина 4 - Расход
и т.д.
Под руками нет книги, которая расписывала функции и процедуры по работе с двоичными данными. Если кто знает ссылку почитать - не пожалейте - сбросте... Спасибо всем сочувствующим...


 
cosinus ©   (2004-03-23 17:13) [1]

http://valera.asf.ru/delphi/help/delphi.asp?TypeID=2


 
Digitman ©   (2004-03-23 17:17) [2]


> длина 3 - Дата данных (месяц:день:год)


самое интересное здесь - в каком формате в 3-х байтах хранится инф-ция о составляющих даты


 
MBo ©   (2004-03-23 17:18) [3]

http://delphi.vitpc.com/lyceum/seminar.asp?partID=4


 
Anatoly Podgoretsky ©   (2004-03-23 17:43) [4]

MBo ©   (23.03.04 17:18) [3]
По сообщению Королевства Дельфи адрес
http://delphi.vitpc.com больше не действует, хотя это и не так, но в любом случае артес пропадет, надо использовать адрес http://www.delphikingdom.com


 
Юрий Зотов ©   (2004-03-23 19:55) [5]

type
 TInfo = packed record
   Month, Day, Year, Hours, Mins: byte;
   Flow: integer // или single - зависит от задачи
 end;

var
 F: file of TInfo;

А далее - по уже приведенным ссылкам.


 
Германн ©   (2004-03-24 02:21) [6]

Добавление к Юрий Зотов ©   (23.03.04 19:55) [5]

Первые пять байт вполне могут быть в BCD формате. Стоит проверить, имхо.


 
Anatoly Podgoretsky ©   (2004-03-24 08:59) [7]

А зачем гадать?


 
ruslan_as ©   (2004-03-24 10:57) [8]

Спасибо за ссылки сброшенные вчера! Спасибо Анатолию Подгорецкому лично за прекрасный семинар. Но моих знаний не хватило, что бы разобораться. В примерах на семинаре только запись в двоичный файл, а мне надо считать, да еще использовать смещение...
Я остановился на этом, но считываю я что-то не то...
Выручайте..

procedure TForm1.Button1Click(Sender: TObject);
var F:file;
NRead:integer;
Buf: array[1..1024] of Char;
begin
AssignFile(F, ExtractFileDir(Application.ExeName)+"\Hd02016.043");
FileMode := FmOpenRead;  
Reset(F, 1);      
repeat
 BlockRead(F, Buf, SizeOf(Buf), NRead);  
until NRead = 0;
CloseFile(F);


 
Digitman ©   (2004-03-24 11:29) [9]

TMyRec = packed record
 MyDate: array[0..2] of Byte;
 MyTime: array[0..1] of Byte;
 MyValue: array[0..3] of Byte;
end;

var
 fs: TFileStream;
 MyRec: TMyRec;
 RecNum: Integer;
..
 fs := TFileStream.Create(ExtractFileDir(Application.ExeName)+"\Hd02016.043", fmOpenRead);
 try
   RecNum := fs.Size div SizeOf(TMyRec);
   while RecNum > 0 do
   begin
     fs.ReadBuffer(MyRec, SizeOf(TMyRec));
   ...
     Dec(RecNum);
   end;
 finally
   fs.Free;
 end;


 
panov ©   (2004-03-24 11:33) [10]

>ruslan_as ©   (24.03.04 10:57) [8]
Не надо дублировать ветки.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.06 c
11-1068393847
Vladimir Kladov
2003-11-09 19:04
2004.04.11
Есть спецы по яве? Надо скрипт новостей до ума довести.


8-1076358343
Graff
2004-02-09 23:25
2004.04.11
Помогите с перерисовкой PaintBox и Image.


3-1081854872
Andriano
2004-04-13 15:14
2004.04.11
1С-подобный генератор отчетов


3-1081502044
_sulent
2004-04-09 13:14
2004.04.11
Сжатие базы


14-1082121286
Домарощинер
2004-04-16 17:14
2004.04.11
Хочу написать плагин к IDE Delphi. Помогите, кто чем может.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский