Ir para conteúdo
Fórum Script Brasil
  • 0

Numeros Aleatorios


bolomaster

Pergunta

Fala galera beleza, To criando um formulario para envio de informaçoes para o sitema de boletos bancario do banco do brasil, e olha só to com um problema e não consigo identificar.. tipo não tá dando erro, so não aparece o numero olhem para vocês verem

<%

###############################

NossoNum = CINT(RND*99999999999999999)

Select case NossoNum

case 0,1,2,3,4,5,6,7,8,9,10

NossoNum = NossoNum + NossoNum

End Select

###############################

reftran = NossoNum

%>

Depois to chamando ele assim oh

<%=reftran%>

se alguém conseguir indentificar.. o erro agradeço

Abraços

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

tenta assim:

<%
###############################
NossoNum = CINT(RND*1)
Select case NossoNum
case 0,1,2,3,4,5,6,7,8,9,10
NossoNum = NossoNum + NossoNum 
End Select
###############################
reftran = NossoNum 
%>

Se não der certo retorna ai, que agente tenta te ajudar melhor..

E também poste o erro que está retornando na pagina, porque derrepente pode ser outra coisa!!!! wink.gif

Fuiii

[]'s

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

beleza né vitor

po meu não retorna erro nenhum não

tipo so não aparece o nosso numero .. esta sua alteração funcionou .. so que eu preciso dele com 17 posiçoes, ai ele so gera com duas, deixa eu explicar.. tipo

eu até to tentando te outra forma olha só

randomize()

maiornum = 98799999999999999

menornum= 98780000000000000

NossoNum = int ((maiornum - menornum + 1)  * rnd + menornum)

so que este que eu fiz agora ele ta gerando os numeros assim oh

9,99991401308775E+16

não pode ser assim

e ta repetindo o que não pode você sabe como vou resolver isso

abraços e desculpe-me o transtorno

fui

Link para o comentário
Compartilhar em outros sites

  • 0

Eu tava aqui, vagal como sempre tongue.gif heheh, e decidi fazer um para você ver como funciona um com matriz... Não sei se você quer com matriz, mas se quiser mudar depois é só fazer uma variavel um tanto de numeros e multiplicar isso pelo rnd... Então ta ai:

<%
randomize

dim numeros(9)

numeros(0) = "1"
numeros(1) = "2"
numeros(2) = "3"
numeros(3) = "4"
numeros(4) = "5"
numeros(5) = "6"
numeros(6) = "7"
numeros(7) = "8"
numeros(8) = "9"
numeros(9) = "10"

nr = cint(9*rnd)
%>
<font size=-2 face=arial><%=numeros(nr)%></font>

Caso tenha mais alguma dúvida ae, é só chamar que nós estaremos ajudando...

falou MANO

[]'s

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

há sim, você quer que não repita, então to outro codigo que acabei de fazer, isso dai é uma mega sena, ai fica melhor para você fazer as coisas que você quer... Não sei se é mega sena que você quer, mas se não for você muda tongue.gif observe:

<%
randomize

dim palpite(5)
nr = cint(49*rnd)+1

palpite(0) = nr


while not z = true
nr = cint(49*rnd)+1
if nr <> palpite(0) then
palpite(1) = nr
z = true
end if
wend

z=false
while not z = true
nr = cint(49*rnd)+1
if nr <> palpite(0) and nr <> palpite(1) then
palpite(2) = nr
z = true
end if
wend

z=false
while not z = true
nr = cint(49*rnd)+1
if nr <> palpite(0) and nr <> palpite(1) and nr <> palpite(2) then
palpite(3) = nr
z = true
end if
wend

z=false
while not z = true
nr = cint(49*rnd)+1
if nr <> palpite(0) and nr <> palpite(1) and nr <> palpite(2) and nr <> palpite(3) then
palpite(4) = nr
z = true
end if
wend

z=false
while not z = true
nr = cint(49*rnd)+1
if nr <> palpite(0) and nr <> palpite(1) and nr <> palpite(2) and nr <> palpite(3) and nr <> palpite(4) then
palpite(5) = nr
z = true
end if
wend



for i = 0 to 5

if i = 5 then
response.write palpite(i)
else
response.write palpite(i)&" - "
end if
next
%>

Prontinho, ta todo ai... Espero ter ajudado.. Qualquer coisa to ai!!! wink.gif

[]'s

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

Vitor muito obrigado pela ajuda esta sendo de muito bom uso, so que tipo estes estao prontos,,, agradeço muito a sua força, eu tava precisando e tentar simplificar mais.. tipo você poderia me dar uma mao sem fazer o codigo para mim.. tipo me mostrar apenas o que esta errado, eu quero é para gerar o nossonum do boleto bancario, ele precisa ter 17 posiçoes ou seja ser assim 78932512452548729

