Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2010, 19:56
Avatar de VTacius
VTacius
 
Fecha de Ingreso: junio-2010
Mensajes: 90
Antigüedad: 13 años, 10 meses
Puntos: 2
Compartiendo código: Pequeña base de datos en un array

Básicamente, nace como producto de una tarea, se supone que es como una manera de complicarnos la vida para entrar en el mundo de las bases de datos.

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
  1. Dim nomina(15, cols)
  2. 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:
Ver original
  1. cols = UBound(nomina, 2) + 1
  2. ReDim Preserve nomina(16, cols)
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.
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
  1. dato1 = txt_nombre.text
  2. dato2 = txt_apellido.text
  3. ..
  4. dato13 = txt_Seguro.text

Luego, volcamos las variables en nuestro array

Código VB:
Ver original
  1. nomina(0, cols) = dato1
  2. nomina(1, cols) = dato2
  3. ...
  4. 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

Última edición por VTacius; 03/09/2010 a las 23:22