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

[SOLUCIONADO] Introducir valores en un array

Estas en el tema de Introducir valores en un array en el foro de Visual Basic clásico en Foros del Web. Hola, He creado el siguiente array. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código vb: Ver original Dim arraygmn(0, 0) As String Y necesito rellenar los valores de ese array ...
  #1 (permalink)  
Antiguo 02/10/2013, 08:51
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
Introducir valores en un array

Hola,

He creado el siguiente array.
Código vb:
Ver original
  1. Dim arraygmn(0, 0) As String

Y necesito rellenar los valores de ese array con el contenido de otro array que tiene estos valores: gmn(0), gmn(1),gmn(2) y gmn(3)

Tengo un contador que en un principio es cont = 0. Lo que necesito es ir guardando los valores que van cambiando de gmn(0), gmn(1),gmn(2) y gmn(3) en el arraygmn.

para ello he hecho un while en el que hago un redim para dar una nueva dimension al arraygmn.

Lo he hecho de esta forma:
Código vb:
Ver original
  1. While contador < lineas.Count
  2.     ReDim arraygmn(iContadorLineasSolicitudPM, 3)
  3.     'ir añadiendo los valores al arraygmn
  4.    contador = contador + 1

Quiero saber, por una parte, si asi estoy haciendo bien mi arraygmn que se que siempre va a tener 4 columnas pero no se la cantidad de filas que va a tener y por otra parte como meter los valores en el arraygmn

__________________
Gracias por todo;

Un saludo
  #2 (permalink)  
Antiguo 02/10/2013, 14:10
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 8 meses
Puntos: 29
Respuesta: Introducir valores en un array

Creo que lo que intentas es algo asi:

Código vb:
Ver original
  1. Dim arraygmn() As String ' nuestro array
  2.  Dim Contador As Long ' para contar las lineas
  3.  Dim iContadorLineasSolicitudPM As Long ' para redimensionar el array
  4.  
  5.  
  6.   iContadorLineasSolicitudPM = - 1 ' ponemos el contador a - 1
  7.  
  8.  
  9.   ' uso 2 contadores diferentes porque no se lo que intentas
  10.  ' pero igual podria ser el mismo
  11.  
  12.   Contador = 0
  13.  
  14.   Do While contador < lineas.Count  ' mientras haya lineas
  15.  
  16.     ' creamos un nuevo elemento
  17.    iContadorLineasSolicitudPM = iContadorLineasSolicitudPM + 1
  18.     ' lo creamos con preserve para mantener lo que ya habia
  19.    ReDim Preserve arraygmn(iContadorLineasSolicitudPM, 3)
  20.  
  21.     ' guardamos los 4 valores
  22.      arraygmn(iContadorLineasSolicitudPM, 0) = gmn(0)
  23.       arraygmn(iContadorLineasSolicitudPM, 1) = gmn(1)
  24.       arraygmn(iContadorLineasSolicitudPM, 2) = gmn(2)
  25.       arraygmn(iContadorLineasSolicitudPM, 3) = gmn(3)
  26.  
  27.  
  28.     contador = contador + 1
  29.  
  30.     'lo que no tengo claro es como cargas la matriz gmn y si
  31.    'tiene siempre los mismos valores, porque no se recarga.
  32.  
  33.   Loop




Suerte
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 02/10/2013 a las 14:18
  #3 (permalink)  
Antiguo 03/10/2013, 00:21
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
Respuesta: Introducir valores en un array

Cita:
Iniciado por pkj Ver Mensaje
Creo que lo que intentas es algo asi:

Código vb:
Ver original
  1. Dim arraygmn() As String ' nuestro array
  2.  Dim Contador As Long ' para contar las lineas
  3.  Dim iContadorLineasSolicitudPM As Long ' para redimensionar el array
  4.  
  5.  
  6.   iContadorLineasSolicitudPM = - 1 ' ponemos el contador a - 1
  7.  
  8.  
  9.   ' uso 2 contadores diferentes porque no se lo que intentas
  10.  ' pero igual podria ser el mismo
  11.  
  12.   Contador = 0
  13.  
  14.   Do While contador < lineas.Count  ' mientras haya lineas
  15.  
  16.     ' creamos un nuevo elemento
  17.    iContadorLineasSolicitudPM = iContadorLineasSolicitudPM + 1
  18.     ' lo creamos con preserve para mantener lo que ya habia
  19.    ReDim Preserve arraygmn(iContadorLineasSolicitudPM, 3)
  20.  
  21.     ' guardamos los 4 valores
  22.      arraygmn(iContadorLineasSolicitudPM, 0) = gmn(0)
  23.       arraygmn(iContadorLineasSolicitudPM, 1) = gmn(1)
  24.       arraygmn(iContadorLineasSolicitudPM, 2) = gmn(2)
  25.       arraygmn(iContadorLineasSolicitudPM, 3) = gmn(3)
  26.  
  27.  
  28.     contador = contador + 1
  29.  
  30.     'lo que no tengo claro es como cargas la matriz gmn y si
  31.    'tiene siempre los mismos valores, porque no se recarga.
  32.  
  33.   Loop




