• Viernes 29 de Marzo de 2024, 11:14

Autor Tema:  Se Me Ha Olvidado  (Leído 1751 veces)

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Se Me Ha Olvidado
« en: Martes 16 de Enero de 2007, 19:52 »
0
:P  Perdon por esta preguntita pero en realidad no me recuerdo como se hace esto... si yo tengo este string "10,11,120,13" y yo quiero sacar cada parte del string para que quede asi :
"10"
"11"
"120"
"13"
para yo por cada numero y haga un proceso igual pero le envio como parametro el numero que acabo de obtener ... como elaboro ese proceso .... :(
Gracias por la ayuda... :kicking:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



albertovicat

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Se Me Ha Olvidado
« Respuesta #1 en: Martes 16 de Enero de 2007, 20:19 »
0
Si querés hacer un proceso propio tuyo, creo que es un ejercicio interesante. Pero VB6 tiene una función para eso:

Vari = Split("10,11,120,13", ",")

Esto crea un array Vari(0 To 3) que contendrá:

Vari(0) = "10"
Vari(1) = "11"
Vari(2) = "120"
Vari(3) = "13"

El segundo argumento después de la coma que sigue a la comilla doble después del 13, y que está a su vez entre comillas dobles, es la coma que sirve como separador en tu caso. Confunde un poco  <_<  lo de comas y comillas, suponte que tus números estuvieran separados por una x minúscula, entonces sería:

Vari = Split("10x11x120x13", "x") ... creo que ahora se entiende mejor.  :)

Saludos

mamex

  • Miembro activo
  • **
  • Mensajes: 77
  • Nacionalidad: mx
    • Ver Perfil
Re: Se Me Ha Olvidado
« Respuesta #2 en: Martes 16 de Enero de 2007, 20:19 »
0
Hola que tal, mira para poder separar cada elemento, cuya separación es una coma yo desarrollé ésta función, y cada elemento lo mete en un collection, que es lo que te regresa la función. Espero y te sirva.

Código: Text
  1.  
  2. 'De un string, que tiene elementos separados por comas, los saca y los mete en un collection
  3. Public Function separaElementosPorComa(texto As String) As Collection
  4.     Dim inic As Integer, coma As Integer
  5.     Dim a As Collection
  6.     Dim elemento As String
  7.     Set a = New Collection
  8.     inic = 0
  9.     coma = 1
  10.     While coma <> 0
  11.         coma = InStr(inic + 1, texto, ",")
  12.         'Si encontró la coma
  13.         If coma > 0 Then
  14.             elemento = Trim(Mid(texto, inic + 1, coma - inic - 1))
  15.         Else
  16.             elemento = Trim(Mid(texto, inic + 1, Len(texto) - inic))
  17.         End If
  18.         If elemento <> "" Then a.Add elemento
  19.         inic = coma + 1
  20.     Wend
  21.     Set separaElementosPorComa = a
  22. End Function
  23.  
  24.  

A ésta parte no te entendí
Citar
para yo por cada numero y haga un proceso igual pero le envio como parametro el numero que acabo de obtener ... como elaboro ese proceso ....   :(

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Se Me Ha Olvidado
« Respuesta #3 en: Martes 16 de Enero de 2007, 21:36 »
0
Gracias amigos .... me ha servido de mucho con respecto a esto

Código: Text
  1. para yo por cada numero y haga un proceso igual pero le envio como parametro el numero que acabo de obtener ... como elaboro ese proceso ....  
  2.  

esque por cada data que obtenga del string tengo que hacer un rutina que recibira como parametro el dato que estoy obteniendo , y luego obtengo el siguiente dato del string y se lo vuelvo a enviar a la rutina y asi sucesivamente.....  :rolleyes:

Gracias...... :kicking:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



mamex

  • Miembro activo
  • **
  • Mensajes: 77
  • Nacionalidad: mx
    • Ver Perfil
Re: Se Me Ha Olvidado
« Respuesta #4 en: Miércoles 17 de Enero de 2007, 06:50 »
0
Ok, pues ya está fácil, si ocupas mi función lo harias de ésta manera:

Código: Text
  1.  
  2. Private Sub principal()
  3.     Dim elementos As Collection
  4.     Dim elem
  5.     Set elementos = separaElementosPorComa("10,11,120,13")
  6.     For Each elem In elementos
  7.          rutina (elem)
  8.     Next
  9. End Sub
  10.  
  11.  

OJO, al parecer me equivoqué en la línea
Citar
         inic = coma + 1
   Wend
   Set separaElementosPorComa = a
End Function

En vez de ser  
Código: Text
  1.  
  2.        inic = coma + 1
  3.  
  4.  
   
tiene que ser  
Código: Text
  1.  
  2.        inic = coma
  3.  
  4.  

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Se Me Ha Olvidado
« Respuesta #5 en: Miércoles 17 de Enero de 2007, 16:16 »
0
Sip ya lo hice asi ... gracias amigo  :smartass:
 :comp:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa