Fondamenti di programmazione OpenOffice.org Basic. a cura di nizan Soluzioni Open Source



Documenti analoghi
Registratori di Cassa

Capitolo 4 Pianificazione e Sviluppo di Web Part

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

MANUALE D USO DELLA PIATTAFORMA ITCMS

I file di dati. Unità didattica D1 1

Corso: Informatica+ Andrea Cremonini. Lezione del 09/02/2015

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

Archimede ver GUIDA FUNZIONALE ARCHIMEDE VER

Cosa è un foglio elettronico

Guida all uso di. a cura dell Area Economia Applicata (AEA) - IPI

Il Web-Service SDMX dell ISTAT

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Gestione Rapporti (Calcolo Aree)

Compilatore risorse display grafico LCD serie IEC-line

Le L z e ione n e d i d V isu s a u l B asi s c Prof.ssa Paola Goi 1

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Database Manager Guida utente DMAN-IT-01/09/10

Creare un sito Multilingua con Joomla 1.6

Manuale Utente Amministrazione Trasparente GA

APPENDICE I Pratiche di tecnologie informatiche per la elaborazione della musica e del suono

Microsoft Office XP. dott. ing. Angelo Carpenzano. La suite Microsoft Office XP

Panoramica Masergy Communicator

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

lem logic enterprise manager

Corso di Sistemi di Elaborazione delle informazioni

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Integrazione InfiniteCRM - MailUp

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Indice. I livelli di Autorizzazione in Sharepoint. Livelli di autorizzazione predefiniti di Windows SharePoint Services 3.0

Introduzione. Installare EMAS Logo Generator

Punto Print Il programma per stampare. Documentazione Tecnica

DESCRIZIONE: Microsoft Office 2002 XP Corso Completo (Patente 60 giorni)

Il Formato PDF-A A con cui trasmettere gli elaborati

Manuale di Blogilo. Mehrdad Momeny Traduzione e revisione del documento: Valter Mura

interscambio di documenti

Relazioni tra tabelle

Concetto di Funzione e Procedura METODI in Java

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

Obiettivi del corso. Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000.

Progetto INCOME. Manuale Utente Operatore Installazione

Application Server per sviluppare applicazioni Java Enterprise

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Applicazione Access annuale Universale mini-howto

Nuovo Order Manager per il software NobelProcera

Implementazione di MVC. Gabriele Pellegrinetti

L interfaccia utente di Office 2010

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

Corso Online Analista Programmatore Microsoft

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

La Skills Card relativa alle certificazioni Nuova ECDL è svincolata dalla singola certificazione.

La gestione dei risultati: ZOTERO, un programma gratuito

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Guida alla registrazione on-line di un DataLogger

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Manuale Utente Albo Pretorio GA

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Gestione Risorse Umane Web. Gestione della foto in stampa unione. Versione V01

Guida autore all'uso di Lotus Quickr

Introduzione al Linguaggio C

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

Quando si avvia Nero SoundTrax viene visualizzata una finestra in cui è possibile selezionare i modelli di progetto.

Istruzioni d uso. innovaphone Fax. Versione 10. La soluzione fax innovaphone consente l invio e la ricezione di fax via .

Estensioni e modelli. Ancora poco conosciuti, consentono di estendere la suite per l ufficio. Ecco come servirsene

Introduzione a LyX. Creazione di un documento Struttura e stile Modelli di documento Automatismi Riferimenti...

AMBIENTE DEV PASCAL. Dev-Pascal Finestra di apertura

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

Libero Emergency PC. Sommario

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

STRUMENTI. Impostare una presentazione I programmi di presentazione

Una metodologia di progettazione di applicazioni web centrate sui dati

EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE Elaborazione testi Livello avanzato

Dispensa di database Access

UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)

Struttura logica di un programma

IBM Lotus Notes Guida per utenti

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

Sicurezza dei file Le protezioni nei programmi

Workland CRM. Workland CRM Rel /11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX

Spazio Commerciale. Le tue vendite, il nostro successo. Manuale Operativo. Guida inserimento articoli tramite Area di amministrazione.

Introduzione al Foglio Elettronico

