Bruno_F Posted June 25, 2006 at 02:38 AM Report #34649 Posted June 25, 2006 at 02:38 AM Olá! Comecei há +/- um mês a interessar-me por programação, começando a aprender pascal. Não deixando de ser uma linguagem interessante, comecei-me a interessar bastante por visual basic. Depois de aprender as noções básicas, iniciei o meu primeiro projecto: um jogo baseado no programa televisivo "A herança". (Este paragrafo não tem muito a ver com o assunto do post, mas visto ser a minha primeira intervenção neste fórum achei por bem fazer uma mini-apresentação 😉). Mas vamos ao que interessa: Ainda estou numa fase algo prematura do programa e deparo-me com um problema intrigante: acontece que o projecto tem uma form em que o utilizador vai escolher o nº de jogadores "humanos" que irão participar. Depois de escolhido o nº as textbox's (que servem para inserir o nome dos jogadores humanos irão participar) vão ficar "enabled" consoante nº de jogadores disponiveis. Depois de escolhidos os nomes, irá-se abrir uma nova janela onde se ira desenrolar o 1º jogo. Aí vai haver 5 groupbox's correspondente a cada jogador onde eu pretendia que o titulo da groupbox correspondesse ao nome do jogador anteriormente introduzido. aí é que reside o problema, eu escrevi o código da maneira que eu achava que iria dar mas não dá vou por aqui o código: Código da form onde se escolhem os jogadores: Public Class nºjog Public nomej1 As String Public nomej2 As String Public nomej3 As String Public nomej4 As String Public nomej5 As String Public ia4 As Boolean Public ia3 As Boolean Public ia2 As Boolean Public ia1 As Boolean Public ia0 As Boolean Public iaj2f As Boolean Public iaj3f As Boolean Public iaj4f As Boolean Public iaj5f As Boolean Public iaj2m As Boolean Public iaj3m As Boolean Public iaj4m As Boolean Public iaj5m As Boolean Public iaj2d As Boolean Public iaj3d As Boolean Public iaj4d As Boolean Public iaj5d As Boolean Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 'Esta porçao de codigo serve para que atrvés da opção que o utilizador 'escolha para o nº de players as respectivas caixas de nome fiquem 'avtivas ou não If ComboBox1.Text = "1" Then ia4 = True TextBox2.Enabled = True TextBox3.Enabled = False TextBox4.Enabled = False TextBox5.Enabled = False TextBox6.Enabled = False ComboBox4.Enabled = True ComboBox5.Enabled = True ComboBox3.Enabled = True ComboBox2.Enabled = True ElseIf ComboBox1.Text = "2" Then ia3 = True TextBox2.Enabled = True TextBox3.Enabled = True TextBox4.Enabled = False TextBox5.Enabled = False TextBox6.Enabled = False ComboBox4.Enabled = True ComboBox5.Enabled = False ComboBox3.Enabled = True ComboBox2.Enabled = True ElseIf ComboBox1.Text = "3" Then ia2 = True TextBox2.Enabled = True TextBox3.Enabled = True TextBox4.Enabled = True TextBox5.Enabled = False TextBox6.Enabled = False ComboBox4.Enabled = False ComboBox5.Enabled = False ComboBox3.Enabled = True ComboBox2.Enabled = True ElseIf ComboBox1.Text = "4" Then ia1 = True TextBox2.Enabled = True TextBox3.Enabled = True TextBox4.Enabled = True TextBox5.Enabled = True TextBox6.Enabled = False ComboBox4.Enabled = False ComboBox5.Enabled = False ComboBox3.Enabled = True ComboBox2.Enabled = False ElseIf ComboBox1.Text = "5" Then ia0 = True TextBox2.Enabled = True TextBox3.Enabled = True TextBox4.Enabled = True TextBox5.Enabled = True TextBox6.Enabled = True ComboBox4.Enabled = False ComboBox5.Enabled = False ComboBox3.Enabled = False ComboBox2.Enabled = False End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Static nomej1 = TextBox2.Text Static nomej2 = TextBox3.Text Static nomej3 = TextBox4.Text Static nomej4 = TextBox5.Text Static nomej5 = TextBox6.Text If ComboBox5.Text = "Fácil" Then iaj2f = True ElseIf ComboBox5.Text = "Médio" Then iaj2m = True ElseIf ComboBox5.Text = "Difícil" Then iaj2d = True End If If ComboBox4.Text = "Fácil" Then iaj3f = True ElseIf ComboBox4.Text = "Médio" Then iaj3m = True ElseIf ComboBox4.Text = "Difícil" Then iaj3d = True End If If ComboBox2.Text = "Fácil" Then iaj4f = True ElseIf ComboBox2.Text = "Médio" Then iaj4m = True ElseIf ComboBox2.Text = "Difícil" Then iaj4d = True End If If ComboBox3.Text = "Fácil" Then iaj5f = True ElseIf ComboBox3.Text = "Médio" Then iaj5m = True ElseIf ComboBox3.Text = "Difícil" Then iaj5d = True End If MessageBox.Show(" Agora que aprensentados todos os concorrentes vamos passar ao primeiro jogo da noite") primeirojogo.Show() Close() End Sub End Class como devem ter percebido, as unicas variavei que interessam são as nomej1, nomej2,...etc. agora vou introduzir o code da form do primeiro jogo Public Class primeirojogo Private Sub GroupBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox1.Enter GroupBox1.Text = A_Herança.nºjog.nomej1 End Sub End Class só que ao correr o programa o titulo da groupbox fica em branco Será que alguem me poderia ajudar? Obrigado
Guest id194 Posted June 25, 2006 at 05:12 AM Report #34650 Posted June 25, 2006 at 05:12 AM esquece o evento enter do groupbox e faz isso no event Load do form onde tem os "groupboxs" e já deve funcionar. by the way, umas sugestões... porque não usas alguns arrays em vez de declarares todas essas variaveis? fica melhor organizado... e n precisas de fazer isto: GroupBox1.Text = A_Herança.nºjog.nomej1 basta: GroupBox1.Text = nomej1 pois declaraste a variavel como publica...
Bruno_F Posted June 25, 2006 at 06:27 PM Author Report #34743 Posted June 25, 2006 at 06:27 PM It works!! 😉 Obrigado por responderes, já agora a tua sugestão de não utilizar "GroupBox1.Text = A_Herança.nºjog.nomej1" mas sim "GroupBox1.Text = nomej1" não funcionou mas se puser só: "GroupBox1.Text = nºjog.nomej1" já dá. Quanto ás arrays, como ja deves ter reparado sou mesmo noob nisto 😄 e ainda não domino bem as arrays
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now