Problema El subindice esta fuera de intervalo

Iniciado por ninto33, 8 Febrero 2010, 06:02 AM

0 Miembros y 2 Visitantes están viendo este tema.

ninto33

Private Type datos
nombre As String
cara As String
cuerpo As String
pelo As String
inteligencia As String
End Type
Dim juaz As Integer
Dim mayor As Long
Dim personas() As datos
Dim i As Integer
--------------------------------------------------------
Private Sub Command1_Click()
If Text7.Text = "" Then
MsgBox "Por favor ingrese la cantidad de personas a ingresar"
ElseIf Text1.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Then
MsgBox "Complete todos los campos por favor"
Else
juaz = Val(Text7.Text)
For i = 0 To juaz
personas(i).nombre = Text1.Text ------------------------------------------> aka esta el problema
personas(i).cara = Text3.Text
personas(i).pelo = Text4.Text
personas(i).inteligencia = Text5.Text
personas(i).cuerpo = Text6.Text
Next
End If
End Sub


Shell Root

Personas() es una matriz/vector?, de cuantas dimensiones la tienes?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

ninto33

personas() seria infinito , cosa que el usuario la defina. No puedo poner personas(1 to 3) xq nose cuantas personas se introducirian.

ninto33

recien acabo de intentar poniendo 1 to 3 y funciona. Entonces no puedo declararlo infinito?

BlackZeroX

Cita de: ninto33 en  8 Febrero 2010, 06:22 AM
recien acabo de intentar poniendo 1 to 3 y funciona. Entonces no puedo declararlo infinito?

solo de forma indefinida el inficinito ni una pc q conosca llega a tanto a si q ese termino referidoa a una pc no es valido.

Lo puedes declarar de forma indefinida es decir

dim matrix() as tipodato

redim matrix(cantidad)  ' redimenciona y vacia los datos

o

redim preserve matrix(cantidad) ' redimenciona y preserva los datos anteriores de forma intacta

Para eliminar o vaciar por completo usas

erase matrix

Notase que cantidad puede ser un numero 0 hasta X ( 0 to X ) o de Y to X siendo Y<X

Sangrientas Lunas!¡.y
.
The Dark Shadow is my passion.

BlackZeroX

Cita de: Shell Root en  8 Febrero 2010, 06:13 AM
Personas() es una matriz/vector?, de cuantas dimensiones la tienes?

usa una estructura declarada en una matrix
The Dark Shadow is my passion.