Главная страница
    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.46 MB
Время: 0.049 c
14-1082230252
Черный прапорщик
2004-04-17 23:30
2004.04.11
Вот интересно мнение, программеров, разрабатывающих в одну «морду


3-1080837527
Хохол
2004-04-01 20:38
2004.04.11
Права доступа


1-1080205465
XmPL
2004-03-25 12:04
2004.04.11
Как обращаться к контролам родительской формы ?


14-1079111038
Fyjybv
2004-03-12 20:03
2004.04.11
Autarization Key


1-1079691424
BanderLog
2004-03-19 13:17
2004.04.11
Просмотр Excel файлов.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский