Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: petpan13 en Marzo 16, 2015, 12:41:56 PM

Título: como hacer base de datos tipo ficha de empleados y poder guardarlos
Publicado por: petpan13 en Marzo 16, 2015, 12:41:56 PM
Bueno mi pregunta es como hacer un botón q ponga nuevo empleado
Entra en una pantalla q pide dato y eso pero como hago para que cree una variable q seris el empleado y subvariables q serian datos personales d tal forma q saleran botones con nombres de empleados cliquaras y entrara en los datos gracias d antemano
Título: Re:como hacer base de datos tipo ficha de empleados y poder guardarlos
Publicado por: Iros en Marzo 16, 2015, 02:05:12 PM
¿Has considerado usar arrays del tipo variable[x,y,z] (por dar un ejemplo)?.

Te quedaría algo así:

[gml]global.empleado[0,0] = "Fulanito de Tal"; //Nombre y apellido.
global.empleado[0,1] = "Gerente General"; //Ocupación.
global.empleado[0,2] = "60.000"; //Sueldo.
...
global.empleado[0,n] = "Dato cualquiera";[/gml]
Título: Re:como hacer base de datos tipo ficha de empleados y poder guardarlos
Publicado por: Marth en Marzo 16, 2015, 04:31:30 PM
Como puedes ver, GM no dispone de un sistema de registro de datos, por lo que una matriz usando X como indice e Y como variable es lo más practico.
Título: Re:como hacer base de datos tipo ficha de empleados y poder guardarlos
Publicado por: petpan13 en Marzo 16, 2015, 10:16:14 PM
Si es una idea para globalizar datos pero como ago para q al clickear
Cree una variable glogal con arrays sin tenerlas predefinidas o¿si quiero tener 100 empleados registrados tengo q definir las 100 variables globales previamente?
Título: Re:como hacer base de datos tipo ficha de empleados y poder guardarlos
Publicado por: Iros en Marzo 16, 2015, 11:17:53 PM
La verdad nunca he trabajado con tantos arrays en :GMS: pero en :GM8: lo que yo hacía era crear los arrays mediante un for en el evento Create, quizás en :GMS: ya es más como en el resto de los lenguajes que deja crear n arrays en una única línea colocando: global.empleado = [];, la verdad esa forma nunca la he probado, pero si GML está basado en C++ tendría que poderse.
Título: Re:como hacer base de datos tipo ficha de empleados y poder guardarlos
Publicado por: penumbra en Marzo 17, 2015, 12:07:01 AM
Cita de: petpan13 en Marzo 16, 2015, 10:16:14 PM
¿si quiero tener 100 empleados registrados tengo q definir las 100 variables globales previamente?
Esto se puede hacer, pero a mi me parece que no es nada conveniente. Un solo arreglo bidimensional puede contener todos los datos de esos 100 empleados, lo cuál sería más parecido a una base de datos que tener 100 arreglos "dispersos". Cuando se trata de arreglos bidimensionales, a mi me gusta definir varios elementos en un mismo renglón del editor, de manera que se asemeje a la estructura de una tabla (No es que así deba ser, pero me ayuda a visualizar mejor la estructura 'lógica' del arreglo).

Ejemplo: Cada renglón del arreglo repesentaría a un empleado, cada columna de ese arreglo representaría un dato en particular (campo) del empleado en cuestión.

[gml]
//++++++ NOMBRE ++++++||++++++ DEPARTAMENTO ++++++++||++++ EDAD +++++|| ++++ SUELDO +++++||
empleados[0,0] = Pancho Lopez;  empleados[0,1] = "Depto. de Sistemas";  empleados[0,2] = 30;  empleados[0,3] = 4000
empleados[1,0] = Chucho Perez;  empleados[1,1] = "Recursos Humanos";  empleados[1,2] = 40;  empleados[1,3] = 3500
[/gml]

Y sólo se declararía la variable empleados como global (aunque no es necesario que sea global). El inconveniente de este método es que el arreglo no es dinámico, por lo que si el arreglo se llena, ya no es posible agregar más empleados. Tampoco es posible eliminar filas/columnas del arreglo (sólo limpiarlas). Creo que hay una extensión/dll que permite usar bases SQL en GMS. Esa sería la opción más eficaz de manejar una base de datos.