Página 1 de 1

FUNCAO: Valor/Preço randomico

Enviado: 26 Abr 2010 02:38
por rochinha
Amiguinhos,

Provavelmente alguém já teve de usar algo parecido como, gerar numeros randomicos até um certo limite.

Mas e valores/preços? pesquisei no forum e não encontrei. Talvez até tenha algo numa CA-Tools da vida mas caso alguém precise mais rápido.

Retorna numero inteiro randômico:

Código: Selecionar todos

Function Random( nMaximo )
   static nRandom
   local nTemporal
   nMaximo = if( nMaximo == NIL, 65535, nMaximo )
   if nRandom == NIL
      nRandom = seconds()
   endif
   nTemporal = ( nRandom * seconds() ) % ( nMaximo + 1 )
   nTemporal = if( nTemporal < 1, 1, nTemporal )
   nRandom = nTemporal + seconds()
   RETURN int( nTemporal )
Retorna valor/preço randômico:

Código: Selecionar todos

Function VRandom( nIMaximo, nDMaximo )
   static nIRandom, nDRandom
   local nITemporal, nDTemporal
   nIMaximo = if( nIMaximo == NIL, 65535, nIMaximo )
   nDMaximo = if( nDMaximo == NIL, 65535, nDMaximo )
   nIRandom = if( nIRandom == NIL, seconds(), nIRandom )
   nDRandom = if( nDRandom == NIL, seconds(), nDRandom )
   nITemporal = ( nIRandom * seconds() ) % ( nIMaximo + 1 )
   nDTemporal = ( nDRandom * seconds() ) % ( nDMaximo + 1 )
   nIRandom = nITemporal + seconds()
   nDRandom = nDTemporal + seconds()
   RETURN int( nITemporal ) + ( int( nDTemporal ) / 100 )
Exemplo:

Código: Selecionar todos

? Random( 50 ) // retorna valores entre 0 e 50
? VRandom( 50, 50 ) // retorna valores/preços até R$ 50,50