-->

Menú principal

sábado, 17 de marzo de 2018

Como ejecutar el entorno de programación Gambas desde Windows 10

En este artículo voy a contar mi experiencia con la instalación de Gambas en Windows 10

Como ya sabéis podemos instalar desde la tienda de Windows Store la aplicación Ubuntu que instala una terminal Bash desde la que podemos ejecutar cualquier comando de Linux. En realidad en un sistema Linux básico sin entorno gráfico. Es una herramienta para desarrolladores y también para curiosos que quieran investigar el comportamiento de Linux dentro de Windows.



Ubuntu en Windows permite ejecutar una serie de comandos como: bash, ssh, apt, etc. Es decir todos los comandos de consola de Ubuntu. Una vez instalado la terminal tiene el siguiente aspecto:


En principio pensé que esto no tenía ninguna utilidad, ya que solo disponía de una terminal de comandos. No tenía toda la potencia de Linux sobre el escritorio de Windows, no podía ejecutar el entorno gráfico de Linux (X11) ni aplicaciones gráficas. Pensé que era algo rudimentario y que no merecía la pena, ya que dispongo de un sistema de arranque dual con la última versión de Ubuntu y Windows 10. ¿Para qué quería usar la consola de Ubuntu en Windows, si yo lo que quería era ejecutar aplicaciones Gambas en Windows?

Pero después investigando me entero de que alguien ha conseguido ejecutar el entorno gráfico de Linux en un sistema con windows. Para ello es necesario instalar varias aplicaciones. Bueno pues me pongo manos a la obra, a ver si consigo instalar aplicaciones gráficas con estas herramientas.

En primer lugar tenemos que instalar "Xming". ¿Pero qué es Xming?

Xming es una implementación portátil del sistema de ventanas X para sistemas operativos Microsoft Windows XP, 2003, Vista, windowa 7, 8 y por tanto también Windows 10.
Xming parece que mejora las características CygWin, ya que no requiere el uso de librerias o bibliotecas CygWin.
Xming se usa en implementaciones de Secure Shell (SSH) para asegurar sesiones X11 en otras computadoras. Soporta PuTTY y ssh.exe, y tiene una versión de PuTTY's plink.exe.

Parece que Xming es un entorno de ventanas o servidor gráfico X para windows. Pues procedo a instalarlo desde la página oficial del proyecto en SourceForge:



Tiene todas las funciones, es pequeño y rápido, fácil de instalar y porque es independiente de Microsoft Windows nativo, se hace fácilmente portátil (no necesita una instalación específica de la máquina).

Pero nos hace falta otra aplicación para tener el juego completo y ejecutar aplicaciones gráficas en Windows. Necesitamos también PuTTY. ¿Pero qué es PuTTY?PuTTY es un cliente ssh y telnet que nos da acceso a una consola dentro del servidor. Combinando ambas aplicaciones (Xming+PuTTY) podremos iniciar aplicaciones gráficas de Linux en Windows de una manera bien sencilla. Nos permite conectarnos a servidores remotos iniciando una sesión en ellos para ejecutar comandos.


Vamos a instalar PuTTY desde su página oficial:



Ya tenemos PuTTY instalado. Ahora hay que ejecutarlos y configurarlos. Primero ejecutamos Xming:

Después ejecutamos PuTTY y nos aparece la siguientes ventana donde tenemos que introducir la dirección IP del ordenador al que nos vamos a conectar, en mi caso es la IP de mi equipo con Windows. Para saber mi IP ejecuto el comando "ifconfig" desde la terminal de Ubuntu.
En el menú lateral de la izquierda en la pestaña "Session", donde dice IP Adress o Host name ponemos la IP de nuestro equipo. Luego nos vamos a la pestaña "Connection" y dentro de ésta seleccionamos SSH y dentro de ésta "X11". Activamos la casilla "Enable X11 forwarding", y en "X display location" ponenos la IP de nuestro equipo de nuevo. Podemos guardar la configuración y pulsamos el botón "Open". Nos aparece lo siguiente:
Ya podemos ejecutar aplicaciones gráficas. Probamos con Xclock. Si nos da el mensaje de error "Can't open display", ejecutamos el siguiente comando en la consola de Ubuntu: export DISPLAY=192.168.1.108:0.0, en el que hay que poner la IP correspondiente a nuestro equipo. Ejecutamos de nuevo Xclock y vemos que se nos abre la ventana con el reloj. Ya podemos ejecutar aplicaciones gráficas.
Aquí tenemos el entorno de programación de Gambas versión 3.8.4 ejecutándose sobre Windows 10. Para ello desde la consola de Ubuntu ejecutamos el comando "gambas3".


