martes, 22 de marzo de 2022

Macros en LibreOffice Base (II)

LibreOffice

Voy siguiendo un manual que encontré hace poco y el siguiente tema es definir variables.

Para las personas neófitas en la programación, les recomiendo este el artículo de la Wikipedia que no está mal, ver artículo.

En el siguiente paso, aprenderemos a definir las variables que vamos a utilizar a lo largo del desarrollo de nuestra macro.

Al comienzo de la rutina, la instrucción Dim se usa para definir las variables que se utilizarán en nuestros pequeños programa, repito que en ningún caso debemos de programar grandes funciones para crear nuestras macros. 

Aunque la programación en Basic no necesita las definiciones de las variables, al comienzo de nuestra andadura en programación, definiremos todas aquellas que nos hagan falta, para que no se convierta en un caos nuestra estilo de progamación.

Utilizaremos la opción "option Explicit" al principio de un módulo. Con esta opción se aseguran que todas las variables tengan que estar declaradas, si una variable no se ha declarado, al ejercutarse el programa mostrará un error y detendrá su ejecución.

Seguidamente muestro como quedaría la definición de una variable.

Recordamos que para que nuestro código funcione tiene que estar dentro de un comienzo de función y un final, quedaría como sigue.

option Explicit /* incluimo esta instrucción indicando que es obligatorio definir las variables

Sub asignar_variable /* comienzo de la función
Dim apellidos As String /* definción de nuestra variable
apellidos = "Pérez" /* asignación de valor a variable
End Sub /* final de la función

En este caso he definido una variable llamada "apellidos" de formato String, con esto estamos indicando la variable apellidos puede contener cualquier tipo de caracter, número, letras o caracteres especial.

Para asignar un valor a nuestra variable, quedaría como sigue.

apellidos = "Pérez"

A partir de este momento la variable apellidos contiene el valor  "Pérez".

Observe que la opción "option Explicit" se define fuera de la función, ya que va a afectar a todas las macros o funciones. Le animo a que haga pruebas poniendo fuera y dentro esta instrucción para ver los resultados.

Según transcurra nuestro curso, iremos desarrollando macros que necesitarán de variables de otros tipos, en este capítulo no nos pararemos a explicar todas.

Basic como otros lenguajes de programación tiene unas normas para los nombres que hay que seguir, los nombres de las variables deben comenzar siempre por un carácter alfabético, solo se pueden usar caracteres alfabéticos (A-Z o a-z), números y el carácter de subrayado o barra baja ( _ ). No se permiten caracteres especiales y aunque se permiten espacios bajo determinadas condiciones, es mejor evitarlos.

jueves, 3 de marzo de 2022

Comprender los sucecos en LibreOffice Base

LibreOffice

Antes de comenzar a trabajar, debemos haber leido este artículo, Configurar LibreOffice para programar, leido este, pasamos a dar cuenta del tema que nos trae, comprender el funcionamiento de sucesos o eventos.

Para comenzar el trabajo crearemos una base de datos con datos mínimos, en mi caso he creado una tabla con los campos nombre, apellido1, apellido2 y fecha de nacimiento. A continuación he crado un  formulario con el asistente, hecho esto, paso a explicar nuestra primera macro.

Alguna persona que está leyendo este artículo puede formularse la pregunta, ¿que ese eso de sucesos?, ¿para que sirven los sucesos?, ¿y si no quiero hacer uso de los sucesos?, vamos a intentar contestar algunas de estas preguntas.

Supongamos que tenemos abierto un formulario en nuestra base de datos y vamos a introducir algunos registros, haga clic sobre uno de los campos que puede rellenar, al hacer clic en este campo, aunque no se vea o no tenga señal de ello, se activa un suceso, en concreto el suceso "Recepsión de foco", en otras bases de datos se conocen los sucesos como eventos. 

Cuando pasa el cursor de un campo a otro se activan dos sucesos, el primer suceso que se activa es "Perdida de foco" del primer campo donde estaba el cursor situado y al situar el cursor en el siguiente campo se activa el suceso "Recepsión de foco".

Otro ejemplo que encontramos es al pulsar un botón que ha diseñado y definido en un formulario, ejecuta el suceso "Botón de ratón pulsado", de esto sacamos en conclusión que LibreOffice tiene un control muy alto de lo que sucede en el formulario mientras trabajamos, todo esto sucede aunque parezca que no pasa nada.

Esto nos lleva a pensar que los sucesos están ahí para aprovechar su potencia, solo nos queda que imaginar que a cada suceso puedo asignarle unas acciones que previamente he programado, para que cuando se active el suceso en cuestión, ejecute lo programado. 

No hay que decir, que las personas que no quieran hacer uso de estos sucesos o eventos, no tienen obligación de ellos y que pueden vivir tranquilamente con un diseño más básico de sus trabajos.

Pasando a la acción, abirmos el formulario que hemos creado en modo edición. Hacemos clic sobre uno de los campos y activamos los pivotes de control. Hacemos doble clic sobre el campo activo y nos muestra el siguiente cuadro de diálogo, en este hacemos clic en la pestaña Sucesos.

sucecos en LibreOffice Base

Se observa en este cuadro de diálogo todos los sucesos asginarle una macro. Para saber más de estos sucesos puede consultar este artículo en LibreOffice, Sucesos.

Antes de asignar un suceso tendrá que programar una macro, no entramos en este artículo en decidir el lenguaje en que va a hacerlo.

En este punto es cuando nos vamos a complicar un poco el diseño de nuestra base de datos. Para asginar una macro a un suceso, haga clic en el botón de puntos suspensivos que tiene el suceso a su derecha.

sucecos en LibreOffice Base

Le mostrará el siguiente cuadro de diálogo, como puede observar hay un Suceso que tiene asignado una macro que previamente se programo. Haga clic en botón Macro para asingar.

sucecos en LibreOffice Base

Nos muestra el siguiente cuadro de diálogo, en mi caso he seleccionado una macro que tenía definida en la base de datos, seleccionada la macro haga clic en el botón Aceptar.

sucecos en LibreOffice Base

Le vuelve a mostrar el cuadro de diálogo y haga clic en el botón Aceptar, ya tiene la macro asignada al suceso deseado.

sucecos en LibreOffice Base

Finalmente volvemos a nuestro formulario para probar el modo trabajo la macro que hemos asignado.

Al comienzo puede resultar un poco extraño o lioso, pero con paciencia lo conseguirá.







lunes, 28 de febrero de 2022

Macros en LibreOffice Base (I)

LibreOffice

Antes de comenzar a trabajar, debemos haber leido este artículo, Configurar LibreOffice para programar y Comprender los sucecos en LibreOffice Base,  leido estos artículos, nos ponemos manos a la obra.

No pretendo que usuarias y usuarios después de este pequeño curso sobre programación de macros en LibreOffice salgan como expertas o expertos, la única intención es mostrar las posibilidades que tiene programar en LibreOffice mediante pequeños códigos.

 Para comenzar el trabajo crearemos una base de datos con datos mínimos, en mi caso he creado una tabla con los campos nombre, apellido1, apellido2 y fecha de nacimiento. A continuación he crado un  formulario con el asistente, hecho esto paso a explicar nuestra primera macro. 

Hacemos clic en la barra de menú Herramientas > Macros > Organizador de macros > BASIC.

Macros en LibreOffice Base (I)

Nos muestra el siguiente cuadro de diálogo, seleccionamos nuestra base de datos y desplegamos el contenido haciendo visible Standard, hacemos clic en el botón Nuevo.


Macros en LibreOffice Base (I)

Que nos mostrará el siguiente cuadro de diálogo, introducimos un nombre al módulo que va a contener nuestras macros, hacemos clic en el botón Aceptar.

Macros en LibreOffice Base (I)

Nos encontramos esto:

REM  *****  BASIC  *****

Sub Main

End Sub

La macro comienza con Sub Main, indica el comienzo de nuestra macro y es por donde va a comenzar a ejercutarse y termina con End Sub, es por donde finalizará la ejecución de esta macro, entre estas dos instrucciones puede introducir todo el código que desees.

Nosotros vamos a introducir uno muy simple como el que sigue:

MsgBox("Foco sobre el campo" , 1, "Mensaje")

Esta instrucción nos muestra el mensaje "Foco sobre el campo", con los botones Aceptar y Cancelar, que se lo indicamos con el número 1, para saber más ver este artículo , terminando con el título del cuadro de dálogo "Mensaje". Hemos terminado de definir nuestra macro, el siguiente paso será indicar donde se va a ejercutar. Para saber más sobre la instrucción MsgBox, vea este artículo Función MsbBox.


Nuestra intención es que al situar cursor sobre la caja de texto del campo Nombre, aparezca nuestro mensaje, para ello tenemos que asignar la macro a esta caja de texto y al evento o suceso Recepción de foco.

Pasamos a programarlo, activamos la caja de texto del campo Nombre, haciendo doble clic sobre la caja de texto, se activa los pivotes de control y nos muestra un cuadro de diálogo con varias pestañas, seleccionamos la pestaña Sucesos, para saber más sobre Sucesos vea este artículo, Sucesos.

Hacemos clic en el botón que se encuatra a la derecha del suceso Recepción de foco con unos puntos suspensivos, nos muesrta el siguiente cuadro de diálogo, hacemos clic en el botón Macro.

En el siguiente cuadro de texto seleccionamos la macro que hemos creado que se encuentra en mi caso  nuestrabasededatos.dbf  Standard > Module1, mostrándonos todas las macros dentro de este módulo, seleccionamos la que hemos creado, finalmente hacemos clic en el botón Aceptar.


Ya la tienes asignada al suceso con la macro que hemos creado, hacemos clic en el botón Aceptar.

Nos muesrta el cuadro de diálogo con los sucesos y nuesrta macro asignada, ya solo que da probarla.





 



jueves, 23 de enero de 2020

Configurar LibreOffice para programar

LibreOffice
Antes de comenzar a programar macros con LibreOffice, debe configurar algunos detalles, que aunque todavía están poco definidos siempre es bueno una pequeña ayuda.

Abra LibreOffice, en la barra de menú, haga clic en la opción Herramientas > Opciones, le mostrará el siguiente cuadro de diálogo.

jueves, 23 de noviembre de 2017

Artículos en Joomla con Pestañas y desplegables

Joomla
En estos momentos me encuentro desarrollando un sitio Web con el gestor de contenidos Joomla, he trabajado con varios gestores, pero Joomla me parece uno de los mejores, fácil si no te quieres complicar y complicado si te gusta la emoción de la programación.

jueves, 6 de julio de 2017

Bluefish para Linux Ubuntu

Bluefish
Los usuarios que nos dedicamos a la programación, siempre andamos buscando y probando productos para que nos ayuden a realizar de la forma mejor y rápida nuestro trabajo.

Bluefish es un buen ejemplo de editor para los usuarios que programan, es libre y se puede encontrar para Linux Ubuntu, ¿que más puede pedirse?, creo que lo siguiente será mostrar como se instala.


jueves, 8 de junio de 2017

Instalando Apache en Linux Ubuntu

Linux Ubuntu
El otro día trabajando tuve algún problema con Apache en Linux Ubuntu, entonces me decidí a instalar Apache por separado del resto de lo que suele ser normal, Apache, MySQL y PHP.

En este artículo os dejo como podéis instalar Apache en Linux Ubuntu.

Para comenzar abriréis una terminal en Linux Ubuntu e introducís este comando.

domingo, 23 de abril de 2017

Linux Ubuntu - Instalar Eclipse

Linux Ubuntu
En este nuevo capítulo aprenderemos a instalar el IDE Eclipse, por si algún usuario no siguió el anterior video tutorial, hemos incluido la instalación de Java en nuestro Linux Ubuntu, que será necesario para trabajar con el IDE Eclipse, para terminar el video tutorial instalaremos Eclipse.