Jump to content

Recommended Posts

Posted

Oi , eu não fiz apresentação pois não acho que valha apena, pois tenho 14 anos e sei coisinhas básicas de Visual Basic, queria ajuda nisso pois estou a ficar bastante interessado em Programação.

O Meu problema é que queria fazer um programa de Questionário com 4 botões onde 1 deles é a Resposta, eu não sei o que fazer (formula) para quando eu clicar no button3 mudar os nomes dos outros botões e fazer com que o Botão 3 "deixar de ficar correto" e ficar correto o botão 4, e assim por a diante ... se me conseguissem ensinar agradecia 🙂 ... (Deve ser muito fácil, mas como eu disse só sei coisas de iniciantes...)

Posted

O radiobutton é um control que está na toolbox do visual studio.

Arrastas para o formulário, um radiobutton para cada resposta.

Funciona da mesma forma que as checkboxes, mas apenas permite estar um selecionado de cada vez

Posted (edited)

Acho que o que ele quer é algo assim:

No evento load do form

Button1.Text = "resposta 1"
Button2.Text = "resposta 2"
Button3.Text = "resposta 3"

'depois no evento click de cada botão
'alteras a ordem para
Button1.Text = "resposta 3"
Button2.Text = "resposta 1"
Button3.Text = "resposta 2"

É claro que tens que meter ai uns if's, para por exemplo aparecer uma mensagem do tipo "Não acredito que falhou esta" , e para depois de clicar o ok da mensagem voltar ao código original...

Edit: filiperss fica sempre bem a apresentação, (se bem que já quase a fizeste aqui)

Edited by Gnrtuga

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Posted

Obrigado, mas eu por exemplo não consigo fazer:

IF button3_click then

(...)

a pergunta é: Como faço um IF a dizer que quando clicar no X botão, poder ficar o outro com a resposta correta ...

Se queres fazer com botões, o que queres dizer com "deixar de ficar correto" ?

Quero dizer que têns 4 botões , o botão 3 é a resposta certa, quando clico nele, mudar os nomes dos botões e da label (label sei botões não) e fazer outra pergunta, onde o botão 2 agora têm a resposta certa - como faço isto

Posted

há e mais uma coisa,

Button1.Text = "resposta 1"
Button2.Text = "resposta 2"
Button3.Text = "resposta 3"

'depois no evento click de cada botão
'alteras a ordem para
Button1.Text = "resposta 3"
Button2.Text = "resposta 1"

Button3.Text = "resposta 2"

Eu queria fazer uma pergunta diferente , sendo a resposta 3 não a mesma resposta da 3 anterior....

Posted (edited)

Algo assim?

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
   Button1.Text = "resposta 1"
   Button2.Text = "resposta 2"
   Button3.Text = "resposta 3"
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   Button1.Text = "resposta 3"
   Button2.Text = "resposta 2"
   Button3.Text = "resposta 1"
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
   Button1.Text = "resposta 2"
   Button2.Text = "resposta 1"
   Button3.Text = "resposta 3"
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
   Button1.Text = "resposta 1"
   Button2.Text = "resposta 3"
   Button3.Text = "resposta 2"
End Sub
Edited by nelsonr
Posted

Olá, há muitas maneiras de fazer isso.. fiz aqui um exemplo usando um array bidimensional (2D)

o indice 0 (zero) da primeria dimensão do Array (arrPerguntas) contem a pergunta

o indice 1 da primeria dimensão do Array (arrPerguntas) contem a resposta A

...

o indice 5 da primeria dimensão do Array (arrPerguntas) contem a resposta certa

a segunda dimensão do array contem o nr de perguntas

depois podes usar a propriedade tag do botao para guardar a aliena a que esse botao representa (podia comparar directamente o texto do botão com a resposta certa)

quando a resposta estiver certa somas 1 à pergunta e fazer outra pergunta....

é só uma das maneira de se fazer...

