Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 136
Благодарности: 18

Профиль | Отправить PM | Цитировать


Цитата vahe-91:
И еще один вопрос, как-то можно сгенерировать случайное число ? »
Цитата из справки:
Автор: K.A.V.

На этой страничке я предоставлю вам код, с помощью которого вы сможете сгенерировать случайное число, указав необходимый диапазон чисел
В начале кода:
Код: Выделить весь код
!define Rnd "!insertmacro _Rnd"
!macro _Rnd _RetVal_ _Min_ _Max_
   Push "${_Max_}"
   Push "${_Min_}"
   Call Rnd
   Pop ${_RetVal_}
!macroend

Добавляем функцию генерации случайного числа: 
Function Rnd
   Exch $0  ;; Min / return value
   Exch
   Exch $1  ;; Max / random value
   Push "$3"  ;; Max - Min range
   Push "$4"  ;; random value buffer

   IntOp $3 $1 - $0 ;; calculate range
   IntOp $3 $3 + 1
   System::Call '*(l) i .r4'
   System::Call 'advapi32::SystemFunction036(i r4, i 4)'  ;; RtlGenRandom
   System::Call '*$4(l .r1)'
   System::Free $4
   ;; fit value within range
   System::Int64Op $1 * $3
   Pop $3
   System::Int64Op $3 / 0xFFFFFFFF
   Pop $3
   IntOp $0 $3 + $0  ;; index with minimum value

   Pop $4
   Pop $3
   Pop $1
   Exch $0
FunctionEnd


И в любом месте кода вызываем функцию генерации числа:

${Rnd} $0 1 10
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:15, 09-11-2013 | #740