Podemos abrir aplicaciones existentes o crear nuevas aplicaciones. También podemos ejecutar aplicaciones compiladas en Gambas, sin necesidad de abrir el entorno de Gambas.

También podemos lanzar la aplicación "Synaptic", el instalador de paquetes de Linux, lo cual nos permite instalar en nuestra distribución "Ubuntu on Windows" innumerables paquetes de software.
Aquí tenemos el gestor de paquetes Synaptic ejecutándose sobre Windows. Para ello solo tenemos que teclear el comando "synaptic" en la terminal de Ubuntu. En caso de no estar instalado el paquete nos dice como debemos instalar la aplicación usando el comando "apt install".


Aquí tenemos el explorador de ficheros PCManFM versión 1.2.4 accediendo a los archivos del disco duro local C:/, lo cual nos permite abrir múltiples ventanas de para ficheros de hoja de cálculo xls, ods, documentos pdf, ficheros de audio, vídeos, etc.


PCMan File Manager (PCManFM) es una aplicación de gestión de archivos desarrollado por Hong Jen Yee de Taiwán, que pretende ser un sustituto de Nautilus, Konqueror y Thunar. Esta aplicación tiene una apariencia similar al explorador de ficheros de Windows. 
Gambas nos permite crear ejecutables de los programas que desarrollamos. Estos programas ejecutables se guardan desde el menú "Proyect", opción "Make" ---> "Executable". Genera un fichero con el nombre que le hemos dados a la aplicación con la extensión ".gambas". 

¿Como podemos ejecutar estos ficheros ejecutables sin necesidad de arrancar el entorno Gambas?
Tenemos varias opciones:
1.- Desde la terminal de Ubuntu ejecutamos el comando: gbx3 Fechas

El comando gbx3 lanza el intérprete que permite ejecutar aplicaciones Gambas compiladas. El comando tiene una serie de opciones o parámetros, entre ellas gbx3 -V, que nos permite ver la versión de Gambas que está instalada. Para ello debemos estar situados justo encima del directorio de la aplicación. Siendo Fechas el directorio donde están todos los ficheros del proyecto o aplicación que hemos desarrollado en gambas. Nos aparece esto:



2.- Desde la terminal de Ubuntu ejecutando el comando: ./Fechas.gambas
Para ellos tenemos que entrar en el directorio Fechas donde está la aplicación generada con make que es el fichero ejecutable "Fechas.gambas".


Hay un gran diferencia entre estos dos comandos. El primero (gbx3) ejecuta el código de la aplicación en desarrollo, es decir la versión actual con las últimas modificaciones. Y el segundo comando (./Fechas.gambas) ejecuta la aplicación compilada en su momento con make executable, que no tiene porqué coincidir con el desarrollo actual de la aplicación. El comando gbx3 no necesita entonces que exista un fichero ejecutable en el directorio del la aplicación ya que usará directamente los ficheros código fuente generados en el directorio, que no son visibles en un gestor de ficheros, pero si los podemos ver desde la terminal tecleando el comando "ls -la".

3.- La tercera forma de ejecutar una aplicación gambas es desde un gestor o explorador de archivos como PCManFM. Para ello tenemos que seleccionar el fichero ejecutable de Gambas y pulsar con el botón derecho del ratón, entrar en propiedades y marcar la opción para permitir ejecutar el fichero como un programa. En mi caso, al hacer doble click sobre el fichero ejecutable me aparece una ventana que me dice si quiero ejecutar el fichero como una aplicación.



Otra interesante aplicación que podemos ejecutar es LibreCAD mediante el comando "librecad" desde la terminal de Ubuntu. Aquí podemos ver la aplicación en ejecución en su última versión:




lunes, 12 de marzo de 2018

Tecnología 4º ESO - Tema 3.- Tecnologías de la comunicación - Cuestionario

CUESTIONARIO DEL TEMA 3.- TECNOLOGÍAS DE LA COMUNICACIÓN

Realiza el siguiente cuestionario, buscando las respuestas en la entrada del blog de este tema y en Internet. Una vez realizado envíalo por email o súbelo a la Moodle del  Instituto.

1. ¿ Cuáles son los elementos de la comunicación? Explica cada uno de ellos.


2.¿ A partir de qué siglo se produce el desarrollo acelerado de las telecomunicaciones?


3. ¿Cuales son los tipos de comunicaciones y su concepto?.


4. Di cuáles son los medios de transmisión y explícalos


5. Explica en qué consiste un cable de par trenzado


6.¿Cuando se emplea el cable de par trenzado?


7. Explica en qué consiste un cable coaxial


8. Explica en qué consiste un cable de fibra óptica


9. ¿Cuál es la función del  cable de fibra óptica?


10.¿ Qué significa la abreviatura TDT? ¿Qué es la TDT?


11. Define el concepto de onda electromagnética


12. ¿De qué tipos pueden ser las ondas que se usan en Telecomunicaciones?


13 . ¿Qué es la frecuencia en una onda electromagnética?


14. ¿ Qué es la longitud de onda?


15. ¿A qué se le llama periodo de una onda electromagnética?


16.¿ Cuáles son los parámetros más importantes relativos al canal de transmisión de la información?


17. ¿A qué se llama velocidad (V) en las ondas electromagnéticas? ¿En qué unidades se mide?


18. ¿Qué es la amplitud (A) de una onda electromagnética?


19. ¿A qué llamamos "ancho de banda" en una transmisión de la información?


20. ¿Cuando se producen las interferencias o distorsiones en una señal electromagnética?


21. ¿A qué se llama "atenuación de una señal" en Telecomunicación"?


22. ¿Qué es el telégrafo?. ¿Cuando se inventó? ¿Que código usaba?


23. ¿Quién inventó el primer teléfono fijo y cuando? ¿Quién los mejoró?


24. ¿Cuales son los componentes fundamentales que se necesitan para la transmisión por radio?

25. ¿Cuales son las dos formas de llevar a cabo una emisión de radio? Explícalas


26. ¿Qué otros inventos fueron necesarios para llevar a cabo el desarrollo de la televisión?

27. ¿Cuando y donde surgió la primera red comercial de telefonía móvil?


28. ¿Qué protocolos se usan en la transmisión de información por Internet? ¿En qué consisten esos protocolos?

29. ¿Cuales son los sistemas de control y protección de la información?


30. ¿Cuales son los nuevos sistemas de comunicación?


31. ¿Qué redes sociales conoces?




Descarga el Cuestionario en formato "open document" (odt) en este enlace.








miércoles, 7 de marzo de 2018

Creación de una sencilla aplicación en lenguaje de programación Gambas para calcular el número de días entre dos fechas

En este ejemplo vamos a desarrollar una aplicación en Gambas que nos permita calcular el número de días transcurridos entre dos fechas. También vamos a calcular el número de meses y el número de años transcurridos.
Para ello lo primero que debemos hacer es crear un nuevo proyecto de Aplicación gráfica.

Seleccionamos el directorio donde se va a guardar el proyecto. Pulsamos el botón Next (siguiente).

Y finalmente le damos un nombre al proyecto y un título. En este caso le he llamado "Fechas" y el mismo título. Pulsamos el botón [OK] y nos informa de que el proyecto ha sido creado. A continuación nos aparece el entorno de programación de Gambas
En el menú que aparece a la izquierda tenemos varias carpetas: Proyecto, fuentes y datos. Hacemos doble click en el formulario Fmain que aparece dentro de la carpeta Fuentes y nos aparece la siguientes ventana:


Se nos ha abierto el formulario y en la parte derecha nos aparece una ventana con las propiedades del objeto seleccionado, y debajo una ventana con los objetos que podemos crear o añadir al formulario.
En primer lugar vamos a añadir una etiqueta en el formulario con el título del proyecto que estamos realizando, en nuestro caso le vamos a poner "CÁLCULO DEL NÚMERO DE DÍAS ENTRE DOS FECHAS". Para ello seleccionamos el objeto etiqueta y lo arrastramos al formulario.

Ahora nos vamos a las propiedades del objeto etiqueta que debe estar seleccionado y cambiamos el nombre, la fuente en la propiedad "font" y el texto de la etiqueta en la propiedad "text".


