Una aplicación desde cero. .-Presentación - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Otros (https://gambas-es.org/forum-18.html) +--- Foro: Videotutoriales (https://gambas-es.org/forum-20.html) +--- Tema: Una aplicación desde cero. .-Presentación (/thread-1668.html) |
Una aplicación desde cero. .-Presentación - Shordi - 18-04-2024 Acabo de subir la primera parte, la presentación, de una serie de video-tutoriales que tengo planeada sobre "Cómo hacer una aplicación "profesional" desde cero con Gambas3". La idea es dar un ejemplo de cómo se pueden integrar todas esas cosas que vemos en los tutoriales esparcidos por esos mundos de dios en un sólo programa coherente. El programa se supone que sirve para controlar un pequeño restaurante y la idea es aplicar todo lo que se ha hablado por ahí pero que nunca se ha visto junto, a saber: -Configuraciones con gbSettings -Creación y manejo de Bases de datos (sqlite en este caso) -Controles auto-adaptables a los tamaños de pantalla -Copias de seguridad -Y muchas cosas más que la mnemo-decadencia no me deja escribir ahora. Las siguientes entregas de la serie las iré comunicando en éste hilo para no hacerme tan pesado. La primera es sólo la declaración de intenciones. Saludos RE: Una aplicación "profesional" desde cero con Gambas3 - guizans - 18-04-2024 Vídeos como el tuyo es lo que hace falta. Esperando el segundo vídeo. Un saludo. RE: Una aplicación "profesional" desde cero con Gambas3 - tincho - 19-04-2024 Siempre es enriquecedor ver tus videos, así que muchas gracias por preparar este material y compartirlo. Te paso algo de feedback. Configuraciones: Si bien la clase Settings hace su trabajo bastante bien, esta adolece de algunos problemas, por ejemplo si una variable es cero o nula la borra del archivo de configuraciones que es de tipo .ini (bastante obsoleto ya) luego no permite el uso del operador punto para recuperar o alterar los parámetros. En su lugar sugiero que usar la clase Config que usa un archivo tipo JSON, mas moderno y que permite que se construyan formularios de edición de la configuración de forma sencilla. Clase config Código: ' Gambas class file Luego en el formulario principal hay que iniciar la clase y cargar la configuración del archivo. Código: '' Startup the config environment data Código: Config.Save(Config.Depot) ' Config.Depot es la ruta al arcuvo cargada al inicio, reconozco que esto podría mejorarse y ser un parametro opcional que este definido al pincipio y luego no sea necesario especificarlo cada vez. o tal vez que la misma clase guarde cada cambio instantáneamente. Código: Config.NombreDeLaVariable RE: Una aplicación "profesional" desde cero con Gambas3 - Shordi - 19-04-2024 Cita:Configuraciones: Si bien la clase Settings hace su trabajo bastante bien, esta adolece de algunos problemas, por ejemplo si una variable es cero o nula la borra del archivo de configuraciones que es de tipo .iniCierto, pero eso se suple vía código dándole el parámetro por defecto. Supón un campo booleano [code] vBool tomará el valor que haya en el el archivo settings o True si es que no existe en él. La única desventaja es que Settings no sirve como archivo de intercambio entre aplicaciones distintas, cosa que json sí, pero ese no es el objetivo de la clase y para los efectos de almacenar configuraciones es perfecto. Por otra parte, Settings se integra en nuestro programa "silenciosamente" es decir, si tengo que seguir el código línea a línea y soy un novato, ese código avanzado que añades es un lío. De todas formas esa clase que adjunta, y que ya conocía, es genial y la uso en algún que otro programita mío. Muchas gracias por el interés. Saludos RE: Una aplicación "profesional" desde cero con Gambas3 - tincho - 19-04-2024 (19-04-2024, 12:41)Shordi escribió: Por otra parte, Settings se integra en nuestro programa "silenciosamente" es decir, si tengo que seguir el código línea a línea y soy un novato, ese código avanzado que añades es un lío. De todas formas esa clase que adjunta, y que ya conocía, es genial y la uso en algún que otro programita mío. Muchas gracias por el interés. No estoy de acuerdo en que la clase config agregue complejidad que el usuario "novato" no sepa manejar. Porque justamente la clase oculta toda la complejidad dentro de la clase y permite acceder a las variables que esta contiene con el operador punto. De verdad esto es mas complejo Código: vBool = Config.valBool Que esto otro ? Código: vBool = Setting["General/valBool",True] Al usar el operador punto, el programador (novato y el experimentado también) no cometerá ningún error al escribir, ya que la selecciona de una lista, en cambio en Settings puede escribir mal el nombre de la entrada y el código ni se entera. Por ejemplo si luego de varios meses ese programador retoma el código y escribe "general/valBool" en lugar de "General/valBool" existirán dos valores revoloteando por el código haciendo que este se comporte de forma impredecible. Coincido en que Settings es mas fácil de implementar pero es para programas sencillitos y pequeños. Si quieres hacer un programa "Profesional" lo adecuado es usar JSON es decir la clase Config, que es mejorable por supuesto pero mejor y mas segura en cuanto al tratamiento de los datos. Otra ventaja de Config es que todas las variables están en un solo lugar y no desperdigadas por todo el Código. |