• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Bruno_F

[Visual Basic 2005] Problema com variavel de texto

3 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 :D e ainda não domino bem as arrays

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora