Usuário com melhor resposta
Inserir items em um listbox dentro de uma classe

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