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
Personas() es una matriz/vector?, de cuantas dimensiones la tienes?
personas() seria infinito , cosa que el usuario la defina. No puedo poner personas(1 to 3) xq nose cuantas personas se introducirian.
recien acabo de intentar poniendo 1 to 3 y funciona. Entonces no puedo declararlo infinito?
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
.
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