Здесь показаны различия между двумя версиями данной страницы.
описание_паскаль_скриптов [06/08/2015 12:05] zed [Описание скриптов Pascal] |
описание_паскаль_скриптов [08/02/2021 18:25] (текущий) radioxoma [Использование автозамены плейсхолдеров] |
||
---|---|---|---|
Строка 25: | Строка 25: | ||
Интерфейсные переменные, доступные в скриптах*: | Интерфейсные переменные, доступные в скриптах*: | ||
* **Downloader** (ISimpleHttpDownloader) — выполнение HTTP запросов внутри скрипта. Доступно только при включённой опции **IsUseDownloaderInScript** в params.txt | * **Downloader** (ISimpleHttpDownloader) — выполнение HTTP запросов внутри скрипта. Доступно только при включённой опции **IsUseDownloaderInScript** в params.txt | ||
- | * **DefProjConverter** (IProjConverter) — конвертер координат в проекции, определённой в params.txt (параметр **Proj4Args**). Доступна только при наличии **proj480.dll** | + | * **DefProjConverter** (IProjConverter) — конвертер координат в проекции, определённой в params.txt (параметр **Proj4Args**). Доступна только при наличии **proj.dll** |
- | * **ProjFactory** (IProjConverterFactory) — фабрика, для создания конвертеров координат различных проекций. Доступна только при наличии **proj480.dll** | + | * **ProjFactory** (IProjConverterFactory) — фабрика, для создания конвертеров координат различных проекций. Доступна только при наличии **proj.dll** |
* **Converter** (ICoordConverter) — набор функций для работы с координатами в текущей проекции | * **Converter** (ICoordConverter) — набор функций для работы с координатами в текущей проекции | ||
Описание интерфейсов и примеры их использования см. ниже. | Описание интерфейсов и примеры их использования см. ниже. | ||
Строка 126: | Строка 126: | ||
* function **Base64UrlEncode**(const Data: AnsiString): AnsiString; | * function **Base64UrlEncode**(const Data: AnsiString): AnsiString; | ||
* function **Base64Decode**(const Data: AnsiString): AnsiString; | * function **Base64Decode**(const Data: AnsiString): AnsiString; | ||
- | * function **MD5String**(const AStr: AnsiString): String; | + | * function **TemplateToUrl**(const ATmpl: String): String; |
===== Выполнение HTTP запросов из скрипта ===== | ===== Выполнение HTTP запросов из скрипта ===== | ||
Строка 173: | Строка 173: | ||
===== Работа с хитрыми системами координат ===== | ===== Работа с хитрыми системами координат ===== | ||
- | Если в папке с программой присутствует proj480.dll, то в скриптах будут доступны такие переменные | + | Если в папке с программой присутствует proj.dll, то в скриптах будут доступны такие переменные |
* переменная **DefProjConverter** с объектом типа: | * переменная **DefProjConverter** с объектом типа: | ||
<code delphi> | <code delphi> | ||
Строка 254: | Строка 254: | ||
ResultURL := ''; | ResultURL := ''; | ||
end; | end; | ||
+ | end. | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Использование автозамены плейсхолдеров ===== | ||
+ | |||
+ | Если файла **GetUrlScript.txt** нет или он пуст (в том числе не содержит ни пробелов, ни переводов строк), то будет выполнен скрипт, который автоматически заменяет плейсхолдеры найденные в **GetURLBase**. Именно в этом формате он применяется при [[простой_пример_с_плейсхолдерами |упрощенном добавлении карт]]). Однако, если вам потребуется, то вы можете использовать эту функцию в собственных скриптах. | ||
+ | |||
+ | <code delphi> | ||
+ | begin | ||
+ | ResultUrl := TemplateToUrl(GetURLBase); | ||
end. | end. | ||
</code> | </code> | ||