Programar evento

Discute sobre las herramientas de la base de datos
Responder
Carlos Aristizábal
Mensajes: 2
Registrado: Dom Feb 28, 2010 2:17 pm

Programar evento

Mensaje por Carlos Aristizábal »

Estoy utilizando OOo 3.1.0 en Windows XP. He hecho programas en Visual Basic de Access y quiero hacerlo ahora en OOo Basic pero no encuentro la forma de programar un evento como por ejemplo "al cargar un formulario" o culquier otro evento de un control. He leído la ayuda proporcionada con el programa pero no he podido lograrlo. Gracias por su ayuda
OpenOffice 3.1.0 en Windows XP
Cascabel
Mensajes: 283
Registrado: Mié Nov 11, 2009 10:53 am

Re: Programar evento

Mensaje por Cascabel »

Si ya programaste VB en Access, te bastará una pequeña indicación para encontrar el camino.
Abres el formulario en modo diseño. Click derecho sobre cualquier control, Propiedades. En la pestaña Acontecimientos puedes asignar macros a los distintos eventos.
Click derecho sobre cualquier control, Formulario saca las propiedades del formulario. La misma pestaña Acontecimientos tiene los eventos del formulario.
A diferencia de Access (y choca al principio si vienes de ahí), la macro debe existir antes de asignarla. No puedes elegir un evento, asignarle una macro no existente y escribirla en ese momento.
Para escribir macros en StarBasic ve a Herramientas/Macros/Organizar Macros/OpenOffice.org Basic.
Desde allí, Administrar para crear primero bibliotecas en el documento, luego módulos en las bibliotecas, y finalmente macros (o diálogos) en los módulos.
En tu versión de OOo ya puedes guardar las macros en el mismo documento de Base, cosa que recomiendo. De todos modos, actualiza a 3.2 si tienes la posibilidad (o a 3.1.1 por lo menos).
Una cosa más. No esperes encontrar los mismos eventos que en Base ni que funcionen igual. Ni soñar con un OnClose cancelable para el formulario, por ejemplo.

Ejemplo de macro que va al último registro de una formulario al abrirlo:

Código: Seleccionar todo

Sub sUltimoRegistro(Event As Object)
	Dim Form As Object
	Form=Event.Source
	If Not(Form.IsNew() Or Form.IsAfterLast()) Then Form.Last()
End Sub
Asociar al evento "Al Cargar" del formulario.

Si tienes más dudas, pregunta de nuevo.
OOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Programar evento

Mensaje por RMG »

cascabel, ya que Carlos ha abierto el hilo de programar en Base similar a VB con metodos etc. se sabe de algun sitio donde localizar estos, aunque esten en ingles y mientras esperamos el tutorial de Mauricio.

Gracias
Ramon
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Cascabel
Mensajes: 283
Registrado: Mié Nov 11, 2009 10:53 am

Re: Programar evento

Mensaje por Cascabel »

Casi toda la información que utilizo está en inglés.
En la versión inglesa del foro de la comunidad hay mucho código.
Además, lo que hace diferente a Base del resto de la suite son habas contadas. Básicamente, el acceso a datos.

Este documento de Roberto C. Benítez habla de eso.
http://www.baseprogramming.com/OOBasicDatabaseDev.pdf

El de Mauricio también me fue muy útil. Tiene capítulos sobre formularios, diálogos y eventos.
http://webs.ono.com/valromer/TUTORIALES ... oBasic.pdf

Programación en Star Basic y algo de BBDD en este otro.
http://dlc.sun.com/pdf/817-1826/817-1826.pdf

Guía de programación para StarOffice 8.
http://www.santarosa.k12.fl.us/pdc/down ... _en-US.PDF

El documento de Andrew Pitonyak sobre macros en OpenOffice.org
http://sbrinz.di.unipi.it/MaterialeCors ... wMacro.pdf

OpenOffice.org 3.1 BASIC Guide
http://wiki.services.openoffice.org/w/i ... o3.1.0.pdf

No es de macros, pero sobre HSQL, que es el que utiliza Base en las BBDD incrustadas.
http://hsqldb.org/doc/guide/guide.pdf

Y sobre conversión de código VBA a StarBasic, pero aplicado a Excel y Calc.
http://documentation.openoffice.org/HOW ... icXref.pdf

Nota: Quizás no sean los mejores enlaces para descargar los documentos. Sólo puse en el buscador el nombre del archivo y copié el primer enlace que funcionaba. Es que ya no recuerdo de dónde obtuve cada uno.
OOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10
Carlos Aristizábal
Mensajes: 2
Registrado: Dom Feb 28, 2010 2:17 pm

Re: Programar evento

Mensaje por Carlos Aristizábal »

Oye Cascabel. Creo que eres muy bueno en esto. Te agradezco mucho tu ayuda.
Aunque aún no la he puesto en práctica sé que me va a ser muy útil, junto con la respuesta que le das a Ramón. Ya les contaré en el foro cómo me fue.
De nuevo muchas gracias
OpenOffice 3.1.0 en Windows XP
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Programar evento

Mensaje por RMG »

Cascabel de entrada, muchas gracias. Voy a empezar a visitar estos enlaces y procurarme de toda la informacion que pueda entender.

Saludos
Ramon
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Responder