TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: JCAK en 04 de Noviembre de 2010, 23:21:47

Título: Ayuda en el modo de declarar variable para un Array
Publicado por: JCAK en 04 de Noviembre de 2010, 23:21:47
Hola a todos ... tengo una consulta sobre el modo en que debo declarar una variable.

Yo uso el siguiente codigo en Visual Basic 2010 y funciona bien, no tiene problemas

Código: [Seleccionar]
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim c() As Char = TextBox1.Text.ToCharArray
        Dim count As Integer

        For Each c2 As Char In c
            If c2 = "PEPE" Then

                Dim b() As Char = "El Sapo Pepe"

        For Each b2 As Char In b
            If b2 = "P" Then
                count += 1
            Else
                    codigo .....
            End If
        Next
            MessageBox.Show(count)

            ElseIf c2 = "Nombre" Then

            End If
        Next
    End Sub

Pero si lo modifico de la siguiente manera, es decir, cambio el FOR NEXT de lugar, me dice que la variable "b" de la linea "For Each b2 As Char In b" no está declarada

Código: [Seleccionar]
    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim c() As Char = TextBox1.Text.ToCharArray
        Dim count As Integer

        For Each c2 As Char In c
            If c2 = "PEPE" Then

                Dim b() As Char = "El Sapo Pepe"

            ElseIf c2 = "Nombre" Then

Dim b() As Char = "Nombre cualquiera"

            End If

    For Each b2 As Char In b
If b2 = "P" Then
            count += 1
        Else
    Codigo .....
        End If
            Next
            MessageBox.Show(count)

        Next
    End Sub

No se cómo hacer, probé declarar la variable en otro lugar, pero algo hago mal o esto no admite el uso.
¿Alguien me podrá ayudar?

Gracias, mil gracias
Título: Re: Ayuda en el modo de declarar variable para un Array
Publicado por: BrunoF en 05 de Noviembre de 2010, 00:29:10
Hola!

y por qué no hacerlo así:

Código: vb.net
  1. Dim c() As Char = TextBox1.Text.ToCharArray
  2.         Dim count As Integer
  3.         Dim b As Char()
  4.  
  5.         For Each c2 As Char In c
  6.             If c2 = "PEPE" Then
  7.  
  8.                 b = "El Sapo Pepe"
  9.  
  10.             ElseIf c2 = "Nombre" Then
  11.  
  12.                 b = "Nombre cualquiera"
  13.  
  14.             End If
  15.  
  16.             For Each b2 As Char In b
  17.                 If b2 = "P" Then
  18.                     count += 1
  19.                 Else
  20.                     'Codigo...
  21.                 End If
  22.             Next
  23.             MessageBox.Show(count)
  24.  
  25.         Next

Y  esquivar ese inconveniente?

El problema es que como declaras la variable segun condiciones, el compilador no sabe quién es b debido a que tecnicamente, al menos en tiempo de diseño, no está declarado...

Saludos.
Título: Re: Ayuda en el modo de declarar variable para un Array
Publicado por: JCAK en 05 de Noviembre de 2010, 19:14:25
Excelente Bruno

Solo agregué lo siguiente:

        Dim c() As Char = TextBox1.Text.ToCharArray
        Dim count As Integer
        Dim b As Char()
        b = ""

Fue necesario agregar b="" para evitar una advertencia en donde dice que "b" tiene un valor asignado antes de llegar a "For Each b2 As Char In b" y que por lo tanto se trata de una referencia nula

Mil gracias por tu ayuda.
Título: Re: Ayuda en el modo de declarar variable para un Array
Publicado por: BrunoF en 05 de Noviembre de 2010, 21:47:41
Ahh! ok...

podrías hacer también: Dim b As Char() = vbnullstring

que es lo mísmo, sólo que más "visualbasiquero"...:D

Saludos.