@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=139 | |||
GUID={7D47D2E6-9410-4181-B2F1-224A4880E698} | |||
@@ -17,3 +18,4 @@ sradiusb=6378137 | |||
separator=1 | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={03F32FF2-2450-406C-9007-364BA6361DE8} | |||
@@ -15,3 +16,4 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={9EEAAEC9-C54E-4E34-8ADC-756A7E58EE34} | |||
@@ -15,3 +16,4 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||
end. | |||
end. |
@@ -1,4 +1,5 @@ | |||
[PARAMS] | |||
| |||
[PARAMS] | |||
pnum=17 | |||
GUID={75F48FFC-0895-4218-968B-9B248DEC4C2C} | |||
name_ru=Хребтовка Катунского, Чуйских хребтов (Алтай) | |||
@@ -13,4 +14,4 @@ NameInCache=altay_katun_chui | |||
Ext=.png | |||
ContentType="image/png" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={3601390A-9421-4C60-B4D6-109E2F190FC5} | |||
@@ -16,3 +17,4 @@ License= | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={F198EF43-EA9D-4C32-B76A-64A8C7A508F8} | |||
@@ -15,3 +16,4 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={A85C68EA-4C12-4072-A4AB-1353A489F304} | |||
@@ -15,3 +16,4 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={F923688D-2C5B-4B30-A080-941AB3253EFA} | |||
@@ -14,4 +15,5 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
License=(c) Øèøêèí Ñåðãåé. shandl.ru | |||
License=(c) Øèøêèí Ñåðãåé. shandl.ru | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={4A3A2F8B-DC7D-494B-819C-C0BBDAF80CEA} | |||
@@ -14,3 +15,4 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={EC131932-0BC8-43BD-BBE6-30D0B230794F} | |||
@@ -14,3 +15,4 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,4 +1,5 @@ | |||
[PARAMS] | |||
| |||
[PARAMS] | |||
pnum=17 | |||
GUID={BB99C55C-4B99-43AB-B585-0F6246D8FB0A} | |||
name_ru=Хибинские и Ловоозерские тундры | |||
@@ -13,3 +14,4 @@ NameInCache=hibin1lp | |||
Ext=.jpg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||
end. | |||
end. |
@@ -1,4 +1,5 @@ | |||
[PARAMS] | |||
| |||
[PARAMS] | |||
pnum=17 | |||
GUID={172A6A22-BE07-4D08-B120-737FE2613B28} | |||
name_ru=Горы Хибинские тундры | |||
@@ -13,4 +14,4 @@ NameInCache=hibin2lvch | |||
Ext=.png | |||
ContentType="image/png" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,4 +1,5 @@ | |||
[PARAMS] | |||
| |||
[PARAMS] | |||
pnum=17 | |||
GUID={671CDF7B-BF4C-4679-B2B2-77AE1914A7D0} | |||
name_ru=Хибинские и Ловоозерские тундры 2008 | |||
@@ -13,3 +14,4 @@ NameInCache=hibin4ae | |||
Ext=.jpg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={C9B37420-DA1D-432D-B80C-816BD8116571} | |||
@@ -16,3 +17,4 @@ defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
License=© Ëÿïèí Â.Ã. | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={3AC8353B-CD0A-48A6-A727-A373D3A763CE} | |||
@@ -14,3 +15,4 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={10B2CE3B-78F2-44A8-8396-F94160291754} | |||
@@ -15,3 +16,4 @@ License= | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.png'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={8834EDB4-532C-469D-B156-C811E0A93FB9} | |||
@@ -15,3 +16,4 @@ defaultContentType=image/png | |||
ContentType="image/png" | |||
License=© Âëàäèñëàâ Çàâüÿëîâ, slazav.livejournal.com | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={63F20739-EAD8-44F4-B71A-EAFD26E83055} | |||
@@ -16,3 +17,4 @@ License= | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={7883C9C4-C669-43CE-83B7-FCCE92F6DD4E} | |||
@@ -14,4 +15,5 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
License=westra.ru | |||
License=westra.ru | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={6AB93647-45C1-490C-AD5C-167CDDD5B5D4} | |||
@@ -16,3 +17,4 @@ License= | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |
@@ -1,13 +1,52 @@ | |||
function GetCode(const url: AnsiString): Cardinal; | |||
var | |||
r: integer; | |||
BaseUrl: string; | |||
VResponseCode: Cardinal; | |||
VResponseHeader, VResponseData: AnsiString; | |||
begin | |||
r := random(2); | |||
Result := 1; | |||
if Assigned(Downloader) then begin | |||
VResponseHeader := ''; | |||
VResponseData := ''; | |||
VResponseCode := Downloader.DoHttpRequest(url, '', '', VResponseHeader, VResponseData); | |||
Result := VResponseCode; | |||
end; | |||
end; | |||
var | |||
BaseUrl: string; | |||
code: Cardinal; | |||
z_ok, z_no: integer; | |||
r: integer; | |||
begin | |||
ResultURL := ''; | |||
z_ok := StrToIntDef(GetBefore(';', ScriptBuffer), 1); // Максимальный масштаб, который точно есть | |||
z_no := StrToIntDef(GetAfter(';', ScriptBuffer), 25); // Минимальный масштаб, которого точно нет | |||
// Масштаба нет - говорить не о чем | |||
if getz >= z_no then exit; | |||
// Выбор зеркала | |||
r := random(2); | |||
case r of | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
0: BaseUrl := GetURLBase; | |||
1: BaseUrl := RegExprReplaceMatchSubStr(GetURLBase, '91.237.82.95:8088', 'maps.melda.ru'); | |||
end; | |||
// Проверяем наличие масштаба | |||
if getz > z_ok then begin | |||
code := GetCode(BaseUrl+'z'+inttostr(getz)+'/'); | |||
// Внимание! Если сервер вернёт 403 - code почему-то будет 0. Так что выбор "404 или что-то иное" | |||
// Если дело дошло до проверки наличия масштаба - значит какая-то граница (z_ok / z_no) точно подвинется. | |||
if code = 404 then z_no := getz else z_ok := getz; | |||
// Сохраняем актуализированные границы для последующих вызовов | |||
ScriptBuffer := inttostr(z_ok) + ';' + inttostr(z_no); | |||
// Масштаба нет (о чём могли только что при проверке узнать) - говорить не о чем | |||
if getz >= z_no then exit; | |||
end; | |||
// Ок, качаем тайлик | |||
ResultURL:= BaseUrl+'z'+inttostr(getz)+'/'+inttostr(getx div 1024)+'/x'+inttostr(getx)+'/'+inttostr(gety div 1024)+'/y'+inttostr(gety)+'.jpg'; | |||
end. | |||
end. |
@@ -1,3 +1,4 @@ | |||
[PARAMS] | |||
pnum=17 | |||
GUID={C753CB21-ED72-4A38-B191-19723DB684E8} | |||
@@ -14,3 +15,4 @@ Ext=.jpg | |||
defaultContentType=image/jpeg | |||
ContentType="image/jpeg" | |||
MaxConnectToServerCount=1 | |||
IsUseDownloaderInScript=1 |