Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение вещественных чисел из файла, Координаты из бинарного файла 
:(
    Опции темы
Garyck
Дата 7.2.2013, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 11.10.2007

Репутация: нет
Всего: нет



Здравствуйте,
Помогите разобраться с чтением из файла вещественных чисел.
В файл записаны географические координаты, в бинарном виде. Нужно их достать в удобоваримом виде.
Например, в файле записано: 
HEX: E4 49 5F 42
Должно получиться: 55.822158

Считывал поток и передавал в вещественные и целые переменные - безрезультатно, получается не то что нужно.
PM MAIL   Вверх
Чучмек
Дата 7.2.2013, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



А какой вещественный тип в delphi помещается в 4 байта?


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Garyck
Дата 7.2.2013, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 11.10.2007

Репутация: нет
Всего: нет



Цитата(Чучмек @  7.2.2013,  19:44 Найти цитируемый пост)
А какой вещественный тип в delphi помещается в 4 байта?

Single

Вручную можно, с помощью преобразования по IEE754:
http://www.h-schmidt.net/FloatConverter/IEEE754.html

Но хотелось бы чуть проще.

PM MAIL   Вверх
Qu1nt
Дата 7.2.2013, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 22
Всего: 50



PM MAIL   Вверх
Чучмек
Дата 7.2.2013, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



Код

function ToSingle(const val):Single;
begin
 result:=Single(val);
end;

procedure TForm1.Button1Click(Sender: TObject);
var c:cardinal;
begin
c:=$425f49e4;
Caption:=FloatToStr(ToSingle(c));
end;


Добавлено через 6 минут и 30 секунд
Или
Код

type
TToSingle=record
 case integer of
 0:(AsCardinal:Cardinal);
 1:(AsSingle:Single);
 end;

procedure TForm1.Button1Click(Sender: TObject);
var c:cardinal;
begin
c:=$425f49e4;
Caption:=FloatToStr(TToSingle(c).AsSingle);
end;


Добавлено через 7 минут и 37 секунд
Или
Код

procedure TForm1.Button1Click(Sender: TObject);
var v:TToSingle;
begin
v.AsCardinal:=$425f49e4;
Caption:=FloatToStr(v.AsSingle);
end;


Добавлено через 9 минут и 17 секунд
Или
Код

procedure TForm1.Button1Click(Sender: TObject);
var  c:cardinal;
begin
c:=$425f49e4;
Caption:=FloatToStr(PSingle(@c)^);
end;

И еще с десяток способов.


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Garyck
Дата 7.2.2013, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 11.10.2007

Репутация: нет
Всего: нет



Огромное спасибо!
Теперь, разобрался smile 
PM MAIL   Вверх
northener
Дата 8.2.2013, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Garyck @  7.2.2013,  20:32 Найти цитируемый пост)
Огромное спасибо!
Теперь, разобрался 

Не забудь сказать об этом на всех прочих форумах куда запостил сей вопрос.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0727 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.