Contar caracteres de una variable despues de hacerla Split

Iniciado por Brian1511, 17 Enero 2015, 02:18 AM

0 Miembros y 1 Visitante están viendo este tema.

Brian1511

Hola!,

Bueno ise este codigo:
Código (vb) [Seleccionar]

Dim List() As String
Dim i As Integer
Dim a As Integer

a = Len(txtAwards.Text)

lstAwards.Clear

txtAwards.Text = RS(7)
List = Split(RS(7), "||")
For i = 0 To Len(a)
lstAwards.AddItem List(i)
Next



Y o que intento hacer con esto es que me agreguen en un ListBox los Split de la variable List(), pero este solo me carga 3 datos y me gustaria que cargase todos los datos.

Para se mas espesifico es algo como esto:

Dim Texto as String
Dim Particion() as String


Texto = "0||0||0||0||0"       ''Son 5 Ceros separados por ||
Particion = Split(Texto, "||")
______
Lista    |
______|
#1| 0  |
#2| 0  |
#3| 0  |
#4| 0  |
#5| 0  |
=====

Podria alguien ayudarme con esto?



Creador de BrainMind

engel lex

no soy experto en esto pero con lo metodos Length o Count a list no te sirve?

por otro lado haces...
Código (vbnet) [Seleccionar]
a = Len(txtAwards.Text)

y luego
Código (vbnet) [Seleccionar]
For i = 0 To Len(a)

es decir estás leyendo el largo de el largo de el texto? :s eso me suena a error
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Brian1511

Hola amigo gracias por responder, pues como ver si lo he echo!

Aqui te paso el code:
Código (vb) [Seleccionar]



lstAwards.Clear

Dim List() As String
Dim i As Integer
Dim a As Integer
txtAwards.Text = RS(9)

a = Len(txtAwards.Text)


List = Split(RS(9), "/")
For i = 0 To Len(List(i))
lstAwards.AddItem List(i), i
Next


Y el txtAwards.Text = "0/0/0/0/0/0/0/0/0/0/0" y solo me devuelve 2 items :(
Espero me puedas ayudar!



Creador de BrainMind

engel lex

realmente de esto no se mucho jejeje

una pregunta... que hace esta linea?
txtAwards.Text = RS(9)

ahora el error creo que es esta linea

Código (vb) [Seleccionar]
For i = 0 To Len(List(i))
lstAwards.AddItem List(i), i
Next


estás leyendo el largo de list(i)

asumiendo que i es 0 originalmente, List(i) contendrá hasta donde creo "0" que tiene 1 de largo (creo que vb no cuenta el fin de cadena)... así que al evaluar sería de 0 a 1...

si ese es el error te recomiendo dormir unos 90 minutos, levantarte con un café y continuar ;)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Brian1511

Muchas Gracias amigo ya encontre el problema lo que pasa es que no pense en la funcion UBound(), era lo que necesitaba, muchas gracias!


Para los que tengan la misma duda o problema lo que ise fue lo siguiente:



Código (vb) [Seleccionar]

''Solo Agreguen un ListBox, y Denle un valor a la Variable "str" con separadores "/", sin comillas!
   Dim str as String
   Dim List() As String
    List = Split(str, "/")
     
    for i = 0 To UBound(List())
       List1.additem "Item #" & List(i)
    next



Creador de BrainMind

engel lex

Perfecto! jajaja no te pude ayudar pero lo pudiste resolver jejeje

si tiense cualquier duda avisa ;)

Saludos
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.