e não pode repetir, mas olhe só eu tenho este que eu te passei

QUOTE 
randomize()

maiornum = 98799999999999999

menornum= 98780000000000000

NossoNum = int ((maiornum - menornum + 1)  * rnd + menornum)

so que este que eu fiz agora ele ta gerando os numeros assim oh

9,99991401308775E+16

não pode ser assim

e ta repetindo o que não pode você sabe como vou resolver isso

mas tipo você pode me dizer onde eu acho um material para eu poder resolver este problema.. eu já procurei na net.. antes de postar.. e achei materias parecidads.. mas que não me ajudaram a resolver este problema. olhe só quando eu abrir uma nova pagina.. ira aparecer o mesmo numero que já foi gerado tipo é esse o problema que não pode acontecer

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

fala galera beleza

ai resolvi uma parte do meu problema

que é este oh

so que este que eu fiz agora ele ta gerando os numeros assim oh

9,99991401308775E+16

não pode ser assim

eu chamei assim oh

<%=Formatnumber(reftran)%>

so que agora vem assim

98.254.365.235.632.321,00

so que não pode ter este ,00 no fim alguém sabe como resolvo este outro problema

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Salve bolomaster !!!

Para desaparecer aqueles dois ultimos numeors depois da virgula, é só depois do formatnumber, você colocar um ,0... Ficando assim:

<%=Formatnumber(reftran), 0%>

Espero ter ajudado, qualquer coisa posta ae!!!! wink.gif

Fuii

[]'s

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

tipo eu fiz assim oh

é funcionou olha

<%=FormatNumber (reftran,0)%>

so que tipo ele ainda esta repetindo ... ta ligado

eu tava pensando se eu já vou adicionar.. no banco eu poderia criar um verificaçao para ver o dado já existe.. não ?

Link para o comentário
Compartilhar em outros sites

  • 0
tipo eu fiz assim oh

é funcionou olha

<%=FormatNumber (reftran,0)%>

so que tipo ele ainda esta repetindo ... ta ligado

eu tava pensando se eu já vou adicionar.. no banco eu poderia criar um verificaçao para ver o dado já existe.. não ?

Podes crer.... Ai fica bom!!!! wink.gif

[]'s

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

Olha , no ASP eu nunca gerei numeros aleatórios n só em Visual Basic.

Acho que em ASP ocorre o mesmo problema: a função RND que "gera numeros aleatórios" , sempre repete a mesma sequência.

A ideia seria você fazer algo assim :

NA= (Rnd * 10) + Right(Time, 1)

Ou seja você usa a função RND * o intervalo que você quer que o numero seja gerado , pega os segundos da hora atual e soma com o numero sorteado.Desta forma , dificilmente vai repetir a mesma sequência.

Obs:A sua variavel maiornum = 98799999999999999 não pode ser declada como um numero inteiro pelo alto valor do numero.

Link para o comentário
Compartilhar em outros sites

  • 0

po decio vamos ver se eu entendi pelo que você disse teria que ficar mais ou menos assim é ?

randomize()

maiornum = 98799999999999999

menornum= 98780000000000000

NossoNum = ((maiornum - menornum + 1) * rnd + Right(Time, 1))

depois mostar

assim oh

<%=FormatNumber (reftran,0)%>

foi isso foi ?

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade eu estou partindo do primeiro exemplo:

<%

###############################

NossoNum = CINT(RND*99999999999999999)

Select case NossoNum

case 0,1,2,3,4,5,6,7,8,9,10

NossoNum = NossoNum + NossoNum

End Select

###############################

reftran = NossoNum

%>

O que da a entender que:

'NossoNum = CINT(RND*99999999999999999)

você quer gerar um numero de 0 a 99999999999999999

no caso do select Case para funcionar teria que ser feito assim:

case 0,1,2,3,4,5,6,7,8,9,10 até 99999999999999999 , o que seria inviavel.

O que eu entendi e que estou sugerindo é:

O seu numerio inicial é 99999999999999999

e você vai somar com um numero sorteado de 0 a 10 ou de 0 até onde você especificar:

Numero=(rnd * x ) + Right(Time, 1))

Ou seja o exemplo é uma forma de não repetir o numero com a função RND.

Se você precisa que o numero seja incrementado sem nunca repetir , é preciso fazer de outra forma , tipo gravando em banco de dados e a cada leitura somar + 1.

Link para o comentário
Compartilhar em outros sites

  • 0

puts

agora eu eu tive um tempinho sobrando, e comecei a ler o tópico, você resolveu

eita

hehe

mas eu ia indicar esse link pra você ver:

http://www.superasp.com.br/conteudo/artigos/artigo_44.asp

explica como enviar senhas aleatórias pros usuarios..

