Здесь показаны различия между двумя версиями данной страницы.
|
описание_паскаль_скриптов [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> | ||