Показать сообщение отдельно
  #4  
Старый 11.05.2010, 19:55
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Вероятно, ты получаешь 4 байта.
Можно делать разными способами.
Например, записать их в поток как строку, а потом считать из потока как float. Или поиграться с указателями.

Код не проверял, просто как идея:
Код:
var
  S : String; // Исходная строка
  W : DWORD; // 4 байта
  PF : ^Double;
  I : Integer;
  F : Double;
begin
  W := 0;
  For I := 1 To 4 Do
    Begin
      W := W + Ord(S[i]);
      W := W shl 8;
    End;
  FP := @W;
  F := FP^;
end;
Ответить с цитированием