1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Чтение области памяти и определение типа данных

Тема в разделе "Delphi - программирование", создана пользователем _DeMiUrG_, 26 окт 2007.

Статус темы:
Закрыта.
  1. _DeMiUrG_

    _DeMiUrG_ Гость

    Репутация:
    0
    Я читаю область памяти функцией BlockRead(F,DynArray,sizeof(DynArray))
    DynArray обьявляю как массив данных типа Byte

    у меня некоторые значения Byte
    а некотороые Integer или Float

    как перевести значения области памяти Byte
    в числа Integer Float ?
     
  2. zubr

    zubr Гость

    Репутация:
    0
    Код:
    var
    i, k:Integer;
    
    begin
    k:=0;
    For i:=5 to 8 do
    k:=k shl 8 +DynArray[i];
    end;
     
  3. Silver Wind

    Silver Wind Гость

    Репутация:
    0
    Для float, например, так можно:
    Код:
    type
    float = single;
    
    floatbyte = record
    Case boolean of
    True:(f:float);
    False:(b:array[0..3] of byte);
    end;
    
    function ExtractFloatValue(Buf: array of byte; FromByte: Integer): float;
    var fb:floatbyte;
    begin
    fb.b[0]:=Buf[FromByte+0];
    fb.b[1]:=Buf[FromByte+1];
    fb.b[2]:=Buf[FromByte+2];
    fb.b[3]:=Buf[FromByte+3];
    Result:=fb.f;
    end;
    P.S. Только порядок следования байт в float нужно уточнить, может там перестановка байт нужна 0<->3 и 1<->2.
     
  4. _DeMiUrG_

    _DeMiUrG_ Гость

    Репутация:
    0
    спс буду пробовать
     
  5. _DeMiUrG_

    _DeMiUrG_ Гость

    Репутация:
    0
    пришел к варианту с функцией CopyMemory
    те есть обьявлен DynArray

    потом идет считывание из файла

    BlockRead(F,DynArray,sizeof(DynArray));


    далее я пытаюсь присвоить значения функцией
    CopyMemory(@XX,@DynArray,4);
    и в этом месте компилятор ругается
    чтото на обращение к памяти
    что посоветуйте?
     
Загрузка...
Похожие Темы - Чтение области памяти
  1. seoman2
    Ответов:
    21
    Просмотров:
    1.337
  2. admigator
    Ответов:
    10
    Просмотров:
    1.012
  3. AlexPNZ
    Ответов:
    3
    Просмотров:
    2.144
  4. AlexPNZ
    Ответов:
    0
    Просмотров:
    1.732
  5. eugira
    Ответов:
    1
    Просмотров:
    1.254
Статус темы:
Закрыта.

Поделиться этой страницей