Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.03.2009, 08:20
Lexus315 Lexus315 вне форума
Прохожий
 
Регистрация: 31.03.2009
Сообщения: 1
Репутация: 10
По умолчанию перевод величин углов

Помогите пожалуйста организовать перевод величины угла из формата:
"градусы, минуты, секунды, доли секунд" в формат "Градусы, доли градусов" и наоборот

Пример:
из 34˚45' 38,15'' В 34,760597˚ и наоборот
Ответить с цитированием
  #2  
Старый 31.03.2009, 11:00
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Все просто:
Код:
var a, b : Integer;
  c, Res : Real;
begin
  MyGrad:= a + b/60 + c/3600;
end;
a - градусы, b - минуты, c - секунды с долями секунд. Res - результат.

А наоборот сейчас подумаю...
__________________
Auta i Lome...

Последний раз редактировалось BloodFooria, 31.03.2009 в 11:07.
Ответить с цитированием
  #3  
Старый 31.03.2009, 11:24
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Градусы, минуты, секунды в дробь
PHP код:
function GradMinSecToFloat(aIntegerReal) : Real;
begin
  Result
:= b/60 c/3600;
end

Дробь в градусы, минуты и секунды:
PHP код:
procedure FloatToGradMinSec(Float Real; var aIntegerReal);
var 
Str String;
    
br Real;
begin
  
// Получаем градусы
  
a:= Floor(Float);
  
Float:= Float a;
  
Str:= FloatToStr(Float);
  
Float:= Float StrToFloat('0.' Str[3] + Str[4]);
  
// Получаем НЕЦЕЛЫЕ минуты
  
br:= StrToFloat('0.' Str[3] + Str[4]) * 60;
  
// Получаем целые минуты
  
b:= Floor(br);
  
// Секунды: остаток от минут + остаток от дроби * 3600
  
c:= (br b) * 60 Float 3600;
end

P.S. Может быть можно как-то еще, но я не знаю
__________________
Auta i Lome...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter