мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
special_params_in_scripts [15.10.2021 09:37] Lingri |
special_params_in_scripts [24.02.2022 06:22] (текущий) |
||
|---|---|---|---|
| Строка 7: | Строка 7: | ||
| {{:pasted:20211015-075314.png}} | {{:pasted:20211015-075314.png}} | ||
| - | Переменная scriptPercent не объявлена локально. Она попадает в скрипт "извне". После отработки скрипта стоит вывод значения этой переменной. | + | Переменная scriptPercent не объявлена локально. Она попадает в скрипт "извне". После отработки скрипта стоит вывод значения этой переменной. Она используется для отображения [[https://doc.agb.is/calc_info_script|информации о расчёте бонусов за заказ]] |
| ===== Техническая часть ===== | ===== Техническая часть ===== | ||
| Чтобы подобное реализовать, нужно доработать модуль **ScriptFunctions.pas**: | Чтобы подобное реализовать, нужно доработать модуль **ScriptFunctions.pas**: | ||
| - В тип TExtScriptResInfo добавляем нужное поле; {{:pasted:20211015-075714.png}} | - В тип TExtScriptResInfo добавляем нужное поле; {{:pasted:20211015-075714.png}} | ||
| - | - В процедуре **TScriptExecutor.PSScriptCompile** регистрируем название новой переменной: //Sender.AddRegisteredPTRVariable('scriptItogSum', 'double');// | + | - В процедуре **TScriptExecutor.PSScriptCompile**, являющейся обработчиком PSSCript.OnCompile, регистрируем название новой переменной: //Sender.AddRegisteredPTRVariable('scriptItogSum', 'double');// |
| - | - В процедуре **TScriptExecutor.PSScriptExecute** связываем переменную с полем записи **ExtScriptResInfo**: //PSScript.SetPointerToData('scriptItogSum', @ExtScriptResInfo.scriptItogSum, PSScript.FindBaseType(btDouble));// | + | - В процедуре **TScriptExecutor.PSScriptExecute**, являющейся обработчиком PSSCript.OnExecute, связываем переменную с полем записи **ExtScriptResInfo**: //PSScript.SetPointerToData('scriptItogSum', @ExtScriptResInfo.scriptItogSum, PSScript.FindBaseType(btDouble));// |
| - | - В процедуре **TScriptExecutor.PSScriptAfterExecute** делаем вывод этой переменных в запись **ExtScriptResInfo**: //ExtScriptResInfo.scriptPercent := VGetInt(PSScript.GetVariable('scriptPercent'));// | + | |
| ==== Базовые типы переменных в скриптах ==== | ==== Базовые типы переменных в скриптах ==== | ||
| - | + | ^ Базовый тип в скриптере ^ Соответствующий тип Delphi ^ | |
| + | | btU8 | Byte | | ||
| + | | btS8 | ShortInt | | ||
| + | | btU16 | Word | | ||
| + | | btS16 | SmallInt | | ||
| + | | btU32 | Longword | | ||
| + | | btS32 | LongInt | | ||
| + | | btS64 | Int64 | | ||
| + | | btSingle | Single | | ||
| + | | btDouble | Double | | ||
| + | | btExtended | Extended | | ||
| + | | btVariant | Variant | | ||
| + | | btString | String | | ||
| + | | btWideString| WideString| | ||
| + | | btChar | Char | | ||
| + | | btWideChar | WideChar | | ||
| + | | || | ||
| ==== Функции получения данных ==== | ==== Функции получения данных ==== | ||