per interventi strutturali di rafforzamento locale o di miglioramento sismico, - art. 2, comma 1, lettere b) e c) -

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Database. Si ringrazia Marco Bertini per le slides

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Adobe Flash CS5.5 e Web Animation. Lezione 7: introduzione ad ActionScript 3.0, livelli guida, realizzazione di un player audio in streaming

Mon Ami 3000 Lotti e matricole Gestione della tracciabilità tramite lotti/matricole

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Transcript:

Fondamenti di programmazione OpenOffice.org Basic a cura di nizan Soluzioni Open Source

GNU Free Documentation License Copyright 2003 nizan Soluzioni OpenSource via Marconi,14 Casalecchio di Reno. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Text Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". 2

OpenOffice.org OpenOffice.org è un progetto Open Source che ha quale scopo primario lo sviluppo di una Suite per l'ufficio multi-lingue e multipiattaforma, basata sullo standard aperto XML di salvataggio dei documenti 3

Differenze tra StarOffice e OpenOffice.org Non tutto il codice di StarOffice è disponibile presso OpenOffice.org. La ragione dipende dal fatto che Sun Microsystems utilizza codice di terze parti e ne acquista la licenza; non ha perciò il permesso di renderlo utilizzabile in OpenOffice.org. Le parti che sono o saranno presenti in StarOffice, ma non disponibili in OpenOffice.org includono: * Controllo Ortografico * Alcuni caratteri (inclusi, in modo particolare, i caratteri delle lingue orientali) * La Guida * Il componente di Database (Adabas D) * I Modelli * La vasta galleria di Clip Art * Alcune funzionalità di ordinamento (nelle versioni asiatiche) * Alcuni filtri per i file 4

OpenOffice.org: uso delle macro Creazione nuova macro Creazione nuovo modulo Gestione moduli Gestione librerie Importazione/esportazione Assegnazione macro 5

OpenOffice.org:uso delle macro 6

Finestra Macro: moduli standard 7

Opzioni: percorsi 8

Finestra Macro: moduli utente 9

Gestione macro: moduli 10

Gestione macro: librerie 11

Assegnazione macro: voce di menù 12

Assegnazione macro: combinazione di tasti 13

Assegnazione macro: eventi 14

OpenOffice.org Basic: differenze rispetto ai dialetti basic tradizionali OpenOffice.org Basic è modulare La programmazione con OpenOffice.org Basic è basata su singole Subs o Functions che terminano sempre con End Sub o End Function. In ogni Sub o Function può essere chiamata un'altra Sub o Function Quando una macro viene eseguita automaticamente essa chiama la Sub corrispondente 15

OpenOffice.org Basic: considerazioni tecniche Variabili Oggetti Procedure e funzioni Librerie di moduli e dialoghi 16

Variabili: dichiarazione DIM a$ dichiara a come stringa DIM a As String dichiara a come stringa DIM a$, b As Integer dichiara a come stringa, b come intero 17

Variabili: dichiarazione La dichiarazione delle variabili obbligatoria NON è Questo comportamento può essere cambiato utilizzando OPTION EXPLICIT come prima istruzione di un modulo 18

Variabili: tipi Forma breve DIM Variabile As... DIM Variabile% DIM Variabile& DIM Variabile! DIM Variabile# DIM Variabile@ DIM Variabile$ Integer Long Single Double Currency String Date Boolean 19

Procedure e Funzioni: chiamata semplice Sub Inizio DIM Variabile1 As String DIM Variabile2 As Integer Codice End Sub 20

Procedure e Funzioni: chiamata semplice Function Inizio As Integer DIM Variabile1 As String DIM Variabile2 As Integer Codice Inizio = Valore (valore di ritorno) End Function 21

Procedure e Funzioni: chiamata con parametri Sub Inizio(Par1 As Integer, Par2 As String) DIM Variabile1 As String DIM Variabile2 AS Integer Codice End Sub 22

Procedure e Funzioni: chiamata con parametri Function Inizio(Par1 As Single) As Integer DIM Variabile1 As String DIM Variabile2 AS Integer Codice Inizio = Valore (valore di ritorno) End Function 23

Procedure e funzioni: visibilità delle variabili PUBLIC Variabile As TYPENAME Visibile in tutti i moduli PRIVATE Variabile As TYPENAME Visibile solo nel modulo corrente DIM Variabile As TYPENAME Come sopra STATIC Variabile As TYPENAME Preserva il valore di una variabile in una Sub 24

