Konumu DMS (derece, dakika, saniye) olarak delphide almak mümkün mü?

Kod: Tümünü seç
function GetLatitudeAsDSM(const Coord: Double): string;
var
Degree, Minute, Second: Double;
begin
Degree := Abs(Trunc(Coord));
Minute := Trunc(60 * (Coord - Degree));
Second := 60 * (Coord - Degree - Minute);
if Coord > 0 then
Result := 'N'
else
Result := 'S';
Result := Result + Degree.ToString() + '° ' + Minute.ToString() + ''' ' + Second.ToString() + '"';
end;
function GetLongitudeAsDSM(const Coord: Double): string;
var
Degree, Minute, Second: Double;
begin
Degree := Abs(Trunc(Coord));
Minute := Trunc(60 * (Coord - Degree));
Second := 60 * (Coord - Degree - Minute);
if Degree > 0 then
Result := 'E'
else
Result := 'W';
Result := Result + Degree.ToString() + '° ' + Minute.ToString() + ''' ' + Second.ToString() + '"';
end;