Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2011, 16:42   #1
AntyDrChert
 
Регистрация: 17.07.2007
Сообщений: 5
По умолчанию

Если кому не сложно, помогите понять.
Есть файлы бинарные, так же есть структура. Но как прочитать не знаю...


YYYYMMDD.LOG ... Historyfile
YYYYMMDD.MIN ... Indexfile fЃr Minuten


Код HTML:
Struktur der Historydatei (*.LOG)

Offset in Bytes  Index(USHORT)   ;      Wert (float)  ;
   0               1;                              000000;
   6               5;                               1;
  12              23;                              55;
  18             234;                              0.23;
                    .
                    .
                    .
 318               1;                              000100;
 324               5;                              1;
 330              23;                             55;
 336             234;                            0.23;
                    .
                    .
                    .

            Struktur der Indexdatei (*.MIN)

                 Index   (float)  ;              Wert  (float)   ;
 
   0            000000;                         0;
   8            000100;                         318;
Вроде должно как то так, но в итоге хрень какая-то...

Код:
var
  myWord, myWord1, myWord2 : real;
  myFile : File of real;

  i:integer;
begin

AssignFile(myFile, 'c:\123.min');

FileMode := fmOpenRead;
Reset(myFile);

while not Eof(myFile) do
  begin
    Read(myFile, myWord);
    beep;
  end;

Последний раз редактировалось Stilet; 04.05.2011 в 17:47.
AntyDrChert вне форума Ответить с цитированием
Старый 04.05.2011, 18:02   #2
AntyDrChert
 
Регистрация: 17.07.2007
Сообщений: 5
По умолчанию

Код:
type
  TMember =packed record
    index : word;
    wert  : real;
  end;



procedure TForm1.Button1Click(Sender: TObject);
var
F : file of TMember;
Member: TMember;
begin
AssignFile(f, 'c:\123.log');
Reset(F);
 try
   while not Eof(F) do begin
   BlockRead(f, Member, 6);
  end;
 finally
  CloseFile(F);
 end;
Вроде бы так, но Index показывает правильно, а значение Wert все равно не то. Может есть отличие сишного Float от Delphi real ????

Последний раз редактировалось Stilet; 04.05.2011 в 18:04.
AntyDrChert вне форума Ответить с цитированием
Старый 04.05.2011, 18:05   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пробуй double, и прекращай кросспостить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятка с MouseListener insan00b Общие вопросы по Java, Java SE, Kotlin 1 09.06.2010 14:57
Непонятка с запросом WishNight БД в Delphi 9 03.02.2009 23:30
Непонятка с QuickReport Yurk@ БД в Delphi 1 14.11.2008 01:41
Непонятка с русским Antidoc Общие вопросы C/C++ 1 11.08.2008 21:21