Увеличение числового значения в InstallAnywhere
У меня есть вопрос к тем из вас, кто работал с InstallAnywhere:
По сути, я написал цикл while в проекте InstallAnywhere. То, что я хотел бы найти, - это простой и легкий способ реализовать счетчик внутри этого цикла. Вот некоторый псевдокод моей попытки:
Set InstallAnywhere Variable: $COUNT$ = 0
Jump Label: while
Execute Script/Batch File:
@echo off
set /a TEMP_NUM=$COUNT$+1 > nul
echo %TEMP_NUM%
Set InstallAnywhere Variable: $COUNT$ = $EXECUTE_STDOUT$
Jump: while Rule: $COUNT$ [Less Than or Equal to] 100
Приведенный выше код устанавливает $COUNT$ в следующее:
Loop 0:
1
Loop 1:
1
Loop 2:
1
...
Интересно, происходит ли это потому, что InstallAnywhere заменяет $COUNT$ внутри пакетного файла на 0 в первом цикле, а затем в последующих циклах повторно использует тот же пакетный файл с уже подставленным $COUNT$ (как в пакете для цикла или если заявление).
2 ответа
Просто добавьте несколько номеров строк в ваш код:
- Установите переменную InstallAnywhere: $COUNT$ = 0
- Метка прыжка: пока
- Выполнить скрипт / командный файл:
- @ эхо выключено
- set / a TEMP_NUM = $ COUNT $ + 1> nul
- echo% TEMP_NUM%
- Установить переменную InstallAnywhere: $COUNT$ = $EXECUTE_STDOUT$
- Прыжок: в то время как правило: $COUNT$ [меньше или равно] 100
В строках 5 и 6 вы по сути делаете следующее: echo $ COUNT $ + 1
В строке 7 вы устанавливаете COUNT в $EXECUTE_STDOUT$ (обычно это 0, я полагаю?). Это объясняет, почему он печатает 1 каждый раз, потому что $ COUNT $ устанавливается в 0 в конце каждого цикла.
Может ли быть так, что $COUNTS$ должен быть доступен из таблицы OS ENV с помощью специального ключа $lax.nl.env.counts$? по документам,
Вы можете получить доступ к любой переменной системной среды (например, к пути доступа через $lax.nl.env.path$), указав имя свойства в виде строчной буквы. Эти свойства разрешаются во время выполнения приложения, когда выполняется LaunchAnywhere. Вы также можете получить доступ к системным переменным через переменные InstallAnywhere.