t+

Link para o comentário
Compartilhar em outros sites

  • 0

cara beleza.. valeu

heim.. e já pode fechar o tópico eu resolvi da seguinte foma

crie um arquivo text. com uma sequencia de 6 numeros e acrescentei os 11 primeiros .. no valor depois a variavel do contador assim oh

olhe ai o meu formulario

<%

meucont = Server.MapPath( "cont.txt" )

Set Sys = Server.CreateObject( "Scripting.FileSystemObject" )

Set Txt = Sys.OpenTextFile( meucont, 1 )

Contador = Fix( Txt.ReadAll )

Txt.Close

Contador = Contador + 1

Set Txt = Sys.OpenTextFile( meucont, 2 )

Txt.Write( Contador )

Txt.Close

Set Sys = NOTHING

%>

<script language="JavaScript">

function formatar(src, mask) {

  var i = src.value.length;

  var saida = mask.substring(i,i+1);

  var ascii = event.keyCode;

  if (saida == "A") {

  if ((ascii >=97) && (ascii <= 122)) { event.keyCode -= 32; }

  else { event.keyCode = 0; }

  } else if (saida == "0") {

  if ((ascii >= 48) && (ascii <= 57)) { return }

  else { event.keyCode = 0 }

  } else if (saida == "#") {

  return;

  } else {

  src.value += saida;

  i += 1

  saida = mask.substring(i,i+1);

  if (saida == "A") {

    if ((ascii >=97) && (ascii <= 122)) { event.keyCode -= 32; }

    else { event.keyCode = 0; }

  } else if (saida == "0") {

    if ((ascii >= 48) && (ascii <= 57)) { return }

    else { event.keyCode = 0 }

  } else { return; }

  }

}

</script>

<form name="vest1" method="post" action="enviarinscVest.asp">

  <table width="100%" border="0" cellspacing="5" cellpadding="0">

    <tr>

      <td><table width="100%" border="0" cellspacing="0" cellpadding="0">

          <tr>

            <td width="47%">Por favor digite este numero:</td>

            <td width="53%">&nbsp;</td>

          </tr>

          <tr>

            <td>Nosso Numero</td>

            <td>Nome</td>

          </tr>

          <tr>

            <td><input name="reftran" type="hidden" id="reftran" value="99251000005<%=contador%>"></td>

            <td><input name="nome" type="text" id="nome"></td>

          </tr>

          <tr>

            <td>Endere&ccedil;o</td>

            <td>Cidade</td>

          </tr>

          <tr>

            <td><input name="Endereco" type="text" id="Endereco"></td>

            <td><input name="Cidade" type="text" id="Cidade"></td>

          </tr>

          <tr>

            <td>Estado</td>

            <td>CEP</td>

          </tr>

          <tr>

            <td><input name="uf" type="text" id="uf"></td>

            <td><input name="cep" type="text" id="cep" onKeyPress="formatar(this,'00000-000')"></td>

          </tr>

          <tr>

            <td>Telefone</td>

            <td>Data de Nascimento</td>

          </tr>

          <tr>

            <td><input name="telefone" type="text" id="telefone" onKeyPress="formatar(this,'(00)-0000-0000')"></td>

            <td><input name="dtnasc" type="text" id="dtnasc" onKeyPress="formatar(this,'00/00/0000')"></td>

          </tr>

          <tr>

            <td>Nome da Mae</td>

            <td>Nome do Pai</td>

          </tr>

          <tr>

            <td><input name="pai" type="text" id="pai"></td>

            <td><input type="text" name="textfield10"></td>

          </tr>

          <tr>

            <td>Sexo</td>

            <td>Email</td>

          </tr>

          <tr>

            <td>

              <select name="sexo" id="sexo">

                <option>Masculino</option>

                <option>Feminino</option>

              </select></td>

            <td><input name="email" type="text" id="email"></td>

          </tr>

          <tr>

            <td>CPF</td>

            <td>RG</td>

          </tr>

          <tr>

            <td><input name="cpf" type="text" id="cpf" onKeyPress="formatar(this,'000.000.000-00')"></td>

            <td><input name="rg" type="text" id="rg"></td>

          </tr>

          <tr>

            <td>Curso</td>

            <td>Possui Curso Superior?</td>

          </tr>

          <tr>

            <td><input name="curso" type="text" id="curso" value="Direito"></td>

            <td>

              <select name="pcs" id="pcs">

                <option>N&atilde;o</option>

                <option>Sim Completo</option>

                <option>Sim Incompleto</option>

              </select></td>

          </tr>

          <tr>

            <td>&nbsp;</td>

            <td>&nbsp;</td>

          </tr>

        </table></td>

    </tr>

  </table>

  </form>

ate que deu para tapiar ok

abraços

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...