Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Array: pasar parametros

Estas en el tema de Array: pasar parametros en el foro de Visual Basic clásico en Foros del Web. Hola tengo un problema en VB 6 porque pero soy nuevo en VB, asi que tengo varios problemas, que alguno de ustedes me podra ayudar ...
  #1 (permalink)  
Antiguo 03/09/2008, 20:33
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Array: pasar parametros

Hola tengo un problema en VB 6 porque pero soy nuevo en VB, asi que tengo varios problemas, que alguno de ustedes me podra ayudar a resolver.
Hice un pequeño programa que lee datos de algunos txt. Cada uno de estos txt los tengo que guardar en distintas matrices. Como se repetia bastante el codigo ya que son como 6 txt me parecio mejor hacer en una SubRutina pero me encuentro con el problema que no se pasar los parametros, como para que solo llame al proceso, me guarde la matriz y me la devuelva cargada. Asi con 6 serian 6 matrices. No se donde tengo que declarar las matrices si fuera o dentro de la rutina o en programa principal. Ahi dejo la rutina que hice. Y no creo que este bien la declaracion de las variables. Si alguien me pude dar una mano yo agradecido. Saludos


archivo="c:\stock.txt"


Private Sub LeerStock(u As String, k As String, qa As String, ulinea As String)
'Stock de Discos'
sArchivo = "archivo"
Open sArchivo For Input As #2
Do While Not EOF(2)
Line Input #2, ulinea
u = Split(ulinea, vbTab)
agregarceros u(0)
qa = qa + 1
k(qa, 0) = u(0) 'Numero de Juego"
k(qa, 1) = u(1) 'Cantidad'
k(qa, 2) = u(2) 'infinito'
k(qa, 3) = u(3) 'idioma'
k(qa, 4) = u(4) 'remplazo'
Loop
MsgBox k(qa, 0)
End Sub
  #2 (permalink)  
Antiguo 04/09/2008, 02:34
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: Array: pasar parametros

Hola, lo que puedes hacer es crear una función que devuelva la matriz:

Código:
Public Function CargarArray(ByVal sArchivo As String) As String()
Dim a() As String, b() As String, sLinea As String, i As Integer
ReDim b(0)
Open sArchivo For Input As #1
Do While Not EOF(1)
    Line Input #1, sLinea
    a = Split(sLinea, vbTab)
    For i = 0 To UBound(a)
        b(UBound(b)) = a(i)
        ReDim Preserve b(UBound(b) + 1)
    Next i
Loop
' eliminamos el último elemento que está vacío
ReDim Preserve b(UBound(b) - 1)
Close #1
CargarArray = b
End Function
y para llamarla le pasas como parámetro el archivo .txt:

Código:
Dim MiArray() As String
MiArray = CargarArray("c:\stock.txt")
Lo puedes mejorar pasándole un segundo parámetro con el separador de campos que tenga el archivo (coma, punto y coma, tabulador, espacio, etc..) y así serviría para cualquier tipo de archivo.


  #3 (permalink)  
Antiguo 05/09/2008, 09:59
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Array: pasar parametros

Gracias me sirvio de mucho. Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:40.