Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



miércoles, 25 de junio de 2014

Teoría de la Programación Orientada a Objetos


Teoría de la Programación Orientada a Objetos


Leyendo las entradas realizadas por Miguel Ángel Álvarez en http://www.desarrolloweb.com/manuales/teoria-programacion-orientada-objetos.html, he realizado un documento con ellas añadiendo información de como aplicarlo a gambas3, creando un pequeño pdf de 28 páginas que lo podeis descargar en lulu.com, de forma gratuita.





El Indice del documento:

  1. Qué es la programación orientada a objetos
  2. Operador Punto usado en propiedades y métodos
  3. Concepto de herencia en la programación orientada a objetos: un mecanismo básico por el que las clases hijas heredan el código de las clases padre.
    1. Uso Patron “Delegation”
  4. Qué es el polimorfismo en la Programación Orientada a Objetos, el motivo de su existencia y cómo implementar polimorfismo en clases y objetos.
  5. Concepto de abstracción en el paradigma de la Programación Orientada a Objetos y situaciones en las que se puede y se debe aplicar.

Anexo 1: Para Gambas3:  Param y uso en el constructor _new()
Anexo 2: Polimorfismo y Herencia Múltiple: Patrón Adaptador
Anexo 3: Operar con determinados tipos de objetos almacenado  en un array de una clase.
Anexo 4: Super

Espero que os resulte útil.

Descargar


Enlace en google drive: enlace

Saludos


domingo, 22 de junio de 2014

Inputbox Multiple



En gambas3, existe la instrucción inputbox (enlace), que nos permite hacer que el usuario introduzca valores.

Static Function InputBox ( Prompt As String [ , Title As String, Default As String ] ) As String


Os dejo aqui un pequeño código que permite usarlos cuanto necesitamos que el usuario introduzca varios valores (lo he programado para 5 valores)


--

Para llamarlo:

  datos = FormInput.abrir(etiquetas, datos)

Donde:
etiquetas: es un array de cadena, con el texto que debe aparecer en cada etiqueta del inputboxmultiple
datos: es un array de cadena, con los textos iniciales o por defecto que deben de aparecer en los textbox del inputboxmultiple

El método "abrir" devuelve un array de cadenas, que lo asignamos al array de cadenas.

Ejemplo de uso:

--

Descargar


Saludos

sábado, 21 de junio de 2014

Generador Automático de Excusas Técnicas

En g+ he visto un divertido recorte sobre un generador autómatico de excusas técnicas:




Pues aqui teneis el programa que os da automaticamente la excusa:






Descargar instalador .deb y código fuente



Espero que no tengais que usarlo mucho :)


martes, 17 de junio de 2014

Juego Snake: Controla dos serpientes a la vez!!!!



 Juego Snake: 

Controla dos serpientes a la vez!!!!


Bueno, pues os traigo otro juego cĺásico.... el Snake, un poco modificado, ya que teneis que controlar dos serpientes a la vez!!



Como veis, teneis dos tableros con una serpiente en cada uno, y vuestro objetivo será comer la fruta (cuadrado naranja), y asi crecer, ¡¡ pero no salios del tablero ni tropeceis con el cuerpo de la serpiente!!!

Controles:
Para cambiar de tablero, podeis hacer click en el tablero que querais controlar o pulsar en los radioboton, y para mover la dirección de la cabeza de la serpiente, podeis usar las teclas del cursor o los botones con flechas... es juego es fácil, pero manejar las dos serpientes es complicado!!!


A nivel de programación, es muy simple usando programación orientada a objetos, el código lo podeis tambien descargar ¡¡¡es softwarelibre!!!


Descargar









domingo, 15 de junio de 2014

Simon: versión infantil del juego Simón.

Simon: versión infantil del juego Simon.


A partir de un código de Miguel Hernandez (enlace), he hecho esta versión para niños del juego simon.