Suerte

Esto es lo que necesito, gracias. El contador es el mismo así que lo único que he cambiado es el nombre de este y ya esta.
Muchas gracias.

Ahora tengo otra duda, necesito guardar en el mismo Do While el contenido de otros arrays en otros, es decir, tengo estos valores uom(0), uom(1) y uom(2). Estos necesito guardarlos en 3 arrays diferentes arr1, arr2 y arr3 que los he declarado de esta forma:
Código vb:
Ver original
  1. Dim arr1() As STring
  2. Dim arr2() As STring
  3. Dim arr3() As STring
  4. Do While contador < lineas.Count  ' mientras haya lineas
  5.   Redim Preserve arr1
  6.    Redim Preserve arr2
  7.    Redim Preserve arr3
  8.    arr1(contador) = uom(0)
  9.    arr2(contador) = uom(1)
  10.    arr2(contador) = uom(2)
  11.    contador = contador +1
  12. Loop
Lo que no se es como ir redimensionando los arrays.

Gracias por la solución y los comentarios del código anterior, me ha servido de gran ayuda
__________________
Gracias por todo;

Un saludo
  #4 (permalink)  
Antiguo 03/10/2013, 02:06
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 8 meses
Puntos: 29
Respuesta: Introducir valores en un array

Inclui los comentarios porque veo que estas muy verde y de este modo te sirve de aprendizaje :P

El sistema es el mismo que en el otro codigo:

Código vb:
Ver original
  1. 'Creas las matrices
  2. Dim arr1() As String 'En ese momento la matriz no tiene elementos que puedas usar
  3. Dim arr2() As String
  4. Dim arr3() As String
  5.  
  6. Contador=-1
  7. 'Fuera del While ponemos el contador a -1 para poder aumentarlo +1 antes
  8. 'de crear cada elemento de las matrices.
  9. 'De este modo cuando salgas del bucle no te sobran elementos en la matriz
  10.  
  11. 'Dentro del while...
  12. Do While.....
  13. Contador=contador +1   ' ahora (la primera vuelta) el contador vale 0
  14.  
  15. Redim Preserve Arr1(contador) ' y creamos el primer elemento de cada matriz
  16. Redim Preserve Arr2(contador) ' preservando los que ya guardaba (las siguientes vueltas, claro)
  17. Redim Preserve Arr3(contador)
  18.  
  19. 'Los cargamos
  20. Arr1(Contador)=uom(0)
  21. Arr2(Contador)=uom(1)
  22. Arr3(Contador)=uom(2)
  23.  
  24. ' y a por otro
  25. Loop

Espero que te sirva de ayuda. (esta vez no lo he probado, supongo que estara bien)

Saludos

EDITO:
Lo corrijo, estaba usando mal las matrices para lo que tu quieres.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 03/10/2013 a las 02:12
  #5 (permalink)  
Antiguo 03/10/2013, 08:04
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
Respuesta: Introducir valores en un array

Cita:
Iniciado por pkj Ver Mensaje
Inclui los comentarios porque veo que estas muy verde y de este modo te sirve de aprendizaje :P

El sistema es el mismo que en el otro codigo:

Código vb:
Ver original
  1. 'Creas las matrices
  2. Dim arr1() As String 'En ese momento la matriz no tiene elementos que puedas usar
  3. Dim arr2() As String
  4. Dim arr3() As String
  5.  
  6. Contador=-1
  7. 'Fuera del While ponemos el contador a -1 para poder aumentarlo +1 antes
  8. 'de crear cada elemento de las matrices.
  9. 'De este modo cuando salgas del bucle no te sobran elementos en la matriz
  10.  
  11. 'Dentro del while...
  12. Do While.....
  13. Contador=contador +1   ' ahora (la primera vuelta) el contador vale 0
  14.  
  15. Redim Preserve Arr1(contador) ' y creamos el primer elemento de cada matriz
  16. Redim Preserve Arr2(contador) ' preservando los que ya guardaba (las siguientes vueltas, claro)
  17. Redim Preserve Arr3(contador)
  18.  
  19. 'Los cargamos
  20. Arr1(Contador)=uom(0)
  21. Arr2(Contador)=uom(1)
  22. Arr3(Contador)=uom(2)
  23.  
  24. ' y a por otro
  25. Loop

Espero que te sirva de ayuda. (esta vez no lo he probado, supongo que estara bien)

Saludos

EDITO:
Lo corrijo, estaba usando mal las matrices para lo que tu quieres.
GRACIAS!!!!

Asi si se puede aprender.

Muchas gracias por todo.

__________________
Gracias por todo;

Un saludo

Etiquetas: ado, introducir
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 23:01.