Procedure e funzioni: altre caratteristiche Di default tutte le variabili vengono passate alle funzioni per riferimento Per modificare questo comportamento aggiungere la keyword ByVal prima di un parametro nella chiamata della funzione Le chiamate ricorsive di Subs e Functions NON sono permesse 25

Librerie, moduli e dialog Le librerie sono un tool per organizzare più moduli. Quando un documento o un template vengono salvati, tutte le librerie in esso contenute vengono salvate I moduli contengono Sub e Function e tutte le variabili valide in uno o tutti i moduli I dialog permettono l'interazione con l'utente tramite controlli ed eventi 26

Gestione macro: moduli 27

OpenOffice.org Basic IDE Ambiente di sviluppo integrato in OpenOffice.org Supporto linguaggio di programmazione OpenOffice.org Basic Editor avanzato Interfacciamento diretto con API di programmazione Debugging avanzato 28

StarBasic IDE: interfaccia 29

StarBasic IDE: debugging 30

L'API OpenOffice.org L'API OpenOffice.org si basa sulla tecnologia a componenti di OpenOffice.org e consiste in una ampia gamma di interfacce scritte in un linguaggio IDL simile a CORBA. Mentre la tecnologia a componenti determina come i componenti o le applicazioni comunicano gli uni con gli altri e come accedere all'api da specifici linguaggi, l'api definisce l'interfaccia per accedere alle funzionalità indipendentemente dal linguaggio usato. 31

L'API OpenOffice.org: definizione L'API OpenOffice.org non è un linguaggio di programmazione E' una definizione astratta di tutti gli oggetti e delle interfacce che si possono usare nella programmazione. OpenOffice.org Basic offre un interfacciamento diretto con l'api OpenOffice.org ma le stesse interfacce possono essere utilizzate da altri linguaggi di programmazione (C, C++, Java, StarScript) 32

API OpenOffice.org: informazioni addizionali http://api.openoffice.org/ Homepage del progetto API OpenOffice.org http://api.openoffice.org/basic/man/tutorial/tutorial.pdf Tutorial sull'api OpenOffice.org (aka Staroffice) e OpenOffice.org Basic (aka StarBasic) http://api.openoffice.org/docs/common/ref/com/sun/star/module-ix.html Manuale di riferimento (online) dell'api OpenOffice.org 33

OpenOffice.org API: concetti Servizi e interfacce Moduli Componenti 34

OpenOffice.org API: servizi e interfacce Un servizio è un concetto astratto che fornisce interfacce e proprietà Ogni implementazione di un particolare servizio deve fornire le stesse interfacce Una interfaccia è una collezione di metodi che forniscono certe funzionalità 35

Gestione macro: librerie 36

Servizi e interfacce 37

OpenOffice.org API: moduli I moduli sono raggruppamenti di servizi, interfacce, tipi, numeratori e strutture dati. Alcuni esempi di moduli sono text, sheet, table e drawing Sebbene i loro nomi corrispondano con quelli di certe applicazioni non c'è un legame diretto tra questi (es. il modulo document non è usato solamente per documenti di testo) 38

StarOffice API module structure 39

OpenOffice.org API: componenti I componenti implementano servizi dell'api di OpenOffice.org Non è possibile accedervi direttamente programmando con l'api di OpenOffice.org. Sono accessibili come beans che è possibile incorporare nei programmi Il loro utilizzo è fuori dallo scopo di questo trattato 40

END a cura di nizan Soluzioni Open Source

Fondamenti di programmazione OpenOffice.org API (parte 2) a cura di nizan Soluzioni Open Source

GNU Free Documentation License Copyright 2003 nizan Soluzioni OpenSource via Marconi,14 Casalecchio di Reno. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Text Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Funzioni I/O standard OpenOffice.org Basic comprende un set completo di funzioni di I/O sul filesystem che lo rendono compatibile con Visual Basic. Per garantire l'indipendenza dal sistema operativo usato è stata aggiunta la notazione file://...

Esempio I/O con funzioni standard Open "file:///home/guandalf/prova.txt" For Input As #1 While Not Eof(#1) Input #1, a$ Print a$ Wend Close #1

