Es casi una tontería, pero bueno, a mi me sirvio y no se a quien más pueda servirle. Lo posteo acá por dos cosas: Una, se que indexa bien y rápido en google, y dos, más de alguien sabrá agregarle ideas buenas.
Como el titulo lo dice, consiste en guardar una seria de datos muchas personas en un array. (Conociendo las limitaciones que habrá)
En visual basic .NET, se que alguien podrá portarlo a otros lenguajes.
1) Definimos la matriz sobre la que vamos a trabajar. La diferencia con un vector radica en que este es de una sola dimensión, mientras que la matriz puede ser multidimensional.
Código VB:
Ver original
Dim nomina(15, cols) Dim cols As Integer = -1
Donde el 15 es el número de datos que vamos a usar, y cols serán los registros que vamos a meter. En base de datos, el orden es inverso en cuanto a la manera en que se entienden campos y registros, pero no se puede de otra forma en visual.
Inicializamos las columnas con -1, ya verán porque.
2) Luego, para agregar datos, o sea, crear un nuevo registro, basta con escribir en el evento de algún objeto (Quizá el click de un button):
Código VB:
Lo que hace es hacer que la variable cols, donde se guardan los registros, aumente en uno más que el total de registros actuales. Por eso inicializamos en +1, para que el primer registro de guarde en 0. La siguiente vez que querramos agregar algo, sumara uno. Ver original
cols = UBound(nomina, 2) + 1 ReDim Preserve nomina(16, cols)
Luego, ReDim se encarga de redimensionar la matriz al nuevo tamaño que la variable cols le confiere.
3) Guardar datos.. Básicamente, solo debes asignar los valores que quieras (por ejemplo, las propiedades de los objetos de un formulario) a alguno de los campos de la matriz. Así
Primero, las guardamos en variables, lo que pudes ser útil para hacer algunas validaciones antes, o si piensas trabajar con propiedades de una clase (Ideas, ideas)
Código VB:
Ver original
dato1 = txt_nombre.text dato2 = txt_apellido.text .. dato13 = txt_Seguro.text
Luego, volcamos las variables en nuestro array
Código VB:
Ver original
nomina(0, cols) = dato1 nomina(1, cols) = dato2 ... nomina(13, cols) = dato13
Fijate que como primero debes hacer "Agregar" antes de "Guardar", entonces cols adquiere un nuevo indice en su segunda dimensión, por lo que el dato anteriormente guardado no se dañara. Si solo quieres Modificar, no hay que dar click en nuevo, es decir, no hay que agregar columnas. Claro, la implementación requiere un juego de habilitacion de objetos y esas cosas.
¿Más? Talvez después suba el resto, que no es mucho. Lo demás fue trabajar con una clase que hacía todos los cálculos.
A ver quien quieres ayudar con ideas nuevas, regaños o cosas por el estilo... Sabiendo de antemano que solo es un pequeña idea para un problema casi insignificante