Vamos a crear dos campos de fecha para introducir la fecha inicial y la fecha final. Para ello ponemos dos etiquetas y juntos a ellas los dos campos de fecha que se añaden pulsando en la pestaña "Chooser" en el manejador de objetos y seleccionando y arrastrando al formulario el objeto "Datebox".

En la imagen anterior vemos que se ha añadido un botón "Calcular" para realizar el cálculo de la diferencia entre las dos fechas introducidas. Además hemos añadido tres campos para mostrar los resultados que son el número de días transcurridos, el de meses y el de años. Estos campos son "Texbox" y se añaden volviendo al seleccionador de objetos en la pestaña "Form".


En la siguiente imagen podéis ver como seleccionar el botón y los Textbox.

El siguiente paso es poner el código correspondiente en el botón calcular. Para ello hacemos doble click en dicho botón y nos aparece el editor de código. Tenemos que introducir el siguiente código:

Os explico cada una de las líneas:
Dentro del botón "Calcular" hay que colocar el código en el evento "Click", que se dispara cuando hacemos clic sobre el botón.
Lo primero es dimensionar las variables que vamos a usar para el cálculo. La variable "date1" almacena el valor del campo fecha inicial y la variable "date2" almacena el valor del campo fecha final. Esas dos variables las hemos definido como fecha.
A continuación dimensionamos la variable "Ndias" como número entero (Integer), ya que va a almacenar el número de días transcurridos entre esas dos fechas. Estas serían las tres líneas para dimensionar las variables:

Dim date1 As Date
Dim date2 As Date
Dim Ndias As Integer

A continuación asignamos a las variables "date1" y "date2" los valores introducidos en los "Datebox" fechaini y fechafin. El código seria este:

date1 = Fechaini.Value
date2 = Fechafin.Value

A continuación usamos la función "DateDiff" que calcula la diferencia entre dos fechas, y a la cual hay que suministrarles varios parámetros entre paréntesis. Tenemos que pasarle en primer lugar la fecha inicial, que sería el valor introducido en la variable "date1". En segundo lugar le pasamos la fecha final "date2", y por último le pasamos un parámetro que indica a la función que calcule el número de días "gb.Day". También podemos usar la misma función con el parámetro "gb.Month" para calcular el número de meses o el parámetro "gb.Year" para calcular el número de años transcurridos. El código sería:

TextBox_Dias.Text = DateDiff(date1, date2, gb.Day)
TextBox_Meses.Text = DateDiff(date1, date2, gb.Month)
TextBox_Anios.Text = DateDiff(date1, date2, gb.Year)



 Tambien podemos usar el objeto LCDLabel, esta clase implementa una etiqueta que muestra su texto como una pantalla LCD. Añadimos el siguiente código:

LCDLabel_Dias.Text = TextBox_Dias.Text
LCDLabel_Meses.Text = TextBox_Meses.Text
LCDLabel_Anios.Text = TextBox_Anios.Text


Tambien hemos añadido el botón "Salir" que tiene el siguientes código:

Public Sub Button_Salir_Click()
  Quit
End


Si queremos probar la aplicación para ver los resultados de nuestro programa, pulsamos el botón "Ejecutar" (Run) situado en el menú de la parte superior:



Al ejecutar la aplicación con el botón "Ejecutar" o "run" pasamos del modo edición al modo ejecución o prueba y obtenemos el siguientes resultado:


Con esto terminamos esta sencilla aplicación, la cual podemos mejorar añadiendo nuevas utilidades, como obtener la fecha que corresponde a sumar un número de días a la fecha actual. Para ello modificamos el formulario de la siguiente forma:



Hemos añadido un DateBox_Fecha1 para introducir la fecha actual, un campo ValueBox para indicar el número de días a sumar, y el resultado lo vamos a poner en el DateBox_Fecha2 que nos dará la fecha final. Para hacer el cálculo hemos añadido un nuevo botón "Button_Calsuma" que contiene el código siguiente:

Public Sub Button_Calsuma_Click()

 Dim date1 As Date
 Dim date2 As Date
 Dim Ndias As Integer

 date1 = DateBox_Fecha1.Value
 date2 = date1 + ValueBox_Dias.Value
 DateBox_Fecha2.Value = date2

End


Ejecutamos la aplicación y probamos añadiendo 100 días a la fecha actual:


Si se os ocurre otra funcionalidad para esta aplicación, espero vuestras sugerencias.