I/O con l'api OpenOffice.org Servizio: com.sun.star.ucb.simplefileaccess Interfacce: com.sun.star.ucb.xsimplefileaccess2 com.sun.star.ucb.xsimplefileaccess

I/O con l'api OpenOffice.org metodi Copiare, muovere e rimuovere files e folders (copy(), move(), kill()) Ottenere informazioni riguardanti files e folders (isfolder(), exists(), getsize(),...) Aprire e creare files (openfileread(), openfilewrite(), openfilereadwrite())

I/O con l'api OpenOffice.org intefacce stream com.sun.star.io.xinputstream, com.sun.star.io.xseekable com.sun.star.io.xoutputstream, com.sun.star.io.xseekable com.sun.star.io.xstream, com.sun.star.io.xseekable

Intefacce stream specifiche per I/O su files di testo Servizi: com.sun.star.io.textinputstream com.sun.star.io.textoutputstream Interfacce: com.sun.star.io.xtextinputstream com.sun.star.io.xactivedatasink com.sun.star.io.xtextoutputstream com.sun.star.io.xactivedatasource

Intefacce stream specifiche per input da files di testo L'interfaccia com.sun.star.io.xactivedatasink esporta il metodo setinputstream() che accetta come parametro un oggetto ritornato dal metodo openfileread()

Intefacce stream specifiche per I/O su files di testo Utilizzando i metodi readline() readstring() esportati dall'interfaccia com.sun.star.io.xtextinputstream possiamo leggere linee o stringhe dal file di testo

Intefacce stream specifiche per I/O su files di testo Utilizzando il metodo setencoding() possiamo definire la codifica dei caratteri che sarà usata (default UTF-8) http://www.iana.org/assignments/character-sets

Intefacce stream specifiche per output su files di testo L'interfaccia com. sun. star. io.xactivedatasource esporta il metodo setoutputstream() che accetta come parametro un oggetto ritornato dal metodo openfilewrite()

Intefacce stream specifiche per I/O su files di testo Utilizzando il metodo writestring() esportato dall'interfaccia com.sun.star.io.xtextoutputstream possiamo scrivere stringhe nel file di testo

Chiusura streams I files aperti devono essere chiusi utilizzando i metodi com.sun.star.io.xinputstream:closeinput() com.sun.star.io.xoutputstream:closeoutput()

Esempio I/O con API OpenOffice.org osimplefileaccess = createunoservice_ ("com.sun.star.ucb.simplefileaccess") ostream = osimplefileaccess.openfileread_ ("file:///home/guandalf/prova.txt") otextstream = createunoservice_ ("com.sun.star.io.textinputstream") otextstream.setinputstream(ostream) While Not otextstream.iseof() sline = otextstream.readline() Print sline Wend ostream.closeinput()

Formati data e ora OpenOffice.org supporta diversi tipi di formati e funzioni per il trattamento di data e ora compatibili con Visual Basic

Formati data e ora I metodi com.sun.star.awt.xdatefield:setdate() e com.sun.star.awt.xdatefield:getdate() utilizzano uno speciale formato ISO non compatibile con le funzioni Date e Time interne al Basic

Formati data e ora Le funzioni CDateToIso e CDateFromIso convertono i formati da quello del Basic a quello delle API e viceversa

Interazione tra Basic e API StarDesktop ThisComponent

StarDesktop Dà accesso diretto al servizio: com.sun.star.frame.desktop MsgBox StarDesktop.Dbg_SupportedInterfaces equivale a Dim odesktop odesktop = createunoservice_( com.sun.star.frame.desktop ) MsgBox odesktop.dbg_supportedinterfaces

ThisComponent Dà accesso al documento corrente o che contiene il codice eseguito Il valore ritornato dipende dal documento al quale fa riferimento Es. MsgBox ThisComponent.Dbg_SupportedInterfaces Questo esempio produrrà diversi risultati dipendentemente dal documento sul quale stiamo operando

Interfacce di default Tutti i documenti esportano una serie di interfacce di default. Dipendentemente dal tipo di documento, saranno disponibili una ulteriore serie di interfacce specializzate.

