NsRandom plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (Updated author links.)
m (I no longer mirror my plugins)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{|align=right
{{PageAuthor|lzandman}}
|<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>
[[Image:Zip.gif]] [http://home.studenten.net/~wowleon/nsRandom.zip <strike>NsRandom.zip</strike>] (20 KB) (Mirror #1)


== Description ==
== Description ==
nsRandom is a NSIS-plugin created by [mailto:leon@wirwar.com?subject=nsRandom Leon Zandman] that can generate random numbers.
 
nsRandom is a NSIS-plugin created by Leon Zandman that can generate random numbers.


== Usage ==
== Usage ==
nsRandom is a plugin wrapper around Borland Delphi's Random() function. It can generate random numbers in two ways:
nsRandom is a plugin wrapper around Borland Delphi's Random() function. It can generate random numbers in two ways:
<ul>*Range-mode*Float-mode</ul>
 
'''Range-mode:''' In this mode nsRandom generates random numbers in the following range: 0 &le; Random &lt; ''Range'', where ''Range'' is a positive number that has been pushed onto the stack. See the following example:
*Range-mode
<highlight-nsis>; Use random number from range: 0 &lt;= Random &lt; 100
*Float-mode
 
=== Range-mode ===
 
In this mode nsRandom generates a random number ''x'' in the following range: 0 &le; ''x'' &lt; ''Range'', where ''Range'' is a positive number that has been pushed onto the stack. See the following example:
<highlight-nsis>
; Use random number from range: 0 <= Random < 100
; Put range onto the stack
; Put range onto the stack
Push "100"
Push "100"
Line 22: Line 28:


; Take the generated number from the stack
; Take the generated number from the stack
Pop $2</highlight-nsis>'''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:
Pop $2
<highlight-nsis>; Put negative range onto the stack (=float-mode)
</highlight-nsis>
 
=== Float-mode ===
 
In this mode nsRandom generates a random number ''x'' in the range 0 &le; ''x'' &lt; 1. You can activate this mode by putting a negative value for ''Range'' onto the stack. See the following example:
<highlight-nsis>
; Put a negative range value onto the stack (=float-mode)
Push "-1"
Push "-1"


Line 30: Line 42:


; Take the generated number from the stack
; Take the generated number from the stack
Pop $2</highlight-nsis>The distribution includes an example NSIS-script file that should explain how this plugin works.
Pop $2
</highlight-nsis>


== Note ==
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.
[[Category:Plugins]]

Latest revision as of 21:08, 28 November 2008

Author: lzandman (talk, contrib)


Links

NsRandom.zip (20 KB)

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 a random number x in the following range: 0 ≤ x < Range, where Range is a positive number that has been pushed onto the stack. See the following example:

; Use random number from range: 0 <= Random < 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 a random number x in the range 0 ≤ x < 1. You can activate this mode by putting a negative value for Range onto the stack. See the following example:

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

; Take the generated number from the stack
Pop $2

Note

nsRandom was created after some discussion in this forum thread.