Por si no lo conoceis, el juego consiste en que el ordenador hará varios sonidos y tendreis que repetirlo en el mismo orden. La dificultad estará en que cada nivel se añade un nuevo sonido.







Espero que os guste:




lunes, 9 de junio de 2014

Seguimiento de #cuotas de #apuestas encuentro de #tenis: #Open de #Francia #Roland #Garros #Nadal #Djokovic

Seguimiento de cuotas de apuestas encuentro de tenis: Open de Francia Roland Garros Nadal Djokovic



Este domingo, se jugó la final del Roland Garros entre Nadal y Djokovic.

Os paso como la evolución de las cuotas en vivo (live) de Willian Hill, durante el partido:




El inicio del encuentro, las cuotas eran favorables para el español:
Nadal: 1.61
Djokovic: 2.20

Durante el primer set, casi todo el tiempo Djokovic estuvo por encima de Nadal, en la cuotas:


Al terminar el 1º set, con la victoria de Djokovic del set,  se igualaron:
Nadal: 1.95
Djokovic: 1.80

El segundo set, con las cuotas de Nadal casi siempre estuvieron por encima del Djokovic.

En el 3º set, se empezó a ver que Nadal se decantaba como favorito:


Y ya en el cuarto set, las cuotas de Nadal nunca superaron los 1.30, consiguiendo la victoria del encuentro:



Marcador final del partido:




Saludos


















jueves, 5 de junio de 2014

Código de Ejemplo de: INSERTAR, EDITAR, BORRAR Y BUSCAR en una base de datos


Un ejemplo completo de insertar, editar, borrar y buscar en una base de datos


En el curso de gambas3 (que es de acceso gratuito) añadí bastantes ejemplos para explicar los diversos controles, funciones, etc usando gambas3.  Uno de los ejemplos que creo que es más útil es este, donde hacemos lo básico con una base de datos: añadir, editar, borrar y buscar registros, y todo ello de modo visual, usando formularios, menús y botones. En este caso usaba SQLite3

Puede ser de mucha utilidad para los que deseen desarrollar aplicaciones en modo visual, para sus bases de datos y deseen conocer como hacerlo con gambas3.

Si no se sabe nada de programación, es muy recomendable que estudies el curso (que es de acceso gratuito) y no empecéis con  bases de datos antes de conocer  el lenguaje. En fin, lo que siempre se dice: no se empieza la casa por el tejado.

A continuación el programa:

En este este programa vamos a poder insertar, editar, borrar y realizar busquedas en una base de datos llamada "DatosEjemplos",  que tiene una tabla llamada "Personas".
Los campos de esta tabla son: nombre, apellidos, edad y la fecha de nacimiento

La estructura del proyecto es la siguiente:


Código fuente:
Modulo ModComun:
-

-

Módulo fuente:
FormMostrarResultados
-

-

Módulo fuente:
Fmain:
-

-

Ejemplo de la aplicación funcionando:

Varias cosas a comentar:
1) El propio programa tiene la base de datos internamente, que la copia al directorio  User.home &/ ".ejemploBD"  si no la encuentra en el disco duro.
2) Si pulsáis  el botón derecho del ratón en alguna fila del ColumView, tendréis acceso al menú popup :"Editar/Borrar/Filtrar/Quitar Filtro"

3) Se han usado los métodos de la clase connection para editar, insert, borrar y filtrar información. También se podía haber echo con sentencias SQL y usando el método .Exec()

4) El esquema de la tabla Personas:
El campo Id es una llave primaria integer, la cual se autoenumera cuando le damos valor Null.

5) Las fechas se guardan internamente en la base de datos en el formato mes/dia/año, por eso para mostrarlas en el columnview uso el formateo  "dd/mm/yyyy".
Para mostrarla en el formulario Fmain (añade o edita registros), al usar un DateBox, automáticamente se formatea correctamente.

enlace de descarga: archivo alojado en Box.com

Documentación Oficial:





Fuentehttp://cursogambas.blogspot.com.es/2013/07/conexiones-y-resultados.html