Página 1 de 1

Programar evento

Publicado: Dom Feb 28, 2010 3:00 pm
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

Re: Programar evento

Publicado: Dom Feb 28, 2010 7:17 pm
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.

Re: Programar evento

Publicado: Mar Mar 02, 2010 6:51 pm
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

Re: Programar evento

Publicado: Mar Mar 02, 2010 7:44 pm
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.

Re: Programar evento

Publicado: Mar Mar 02, 2010 9:55 pm
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

Re: Programar evento

Publicado: Mié Mar 03, 2010 3:35 pm
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