Einzelnen Beitrag anzeigen

DelphiFan2008

Registriert seit: 4. Dez 2008
81 Beiträge
 
Delphi XE2 Starter
 
#3

Re: GP(S)-Höhendaten aus Internet ermitteln

  Alt 23. Sep 2009, 12:03
Hallo Klaus01,

danke für deine "super" schnelle Antwort - Code funktioniert nach erstem Test hervorragen. Werde noch etwas ausbauen. Test-Programm

Delphi-Quellcode:
function StrRepChar(Strg:String;ch1,ch2:Char):String;
var i : integer;
begin
  for i:=1 to Length(Strg) do
    if(Strg[i]=ch1) then
      Strg[i]:=ch2;
  result := Strg;
end;

function GetNumString( Strg:String ):Double;
var i : integer;
     s : String;
begin
  s := '';
  for i:=1 to Length(Strg) do
    if(Strg[i] in ['0'..'9']) then
      s := s + Strg[i];
  result := StrToFloatDef( s,0.0 );
end;


procedure TForm1.Button1Click(Sender: TObject);
var idHttp : TidHttp;
     sResponse,slat,slon : String;
     lat,lon,alt : Double;
begin
  idHttp := TidHttp.Create;

  // München Allianz-Arena, ganz grob
  lat := 48.12;
  lon := 11.37;

  slat := StrRepChar( FloatToStr( lat ),Decimalseparator,'.' );
  slon := StrRepChar( FloatToStr( lon ),Decimalseparator,'.' );

  sResponse := idHttp.get('http://ws.geonames.org/srtm3?lat='+slat+'&lng='+slon);

  alt := GetNumString( sResponse );

  Caption := Format('[lat=%f][lat=%f][alt=%f]',[lat,lon,alt] );

  idHttp.Free;
end;
Danke und Gruß DelphiFan2008
  Mit Zitat antworten Zitat