Public Class Form1

   Private arrPerguntas(5, 10) As String
   Private nrPergunta As Integer = 0

   Private Sub AtribuirPeguntasAoArray()
    ' Pergunta 1
    arrPerguntas(0, 0) = "Qual o melhor clube de futebol em portugal?"
    arrPerguntas(1, 0) = "a) Sporting"
    arrPerguntas(2, 0) = "b) Benfica"
    arrPerguntas(3, 0) = "c) Porto"
    arrPerguntas(4, 0) = "d) Braga"
    arrPerguntas(5, 0) = "a" 'Resposta Certa

    ' Pergunta 2
    '...

   End Sub

   Private Sub FazerPergunta()

    Me.lblPergunta.Text = arrPerguntas(0, nrPergunta)
    Me.Button1.Text = arrPerguntas(1, nrPergunta)
    Me.Button2.Text = arrPerguntas(2, nrPergunta)
    Me.Button3.Text = arrPerguntas(3, nrPergunta)
    Me.Button4.Text = arrPerguntas(4, nrPergunta)

   End Sub


   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    Me.Button1.Tag = "a"
    Me.Button2.Tag = "b"
    Me.Button3.Tag = "c"
    Me.Button4.Tag = "d"

    AtribuirPeguntasAoArray()
    FazerPergunta()

   End Sub

   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    If arrPerguntas(5, nrPergunta) = Button1.Tag Then
	    MsgBox("Resposta Certa")
	    nrPergunta += 1
	    FazerPergunta()
    Else
	    MsgBox("Resposta Errada")
	    ' Finalizar programa ou começar de novo etc...
    End If
   End Sub

   ' Outros butões

End Class
Posted

Eu percebi mais ou menos esse esquema vikcch porém não sei como fazer outras perguntas aqui, pois eu tentei por as minhas perguntas e ficou na ultima, não corria as 5 perguntas que eu tinha feito, como separo as perguntas? para sempre que clicar na resposta certa mudar para a seguinte...

   ' Pergunta 1
		arrPerguntas(0, 0) = "Qual o melhor clube de futebol em portugal?"
		arrPerguntas(1, 0) = "a) Sporting"
		arrPerguntas(2, 0) = "b) Benfica"
		arrPerguntas(3, 0) = "c) Porto"
		arrPerguntas(4, 0) = "d) Braga"
		arrPerguntas(5, 0) = "a" 'Resposta Certa

		' Pergunta 2
		'...'
Posted

é só mudares o indice da segunda dimensão do array, esse array pode levar até 11 peguntas (o zero tambem conta)

Private arrPerguntas(5, 10) As String

arrPerguntas(0, 1) = "Qual o melhor clube de futebol em portugal?"
arrPerguntas(1, 1) = "a) Sporting"
arrPerguntas(2, 1) = "b) Benfica"
arrPerguntas(3, 1) = "c) Porto"
arrPerguntas(4, 1) = "d) Braga"
arrPerguntas(5, 1) = "a" 'Resposta Certa

o melhor seria usar uma list of contendo um array só de uma dimensão ou mesmo uma structure, mas como está já faz o trabalho... pesquisa no google por vb.net list of e vb.net structure

Posted

    Private Sub AtribuirPeguntasAoArray()
	' Pergunta 1
	arrPerguntas(0, 0) = "Qual o melhor clube de futebol em portugal?"
	arrPerguntas(1, 0) = "a) Sporting"
	arrPerguntas(2, 0) = "b) Benfica"
	arrPerguntas(3, 0) = "c) Porto"
	arrPerguntas(4, 0) = "d) Braga"
	arrPerguntas(5, 0) = "a" 'Resposta Certa


End Class

vikcch tens um erro GRAVISSIMO no código.. a resposta certa é a B ! 🙂

(Claro que estou a brincar, eu até nem ligo muito ao futebol 🙂 )

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.