Ir ao conteúdo
  • Cadastre-se
tecnorenato

Software para escolher uma pergunta aleatória

Recommended Posts

Oi gente;

Tô com uma missão por aqui. Tenho um bloco de notas com mais de mil perguntas que são usadas em recreações e dinâmicas.

Gostaria de criar um .bat que no momento em que apertasse enter ou outro botão ele desse uma pergunta diferente sem repetir. Preciso também que elas se embaralhe.

Alguém tem um tutorial, uma dica ou algo parecido?

PS.: Sou de Redes mas arranho nuns comando do DOS.

Agradeço desde já.

adicionado 28 minutos depois

Achei isso aqui. Mas como fazer com que o numero traga junto uma pergunta?

teste sorteio cod.txt

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

 Salve este código como pergunta_aleatoria.vbs

Dim MeuArquivo
MeuArquivo = "C:\caminho\do\meu\arquivo\de\perguntas.txt" ' <--- Modifique aqui pelo seu arquivo de perguntas

Dim fso, file, perguntas
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(MeuArquivo)

perguntas = Split(file.ReadAll, vbCrlf)
max = Ubound(perguntas)
min = 1
Do While sair = False
    Randomize
    posicao = Int((max-min+1)*Rnd+min)
    If UCase(Right( WScript.FullName, 12)) = "\CSCRIPT.EXE" Then
        WScript.Echo "------------------------"
        WScript.Echo perguntas(posicao) 
        WScript.Echo "-----------------" 
        Wscript.Echo "Aperte Enter para próxima pergunta. Digite 0 e Enter para sair"  & vbcrlf
        sair = WScript.StdIn.ReadLine = "0"
    Else
        sair = MsgBox(perguntas(posicao), vbOkCancel) = vbCancel
    End If  
Loop

Você pode executar clicando duas vezes no arquivo ou executar pelo prompt de comando:

cscript //Nologo c:\local\onde\voce\salvou\o\pergunta_aleatoria.vbs

Clicando duas vezes, será exibida uma mensagem no estilo padrão do Windows para cada pergunta. No prompt de comando, as perguntas são exibidas no próprio console.

 

Até mais

 

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, ieumemo disse:

 

adicionado 3 minutos depois
1 hora atrás, ieumemo disse:

 Salve este código como pergunta_aleatoria.vbs


Dim MeuArquivo
MeuArquivo = "C:\caminho\do\meu\arquivo\de\perguntas.txt" ' <--- Modifique aqui pelo seu arquivo de perguntas

Dim fso, file, perguntas
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(MeuArquivo)

perguntas = Split(file.ReadAll, vbCrlf)
max = Ubound(perguntas)
min = 1
Do While sair = False
    Randomize
    posicao = Int((max-min+1)*Rnd+min)
    If UCase(Right( WScript.FullName, 12)) = "\CSCRIPT.EXE" Then
        WScript.Echo "------------------------"
        WScript.Echo perguntas(posicao) 
        WScript.Echo "-----------------" 
        Wscript.Echo "Aperte Enter para próxima pergunta. Digite 0 e Enter para sair"  & vbcrlf
        sair = WScript.StdIn.ReadLine = "0"
    Else
        sair = MsgBox(perguntas(posicao), vbOkCancel) = vbCancel
    End If  
Loop

Você pode executar clicando duas vezes no arquivo ou executar pelo prompt de comando:


cscript //Nologo c:\local\onde\voce\salvou\o\pergunta_aleatoria.vbs

Clicando duas vezes, será exibida uma mensagem no estilo padrão do Windows para cada pergunta. No prompt de comando, as perguntas são exibidas no próprio console.

 

Até mais

 

 

Vou resumir o que você fez. Surpreendente!

Ele rodou clicando duas vezes, mas quando eu tento abrir pelo executar não dá.

E mais uma coisa, o botão OK fica mudando de lugar... Tem como deixar parado?

Desde já obrigado!

 

Editado por tecnorenato
Citei a mesma coisa duas vezes.
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

7 minutos atrás, tecnorenato disse:

Achei isso aqui. Mas como fazer com que o numero traga junto uma pergunta?

 

Não entendi. Como assim "número"? Com esse código que eu te passei, a cada Enter uma pergunta aleatória é exibida.

 

Em 02/11/2016 às 23:35, tecnorenato disse:

Gostaria de criar um .bat que no momento em que apertasse enter ou outro botão ele desse uma pergunta diferente sem repetir. Preciso também que elas se embaralhe.

 

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 minuto atrás, ieumemo disse:

 

 

Não entendi. Como assim "número"? Com esse código que eu te passei, a cada Enter uma pergunta aleatória é exibida.

 

 

 

Perdão amigo, essa parte ai já não ficou obsoleta com sua lógica que criou. Fui citar e citei duas vezes sem querer. 

 

Do jeito que tá ele já funciona. Tem como fechar esse tópico como resolvido?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×