Interfacce esportate da tutti i documenti (segue) com.sun.star.beans.xpropertyset com.sun.star.container.xchild com.sun.star.document.xdocumentinfosupplier com.sun.star.document.xeventbroadcaster com.sun.star.document.xviewdatasupplier com.sun.star.document.xeventssupplier com.sun.star.document.xlinktargetsupplier

Interfacce esportate da tutti i documenti com.sun.star.frame.xmodel com.sun.star.frame.xstorable com.sun.star.lang.xserviceinfo com.sun.star.lang.xmultiservicefactory com.sun.star.lang.xeventlistener com.sun.star.style.xstylefamiliessupplier com.sun.star.util.xmodifiable com.sun.star.view.xprintable

com.sun.star.beans.xpropertyset Fornisce informazioni e accesso alle proprietà di una implementazione. Le proprietà possono essere di tipo: Bound Constrained Free E' possibile legare dei listener alle proprietà di tipo bound e constrained.

com.sun.star.container.xchild Permette l'accesso al genitore dell'oggetto specificato tramite i metodi getparent() setparent()

com.sun.star.document.xdocumentinfosupplier Fornisce informazioni specifiche sul documento come: autore data di creazione titolo informazioni sull'utente

com.sun.star.document.xeventbroadcaster Permette di registrare listener che saranno chiamati quando determinati eventi avverranno nel documento Alcuni nomi di eventi sono: OnLoadFinished OnPrint OnResize

com.sun.star.document.xviewdatasupplier Dà accesso a una serie di proprietà che descrivono le viste del documento Ogni vista è descritta da una serie di com.sun.star.beans.propertyvalue

com.sun.star.document.xeventssupplier Attraverso la chiamata al metodo getevents() ritorna una lista di handlers legati a eventi dell'oggetto

com.sun.star.document.xlinktargetsupplier Interfaccia fornita dagli oggetti all'interno del modello del documento che possono essere target di un link. Il metodo getlinks() ritorna l'elenco e implementa il servizio LinkTargets sul quale operare.

com.sun.star.frame.xmodel E' la rappresentazione di un componente creato tramite un URL e degli argomenti. Contiene ad esempio il nome della risorsa accessibile tramite il metodo geturl()

com.sun.star.frame.xstorable Permette in modo semplice di immagazzinare un componente in un URL. Ad esempio il metodo store() salva il componente nell'url dal quale era stato caricato.

com.sun.star.lang.xserviceinfo Fornisce informazioni riguardanti le implementazioni di servizi, cioè quali servizi sono implementati e il nome dell'implementazione.

com.sun.star.lang.xmultiservicefactory Permette la creazione di istanze di servizi che verranno inclusi nel documento. Con il metodo createinstance() si crea una istanza (ad esempio di un servizio, ma non solo) all'interno del documento.

com.sun.star.lang.xeventlistener E' l'interfaccia di base per tutte le interfacce listener Esporta un metodo disposing() che viene chiamato quando il broadcaster sta per essere rimosso

com.sun.star.style.xstylefamiliessupplier Questa interfaccia fornisce l'accesso alle famiglie di stili contenute nel documento. Il metodo getstylefamilies() ritorna questo elenco come un contenitore di stili.

com.sun.star.util.xmodifiable Rende accessibile lo stato di documento modificato attraverso i metodi ismodified() setmodified()

com.sun.star.view.xprintable Fornisce le funzionalità basilari di stampa Esporta i metodi getprinter() setprinter() print()

Documenti Text: servizi e interfacce Servizio com.sun.star.text.textdocument che esporta l'intefaccia com.sun.star.text.xtextdocument Diverse altre interfacce specialmente dal modulo com.sun.star.text

com.sun.star.text.xtextdocument Fornisce l'interfaccia principale per un documento di testo Esporta gettext() reformat()

Documenti Spreadsheet: servizi e interfacce Servizio com.sun.star.sheet.spreadsheetdocument Diverse altre interfacce specialmente dal modulo com.sun.star.sheet

com.sun.star.sheet.spreadsheetdocument Fornisce l'accesso a una collezione di fogli di calcolo Esporta getsheets()

Documenti Drawing: servizi e interfacce Servizio com.sun.star.sheet.drawingdocument Diverse altre interfacce specialmente dal modulo com.sun.star.drawing

END a cura di nizan Soluzioni Open Source