NsRandom plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Updated author and download links, and changed format of some pages.)
m (Updated author links.)
Line 1: Line 1:
{|align=right
|<small>Author: [[{{ns:2}}:lzandman|lzandman]] ([[{{ns:3}}:lzandman|talk]], [[{{ns:-1}}:Contributions/lzandman|contrib]])</small>
|}
<br style="clear:both;">
== Links ==
== Links ==
<attach>NsRandom.zip</attach><br>
<attach>NsRandom.zip</attach><br>
Line 29: Line 33:


nsRandom was created after some discussion in [http://forums.winamp.com/showthread.php?s=&threadid=136688 this] forum thread.
nsRandom was created after some discussion in [http://forums.winamp.com/showthread.php?s=&threadid=136688 this] forum thread.
Page author: [[User:lzandman|lzandman]]

Revision as of 03:01, 30 April 2005

Author: lzandman (talk, contrib)


Links

NsRandom.zip (20 KB)
Zip.gif NsRandom.zip (20 KB) (Mirror #1)

Description

nsRandom is a NSIS-plugin created by Leon Zandman that can generate random numbers.

Usage

nsRandom is a plugin wrapper around Borland Delphi's Random() function. It can generate random numbers in two ways:

    *Range-mode*Float-mode

Range-mode: In this mode nsRandom generates random numbers in the following range: 0 ≤ Random < Range, where Range is a positive number that has been pushed onto the stack. See the following example:

; Use random number from range: 0 &lt;= Random &lt; 100
; Put range onto the stack
Push "100"
 
; Get the random number
nsRandom::GetRandom

; Take the generated number from the stack
Pop $2

Float-mode: In this mode nsRandom generates random values lying between 0 and 1. You can activate this mode by putting a negative value for Range onto the stack. See the following example:

; Put negative range onto the stack (=float-mode)
Push "-1"
 
; Get the random number
nsRandom::GetRandom

; Take the generated number from the stack
Pop $2

The distribution includes an example NSIS-script file that should explain how this plugin works.

nsRandom was created after some discussion in this forum thread.