none
Inserir items em um listbox dentro de uma classe RRS feed

  • Pergunta

  • Olá, estou tentando inserir items de um listbox dentro de uma classe, porem nao estou conseguindo. É possível.

    O listbox está em um formulário. Queria inserir items no listbox porem atraves da classe.

    Public Class Fibonacci
        Private _anterior As Integer
        Private _proximo As Integer
        Private _numero As Integer
        Public Sub New()
            _anterior = 0
            _proximo = 1
        End Sub
        Public Property Anterior As Integer
            Get
                Return _anterior
            End Get
            Set(ByVal value As Integer)
                _anterior = value
            End Set
        End Property
        Public Property Proximo As Integer
            Get
                Return _proximo
            End Get
            Set(value As Integer)
                _proximo = value
            End Set
        End Property
        Public Property Numero As Integer
            Get
                Return _numero
            End Get
            Set(value As Integer)
                _numero = value
            End Set
        End Property
        Public Function GeraFibonacci(ByVal numf As Integer) As Integer
            While _proximo < numf
               lstFibo.Items.Add(Proximo) ' aqui da o erro
                _proximo = _proximo + Anterior
                _anterior = _proximo - _anterior
            End While

        End Function
    End Class

    sexta-feira, 29 de maio de 2015 21:16

Respostas

  • Para isso você deve inserir o nome do formulário, depois o nome do objeto e por último a ação que você quer executar normalmente. Exemplo:

    Digamos que o seu formulário chama-se Form1 e o seu listbox chama-se Listbox1, então o código ficaria assim:

    Form1.Listbox1.Items.Add("NOME DO ITEM")

    • Sugerido como Resposta Mr. Morello quinta-feira, 2 de julho de 2015 16:52
    • Marcado como Resposta Marcos SJ sexta-feira, 15 de janeiro de 2016 17:09
    segunda-feira, 1 de junho de 2015 00:14

Todas as Respostas

  • Para isso você deve inserir o nome do formulário, depois o nome do objeto e por último a ação que você quer executar normalmente. Exemplo:

    Digamos que o seu formulário chama-se Form1 e o seu listbox chama-se Listbox1, então o código ficaria assim:

    Form1.Listbox1.Items.Add("NOME DO ITEM")

    • Sugerido como Resposta Mr. Morello quinta-feira, 2 de julho de 2015 16:52
    • Marcado como Resposta Marcos SJ sexta-feira, 15 de janeiro de 2016 17:09
    segunda-feira, 1 de junho de 2015 00:14
  • Amigo, muito obrigado, funcionou 100%. Estou aprendendo orientação a objetos agora e estou gostando muito. Estou saindo do procedural e começando com o OO. Com o tempo a gente pega?

    Outra dúvida: Na orientação a objetos tem como eliminar muitos ifs?

    Ex: Como faria para eliminar este punhado de ifs nessa classe:

    Public Class Extenso
        Inherits Fibonacci
        Private _msg As String
        Public Property Msg As String
            Get
                Return _msg
            End Get
            Set(ByVal value As String)
                _msg = value
            End Set
        End Property
        Public Function NrExtenso(ByVal nr As Integer) As String
            If nr = 0 Then
                msg = "o número digitado foi ZERO"
            ElseIf nr = 1 Then
                msg = "o número digitado foi UM"
            ElseIf nr = 2 Then
                msg = "o número digitado foi DOIS"
            ElseIf nr = 3 Then
                msg = "o número digitado foi TRÊS"
            ElseIf nr = 4 Then
                msg = "o número digitado foi QUATRO"
            ElseIf nr = 5 Then
                msg = "o número digitado foi CINCO"
            ElseIf nr = 6 Then
                msg = "o número digitado foi SEIS"
            ElseIf nr = 7 Then
                msg = "o número digitado foi SETE"
            ElseIf nr = 8 Then
                msg = "o número digitado foi OITO"
            ElseIf nr = 9 Then
                msg = "o número digitado foi NOVE"
            ElseIf nr = 10 Then
                msg = "o número digitado foi DEZ"
            Else
                msg = "o número está fora do intervalo solicitado"
            End If
            Return msg
        End Function
    End Class


    Um abraço, valeu pela dica.

    Henrique.

    segunda-feira, 1 de junho de 2015 18:41
  • Com o tempo você pega o jeito e lembre-se que "A prática leva a perfeição".

    O que você pode fazer é criar uma array e armazenar nela os números por extenso, como as arrays começam a contar pelo zero e o seu programa também trabalha a partir do mesmo, basta colocar um msgbox para mostrar o número que está salvo no espaço da array referente ao número digitado. A minha explicação ficou um pouco confusa, mas vamos para a pratica:

    'ESSA É A ARRAY, ELA É UMA VARIAVÉL QUE PODE ARMAZENAR VÁRIAS INFORMAÇÕES (UMA CAIXINHA DE VARIAVEIS DIGAMOS ASSIM). AQUI ESTÃO OS NÚMEROS DE 0 A 10 em extenso.
            Dim extenso() As String = {"Zero", "Um", "Dois", "Três", "Quatro", "Cinco", "Seis", "Sete", "Oito", "Nove", "Dez"}
    
            'AQUI ELE VAI TENTAR MOSTRA O NÚMERO
            Try
                'MOSTRA A MENSAGEM, O CONTEÚDO DELA É O ESPAÇO DO ARRAY NO QUAL ESTÁ O NÚMERO POR EXTENSO.
                MsgBox(extenso(nr))
            Catch
                'SE NÃO CONSEGUIR, MOSTRA A MENSAGEM DE ERRO SEM TRAVAR O PROGRAMA.
                MsgBox("o número está fora do intervalo solicitado")
            End Try

    A array tem os espaços onde os números ficam salvos, a informação contida nos espaços é acessada pelo número do espaço que começa a contar pelo zero. Como o programa também começa com o zero, basta mostrar no msgbox a informação da array que está no espaço de número igual ao digitado. Exemplo:

    Se você digitar "1", ele vai mostrar o número por extenso e vai retornar "Um" já que o espaço no qual o "Um" está salvo é o espaço de número "1".

    Obs: Deu uma bugada na caixa de códigos da minha resposta, mas eles funcionam perfeitamente.




    • Editado Lukas de Jesus segunda-feira, 1 de junho de 2015 20:21
    • Sugerido como Resposta Mr. Morello quinta-feira, 2 de julho de 2015 16:52
    segunda-feira, 1 de junho de 2015 20:14
  • Muito obrigado pela dica. Vou implementar nos meus estudos.

    Qualquer dúvida eu posto.

    Henrique

    segunda-feira, 1 de junho de 2015 20:40
  • Olá amigo, testei, ficou 10. Bacana. Muito obrigado.

    Queria aprender usar Interface de uma maneira mais fácil. Você ou alguém ai no Fórum se puder me ajudar ficarei grato.

    Obrigado a todos.

    Henrique

    segunda-feira, 1 de junho de 2015 20:47