function retrieve_ts(url: string; xstart: string; xend: string):integer; external 'ytrf_retrieve_ts@maps\YaTraf.dll stdcall'; function GetIntParam(key: string): Integer; external 'ytrf_GetIntParam@maps\YaTraf.dll stdcall'; function SetIntParam(key: string; val: Integer): integer; external 'ytrf_SetIntParam@maps\YaTraf.dll stdcall'; function GetUTS: Longint; external 'ytrf_GetUTS@maps\YaTraf.dll stdcall'; function ts_update_needed(delta: integer):integer; var lts, ts : integer; lts_key: string; begin result:=0; lts_key:='ytrf_lts'; lts:=GetIntParam(lts_key); ts:=GetUTS; if (ts>lts+delta) then begin SetIntParam(lts_key, GetUTS); result:=1; end; end; function get_ts(delta: integer):integer; var ts_key, url, data: string; pt : LongInt; begin result:=0; ts_key:='ytrf_ts'; if (ts_update_needed(delta)>0) then begin url:='http://trf.maps.yandex.net/trf/stat.js'; result:=retrieve_ts(url, 'timestamp:"', '"'); SetIntParam(ts_key, result); end else begin result:=GetIntParam(ts_key); end; end; begin ResultURL:=''; if (GetZ<>0) then ResultURL:=GetURLBase+inttostr(GetX)+'&y='+inttostr(GetY)+'&z='+inttostr(GetZ-1)+'&tm='+inttostr(get_ts(60)); end.