Ir ao conteúdo
  • Cadastre-se

Software para escolher uma pergunta aleatória


Posts recomendados

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
Link para o comentário
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
Link para o comentário
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!

 

  • Curtir 1
Link para o comentário
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
Link para o comentário
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
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...