FUNCAO: Valor/Preço randomico

Fórum sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (NFe, NFCe, NFSe, SPEED, Projeto ACBr, TEF, ECD, EFD, etc.)

Moderador: Moderadores

Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

FUNCAO: Valor/Preço randomico

Mensagem 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
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder