• Viernes 3 de Mayo de 2024, 06:53

Autor Tema:  Concatenar valores  (Leído 7064 veces)

casi62

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Concatenar valores
« en: Viernes 25 de Septiembre de 2009, 18:45 »
0
Saludos...
Espero no molestar con estas cosas.

Expico mi duda.... Tengo el siguiente codigo... la idea es concatenar el contenido de los textbox en una variable para asi al final tener un arreglo con todos los datos.

Public Function EnvioDatosPruebas()
    Dim i As Integer
    Dim aux As String
    Dim vacio As String
    vacio = ""
        For i = 0 To 3 - 1
            aux = Text1(i).Text  'obtenemos el valor del campo tipo text
            vacio &= aux & ";"                          'La idea es que aqui se concatenen los datos de aux----------->> un equivalante en php es .= para la concatenacion
        Next
        MsgBox vacio                      ' Aqui mostramos el arreglo ya concatenado
End Function

Es decir... tengo 3 text
            Text1(0)  Text1(1)  Text1(2)
Cada uno con sus valores
             5               6                  7
necesito que la variable vacio tengo 5;6;7

Claro esta que de prueba son 3 text pero necesito muchos mas por eso la idea de ponerlo en un arreglo.
Y la idea es no escribir todo esto.... vacio = Text1(0).Text & ";" & Text1(1).Text & ";" & Text1(2).Text & ";"

En espera de su apoyo.. me despido agradeciendo de antemano.... BD

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Concatenar valores
« Respuesta #1 en: Viernes 25 de Septiembre de 2009, 21:56 »
0
En VB no existe el operador &=

Al hacer esto vacio& =
tomara la variable como Long esperando un valor de ese tipo

Código: Visual Basic
  1. vacio& = 10
  2.  

Es equivalente a hacer esto

Código: Visual Basic
  1. Dim Vacio as Long
  2.  
Código: Visual Basic
  1. Dim Vacio&
  2.  

Por lo tanto

Código: Visual Basic
  1. vacio& =  text
  2.  

Produce un error de Conversion de tipo de dato Long = String

Para concatenar hazlo de la siguiente manera

Código: Visual Basic
  1. Function EnvioDatosPruebas()
  2.  Dim txt As Object
  3.  Dim vacio As String
  4.  
  5.  For Each txt In Me.Text1
  6.     vacio = vacio & txt & ";"
  7.  Next
  8.  
  9.  ' Quitar el ; Sobrante
  10.  If Len(vacio) > 1 Then vacio = Mid(vacio, 1, Len(vacio) - 1)
  11.  
  12. EnvioDatosPruebas = vacio
  13. End Function
  14.  

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Concatenar valores
« Respuesta #2 en: Sábado 26 de Septiembre de 2009, 05:18 »
0
Citar
vacio &= aux & ";" 'La idea es que aqui se concatenen los datos de aux----------->> un equivalante en php es .= para la concatenacion

En vb6 tenemos Join, pero sólo se aplica a matrices de cadenas, por lo que para el resto de casos tienes que utilizar el método que indica F_Tanori

Código: Visual Basic
  1.  
  2. Public Function EnvioDatosPruebas()
  3.     Dim vacio As String
  4.     Dim lista(0 To 9) As String, k As Byte
  5.  
  6.    ' recreamos datos para la matriz
  7.     For k = 0 To 9
  8.         lista(k) = CStr(k)
  9.     Next
  10.  
  11.     ' los unimos en una sola cadena con el separador especificado...
  12.     vacio = Join(lista, ";")
  13.     MsgBox vacio
  14.  
  15. end sub
  16.  
  17.  
«Ma non troppo»
----> ModoVacaciones = False<----

casi62

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Concatenar valores
« Respuesta #3 en: Domingo 27 de Septiembre de 2009, 21:28 »
0
Saludos...

Me queda mas que claro el procedimiento a seguir.....

Les agradezco mucho sus atenciones....  :good: