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

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

Дробь в градусы, минуты и секунды:
PHP код:
procedure FloatToGradMinSec(Float : Real; var a, b : Integer; c : Real);
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...
Ответить с цитированием