/// <summary>
        /// Procedimiento para comprobar la existencia del archivo de configuracion config.data
        /// Si no existe, se crea si o si ... >:)
        /// </summary>
        public static void configCheck()
        {
            // 1. COMPROBAR EXISTENCIA...
            // 2. SI NO ESTA.. CREARLO:
            // 3. PEDIR LOS DATOS Y GUARDARLOS A OBJETO DatosBase
            // 4. CON LOS DATOS EN EL OBJETO, LO PASAMOS POR EL FILEHELPER PARA GUARDARLO EN BINARIO
            // 5. SALIMOS...

            string pass;    // PARA GUARDAR LA CONTRASEÑA
            bool   salir;   // CONTROL DE SALIDA SI CREACION CORRECTA

            try
            {
                datosBaseBin = new DatosBase(); // REUSAMOS EL OBJETO DEL CONTROLADOR
                salir        = false;           // SETEAMOS SALIR A FALSE

                if (!File.Exists(rutabin))
                {
                    CH.cls();
                    CH.lcdColor("!> ATENCIÓN!!.. NO EXISTE EL FICHERO DE CONFIGURACION!!", ConsoleColor.Red);
                    CH.lcdColor("\ni> VAMOS A CREARLO AHORA... ALMA DEL AMOL HERRMOZO >:) \ni> Y NO TE EQUIVOQUES.... PUES EMPEZARAS DEL PRINCIPIO", ConsoleColor.DarkYellow);
                    do
                    {
                        try
                        {
                            CH.lcd("");
                            pass = CH.leerCadena("CONTRASEÑA DE ACCESO");
                            datosBaseBin.maxhoras        = CH.leerNumero("HORAS MÁXIMAS NOMINA");
                            datosBaseBin.horasbase       = CH.leerNumero("HORAS TOPE SAL. BASE");
                            datosBaseBin.maxeuxhora      = CH.leerCantidad("EUROS MAX. X HORA...");
                            datosBaseBin.preciojoranda   = CH.leerCantidad("PRECIO EUR. JORANDA.");
                            datosBaseBin.incrementoextra = CH.leerCantidad("IMCREMENTO H. EXTRA.");
                            datosBaseBin.impuestos       = CH.leerCantidad("% DE IMPUESTOS......");
                            FH.grabarValoresBinary(rutabin, pass, datosBaseBin.maxhoras, datosBaseBin.horasbase, datosBaseBin.maxeuxhora, datosBaseBin.preciojoranda, datosBaseBin.incrementoextra, datosBaseBin.impuestos);
                            FH.grabarValores(ruta, pass, datosBaseBin.maxhoras, datosBaseBin.horasbase, datosBaseBin.maxeuxhora, datosBaseBin.preciojoranda, datosBaseBin.incrementoextra, datosBaseBin.impuestos);
                            salir = true;
                        }
                        catch (Exception ex)
                        {
                            CH.lcdColor("!> ERROR: " + ex.Message, ConsoleColor.Red);
                            CH.pausa();
                        }
                    } while (!salir);
                }
                else
                {
                    CH.cls();
                    CH.lcdColor("!> FICHERO DE CONFIGURACION LOCALIZADO...", ConsoleColor.Green);
                    CH.pausa();
                }
            }
            catch (IOException ex)
            {
                CH.lcdColor("!> ERROR I/O: " + ex.Message, ConsoleColor.Red);
                CH.pausa();
            }
            //CH.pausa();
        }
        /// <summary>
        /// Procedimiento para modificar los valores de configuración por defecto de las nóminas.
        /// Usa tanto file.io como consosole.writre por lo que lo dejaremos de momento EN EL CONTROLADOR!!!
        /// </summary>
        public static void modificarValores()
        {
            // 1. Listar los valores
            // 2. Elegir uno
            // 3. Modificar pidiendo el nuevo dato

            int  opcion;
            bool salir;
            byte formato;

            salir = false;

            // LOS MODIFICAMOS EN EL OBJETO DIRECTAMENTE

            do
            {
                try
                {
                    InterfazAdministracion.listarDatos(datosBase.maxhoras, datosBase.horasbase, datosBase.maxeuxhora, datosBase.preciojoranda, datosBase.incrementoextra, datosBase.impuestos);
                    opcion = CH.leerOpcionMsg(6, "Introduce el número del valor a modificar");

                    switch (opcion)
                    {
                    case 1:
                        datosBase.maxhoras = CH.leerNumero("NUEVO MAXIMO HORAS");
                        salir = true;
                        break;

                    case 2:
                        datosBase.horasbase = CH.leerNumero("NUEVO HORAS SALARIO BASE");
                        salir = true;
                        break;

                    case 3:
                        datosBase.maxeuxhora = CH.leerFloat("EUROS MAXIMOS POR HORA");
                        salir = true;
                        break;

                    case 4:
                        datosBase.preciojoranda = CH.leerFloat("PRECIO JORNADA");
                        salir = true;
                        break;

                    case 5:
                        datosBase.incrementoextra = CH.leerFloat("FACTOR EXTRA");
                        salir = true;
                        break;

                    case 6:
                        datosBase.impuestos = CH.leerFloat("PORCENTAJE DE IMPUESTOS");
                        salir = true;
                        break;
                    }

                    // LOS VOLCAMOS DEL OBJETO AL FICHERO DE DATOS DE CONFIGURACION.
                    // PEDIMOS EL FORMATO Y USAMOS UNO U OTRO. USA FILEHELPER.CLASS > FH!!
                    formato = FH.pedirFormato();
                    switch (formato)
                    {
                    case (1):       // FORMATO TEXTO
                        FH.grabarValores(ruta, pass, datosBase.maxhoras, datosBase.horasbase, datosBase.maxeuxhora, datosBase.preciojoranda, datosBase.incrementoextra, datosBase.impuestos);
                        break;

                    case (2):       // FORMATO BINARIO
                        FH.grabarValoresBinary(rutabin, pass, datosBase.maxhoras, datosBase.horasbase, datosBase.maxeuxhora, datosBase.preciojoranda, datosBase.incrementoextra, datosBase.impuestos);
                        break;
                    }
                }
                catch (Exception ex)
                {
                    CH.lcdColor("!> ERROR: " + ex.Message, ConsoleColor.Red);
                }
            } while (!salir);
        }