мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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 | | ||
+ | | || | ||
==== Функции получения данных ==== | ==== Функции получения данных ==== | ||