Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Документ | подсистема “ CF_interpreter ”. Версии |
Статус | |
Дата последнего изменения | Alex Ponomarenko Alex Ponomarenko |
Использованные обозначения |
Содержание
1. Команды интерпретатора. 2
1.1. IF. 2
1.2. IF1. 2
1.3. insertVar. 3
1.4. loop. 3
1.5. setVar. 4
1.6. math. 4
1.7. if2. 4
1.8. loopMainArray. 6
1.9. for. 6
1.10. setAr. 6
1.11. exec. 7
1.12. loopAssoc. 7
1.13. if3. 8
1.14. findInMA. 8
1.15. echoMA. 8
1.16. #.. 8
1.17. getValMA. 9
1.18. getRecordsNumberMA. 9
1.19. getStrLen. 9
2. Команды интерпретатора
packed value – это константа, если она указана в одинарных кавычках, либо имя переменной интерпретатора, если она указана без одинарных кавычек
Обозначения: красным цветом указаны изменения по сравнению с предыдущей версией
2.1. IF
команда | Описание |
IF | Алгоритм IF позволяет вывести содержимое блока <cmd> </cmd> при выполнении условия. Поддеррживается ветка @else@ Интерфейс: if(txtVarName, txtOp, txtValue) txtVarName: packed value txtOp: {==,!=,<=,<,gt, gte} txtValue – имя переменной интрепретатора Пример: <cmd process="if" params="'txtVal',==,txtVal"></cmd> <cmd process="if" params="'txtVal',==,txtVal"> … @else@ … </cmd> |
2.2. IF1
IF1 | Алгоритм IF1 позволяет вывести содержимое блока <cmd> </cmd> при выполнении условия равенства одному из значений Интерфейс: if(txtVarName, txtOp, valuesList) txtVarName: packed value txtOp: {==or} valuesList := <значение> | <значение>\|<Список значений> (\| означает, что символ | используется для разделения элементов списка значений) Пример: <cmd process="if1" params="'txtVal',==or, txtVal|txtVal1|txtVal2"></cmd> <cmd process="if1" params="'txtVal',==or, txtVal|txtVal1|txtVal2">… @else@ …</cmd> |
2.3. insertVar
insertVar | Алгоритм “insertVar” позволяет вставить в указанное место текста значение переменной (name), которая была передана в интерпретатор Пример: <cmd process="insertVar" varName="workDir"></cmd> (эта инструкция обрабатывается в порядке обработки других инструкций cmd) Пример2: <insertVar varName="workDir"> (эта инструкция обрабатывается при первой возможности, т. е. до обработки стандартных инструкций вроде cmd) |
2.4. loop
loop | Алгоритм “loop” позволяет повторить указанный кусок текста указанное число раз Пример1: <cmd process="loop" varName="workDir"></cmd> <cmd process="loop" varName="text"> <td id="chapterInfo"> @loopIndex; @text; @count; </td> </cmd> (вставить на место последовательности @text; - значение текущей ячейки одномерного array-массива, который передан в интерпретатор под именем “text”) (вставить на место @loopIndex; - текущее значение переменной цикла (цикл начинается с 0) (вставить на место @count; - количество элементов в массиве) $interpreterFilter->setVar("text ", array(“text1”, “text2”)); означает: поторить цикл 2 раза, вставить на место “@text;” сначала “text1”, потом - “text2”; вставить на место “@loopIndex;” сначала “0”, потом “1” Пример2: <cmd process="loop" varName="text"> <td id="chapterInfo"> @loopIndex; @text-0; @text-1; </td> </cmd> (если значение переменной text на очередной итерации – массив array(), то выполняется замена @text-0; на первый элемент массива, @text-1; на второй, и т. д. Т. е. внутрь интерпретатора можно передать одномерный array-массив одномерных array-массивов, и на очередной итерации можно адресоваться к элементу одного из n array-массивов (при адресации нумерация начинается с 0) (вставить на место @count; - количество элементов в массиве) |
2.5. setVar
setVar | Алгоритм “setVar” позволяет запомнить в переменной интерпретатора значение между парными тэгами <cmd></cmd> |
2.6. math
math | Алгоритм “math” позволяет вычислить значение выражения. Интерфейс: math (txtVarName, txtOp, valuesList) param1: const без кавычек txtOp: {+ | -} param2: const без кавычек Пример: <cmd process="math" params="2,+,10"></cmd> |
2.7. if2
if2 | Алгоритм IF2 позволяет вывести содержимое блока <cmd> </cmd> при выполнении условия. Пддерживается ветка else @if2_else_cmd@ Интерфейс: if(leftPart, txtOp, valuesList) leftPart: packed value txtOp: {==, != , gt, lte } valuesList: {packed value, packed value \| valuesList } если команда == и справа – список значений, то предполагается ИЛИ: (==) || (==) если команда =! и справа – список значений, то предполагается И: (!=) && (!=) если команда gt и справа – список значений, то предполагается И: (>) && (>) Пример1: <cmd process="if2" params="var1,==,’2’"> … </cmd> Пример2: <cmd process="if2" params="var1,==,’2’|var2"> … </cmd> Пример3: <cmd process="if2" params="’2’,==,’2’"> … </cmd> Пример4: <cmdX process="if2" params="’2’,==,’2’"> … @if2_else_cmdX@ </cmdX> |
2.8. loopMainArray
loopMainArray | Алгоритм loopMainArray позволяет повторить указанный кусок текста указанное число раз. В качестве основы цикла используется основной массив, который хранится в указанной переменной интерпретатора Интерфейс: loopMainArray (varName : string, [startIndex : int ], [endIndex : int]) Вероятный пример1: <cmd1 process=”loopMainArray” varName=”arrayName”> <loopMainArray-cmd1 cmd=”myGet,1,@cmd1-curRecNumber@”></loopMainArray-cmd1> <loopMainArray-cmd1 cmd=”myGet, NODE_ID,@cmd1-curRecNumber@”> </loopMainArray-cmd1> <loopMainArray-cmd1 cmd=”myGetData,’NODE_DATA’,’@cmd1-curRecNumber@’,’w’”></loopMainArray-cmd1> </cmd1> здесь в параметрах после myGet можно указывать PHP-константы |
2.9. for
for | for(loopVarName, startVal, compareCmd, stopVal, changeCounter) compareCmd: {lt, elt} Вероятный пример1: <cmd1 process=”for” params=”i,1,lt,5,1”> @i;<br> </cmd1> |
2.10. setAr
setAr | Алгоритм setAr присваивает внутренней переменной array-массив setAr(varName, val1,val2,…) Вероятный пример1: <cmd1 process=”setAr” params=”varName,1,2,3,4,5”></cmd1> |
2.11. exec
exec | Алгоритм exec вызывает внутреннюю инструкцию интерпретатора Вероятный пример1: <cmd1 process=”exec” code=”get, eval, APP_WINDOW_NAME”></cmd1> Вероятный пример2: <cmd1 process=”exec” code=”eval, APP_WINDOW_NAME”></cmd1> Вероятный пример3: <cmd1 process=”exec” code=”get, mainAr, internalVarName,1D, eval, SYS_FW_FP__NAME”></cmd1> Вероятный пример4: <cmd1 process=”exec” code=”get, mainAr, internalVarName,1D, int,2”></cmd1> Вероятный пример5: <cmd1 process=”exec” code=”get, mainAr, internalVarName,2D, eval, SYS_FW_FP__NAME, eval,1”></cmd1> Вероятный пример6: <cmd1 process=”exec” code=”get, mainAr, internalVarName,2D, eval, SYS_FW_FP__NAME, int,1”></cmd1> |
2.12. loopAssoc
loopAssoc | Алгоритм loopAssoc (модификация loop) - цикл по масиву ассоциативных массивов Пример1: <cmd process="loopAssoc" varName="doc"> @doc-key; </cmd> Пример2: <cmd process="loopAssoc" varName="doc"> @doc; @loopIndex; @count; </cmd> |
2.13. if3
if3 | Алгоритм IF3 позволяет вывести содержимое блока <cmd> </cmd> при выполнении всех условий <cmd process="if3" params="’2’,==,’2’"> … @if3_else_cmd@ </cmd> |
2.14. findInMA
findInMA | Алгоритм findInMA(X, Y,Z, Q) ищет в основном массиве X запись, у которой в поле Y находится значение Z". номер записи записывается в переменную интерпретатора Q Пример: <cmd0 process="findInMA" params="'partitionNode','NODE_ID',nodeID,'recNum'"></cmd0> |
2.15. echoMA
echoMA | Алгоритм echoMA(X) распечатываем содержимое основного массива X (массив должен храниться в переменной интерпретатора под именем X) Пример: <cmd0 process="echoMA" params="'partitionNode'"></cmd0> nodeID=<insertVar varName="nodeID"> |
2.16. #
# | можно закомментировать команду. Тогда она не выполняется и возвращает пустую строку Пример: <cmd0 process="#echoMA" params="'partitionNode'"></cmd0> … Распечатываем: recNum=<cmd0 process="insertVar" varName="recNum"></cmd0> ВНИМАНИЕ! для использования полученного значения нужно использовать не <insertVar varName=” recNum”>, а <cmd0 process="insertVar" varName="recNum"></cmd0> |
2.17. getValMA
getValMA | Алгоритм getValMA(X, Y,Z, Q) извлекает из поля (Z) записи (Y) основного массива (X) значение, и помещает полученное значение в переменную интерпретатора (Q) (массив должен храниться в переменной интерпретатора под именем X) <cmd0 process="getValMA" params="'partitionNode','NODE_CAPTION',recNum,'curPartitionCaption'"></cmd0> … Распечатываем: curPartitionCaption=<cmd0 process="insertVar" varName="curPartitionCaption"></cmd0> |
2.18. getRecordsNumberMA
getRecordsNumberMA | Алгоритм getRecordsNumberMA(X, Q) вычисляет количество записей в основном массиве (X), и помещает полученное значение в переменную интерпретатора (Q) (массив должен храниться в переменной интерпретатора под именем X) Интерфейс: getRecordsNumberMA(X, Q) X: packed value Q: packed value Пример1: <cmd0 process="getRecordsNumberMA" params="'partitionNode', 'recsNumber'"></cmd0> … Распечатываем: recsNumber=<cmd0 process="insertVar" varName="recsNumber"></cmd0> |
2.19. getStrLen
getStrLen | Алгоритм getStrLen(X, Y) вычисляет длину строки (X), и помещает полученное значение в переменную интерпретатора (Y) Интерфейс: getStrLen(X, Y) X: packed value Q: packed value Пример: <cmd0 process="getStrLen" params="shortInfo2,'shortInfo2Len'"></cmd0> Распечатываем: len=<cmd0 process="insertVar" varName="shortInfo2Len"></cmd0> |


