Librerie ScriptForge

Contenuto
Indice 🔎︎

# La libreria ScriptForge

Per accedere a questo comando...

Aprite Strumenti - Macro - LibreOffice Basic - Modifica e selezionate il contenitore LibreOffice Macro.

Le librerie ScriptForge costituiscono una collezione estensibile di risorse per la scrittura di macro per LibreOffice e possono essere invocate dalle macro in Basic o dagli script in Python.

• Basic macros require to load ScriptForge library using the following statement:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scripts require an import from scriptforge module:
from scriptforge import CreateScriptService

To learn more about how to create and execute Python scripts using the ScriptForge library, read the help page Creating Python Scripts with ScriptForge.

## Invoking ScriptForge services

I moduli e le classi descritte sono invocate dagli script dell'utente come "Servizi". A tal fine è stato progettato, per ciascun linguaggio, un costruttore generico di questi servizi:

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
        ' ...
        oSvc.Dispose()

        from scriptforge import CreateScriptService
        svc = CreateScriptService('servicename'[, arg0, arg1, ...])
        # ...
        svc.Dispose()

The Dispose method is available in all services and should be called to free up resources after usage.

## Servizi forniti dalle librerie ScriptForge

Categoria | Servizi |
LibreOffice Basic | Array Dictionary Exception | FileSystem String TextStream
Contenuto del documento | Base Calc Chart | Database Document
Interfaccia utente | Dialog DialogControl Form | FormControl PopupMenu UI
Utilità | Basic L10N Platform | Services Session Timer

## Servizio ScriptForge.Array

Fornisce una raccolta di metodi per manipolare e trasformare matrici a una dimensione (vettori) e a due dimensioni (matrici). Questi comprendono: operazioni di inserimento, ordinamento, importazione da ed esportazione in file di testo.

Le matrici con più di due dimensioni non possono essere usate con i metodi di questo servizio, con l'unica eccezione del metodo CountDims che accetta matrici con qualsiasi numero di dimensioni.

## Servizio SFDocuments.Base

Il servizio Base fornisce numerosi metodi e proprietà per facilitare la gestione e la manipolazione dei documenti di LibreOffice Base.

Questo servizio è strettamente connesso al servizio Document, che fornisce metodi generici per manipolare documenti di LibreOffice, compresi quelli di Base. Perciò, il servizio Base estende il servizio Document e fornisce metodi aggiuntivi specifici per i documenti di Base, consentendo all'utente di:

- Ottenere l'accesso al database contenuto in un documento di Base.

- Aprire i formulari memorizzati in un documento di Base.

- Controllare se in quel momento un formulario di un documento di Base è caricato.

## Servizio ScriptForge.Basic

Il servizio ScriptForge.Basic propone una raccolta di metodi di LibreOffice Basic da eseguire in ambiente Python. I metodi del servizio Basic riproducono esattamente la sintassi e il comportamento delle funzioni incorporate in Basic.

## Servizio SFDocuments.Calc

The SFDocuments shared library provides a number of methods and properties to facilitate the management and handling of LibreOffice documents.

The SFDocuments.Calc service is a subclass of the SFDocuments.Document service. All methods and properties defined for the Document service can also be accessed using a Calc service instance.

The Calc service is focused on:

- Manipolare i fogli all'interno di un documento di Calc (copiare, inserire, spostare, ecc.)

- Scambiare dati tra strutture di dati in Basic e aree di Calc

- Copiare e importare grandi quantità di dati

## ScriptForge.Chart service

The Chart service provides a set of properties and methods to handle charts in Calc documents. With this service it is possible to:

- Access chart objects in Calc documents and manipulate their properties.

- Create and insert new charts into a Calc document.

- Export charts as image files.

## Servizio SFDatabases.Database

Il servizio Database fornisce l'accesso sia ai database incorporati, sia a quelli descritti nei documenti di Base. Questo servizio fornisce metodi per:

- Ottenere l'accesso ai dati nelle tabelle del database.

- Avviare ricerche con SELECT ed eseguire funzioni aggregate.

- Eseguire istruzioni SQL come INSERT, UPDATE, DELETE, ecc.

## Servizio SFDialogs.Dialog

Il servizio Dialog contribuisce alla gestione delle finestre di dialogo create con l'Editor delle finestre di Basic. Ogni istanza della classe corrente rappresenta una singola finestra di dialogo visualizzata all'utente.

## Servizio SFDialogs.DialogControl

Il servizio DialogControl gestisce i controlli appartenenti a una finestra di dialogo definita dall'Editor delle finestre di Basic. Ogni istanza del servizio corrente rappresenta un singolo controllo all'interno della finestra di dialogo.

Lo scopo è quello di ottenere ed impostare i valori visualizzati dai controlli della finestra di dialogo. La formattazione è accessibile tramite le proprietà XControlModel e XControlView.

Fate attenzione che il contenuto dell'unica proprietà DialogControl.Value varia in base al tipo di controllo.

Un'attenzione particolare è rivolta ai controlli del tipo ad albero. È facile popolare un albero, ramo per ramo, o con un insieme di rami contemporaneamente. Il popolamento di un controllo ad albero può essere eseguito staticamente o dinamicamente.

## Servizio ScriptForge.Dictionary

Un dizionario è una raccolta di coppie chiave-elemento

- La chiave è una stringa che non fa distinzione tra lettere maiuscole e minuscole

- Gli elementi possono essere di qualunque tipo

## Servizio SFDocuments.Document

La libreria SFDocuments fornisce metodi e proprietà per agevolare la gestione e la modifica dei documenti di LibreOffice.

I metodi applicabili a tutti i tipi di documento (documenti di testo, fogli elettronici, presentazioni, ecc.) sono forniti dal servizio SFDocuments.Document. Alcuni esempi sono:

- Apertura, chiusura e salvataggio dei documenti

- Accesso a proprietà standard o personalizzate dei documenti

## Servizio ScriptForge.Exception

Il servizio Exception è una raccolta di metodi di supporto al debug del codice degli script in Basic e Python e alla gestione degli errori negli script in Basic.

Negli script in Basic, quando si verifica un errore in fase di run-time, i metodi e le proprietà del servizio Exception consentono di identificare l'errore e di gestirlo.

## Servizio ScriptForge.FileSystem

Il servizio FileSystem comprende routine per gestire i file e le cartelle. Di seguito sono riportati alcuni esempi delle funzionalità fornite da questo servizio:

- Verifica se un file o una cartella esiste.

- Crea e cancella cartelle e file.

- Avvia i riquadri di dialogo per aprire/salvare file.

- Accede all'elenco dei file in una cartella, ecc.

## Servizio SFDocuments.Form

Il servizio Form fornisce metodi e proprietà per gestire i formulari nei documenti di LibreOffice. Questo servizio supporta i formulari dei documenti di Base, Calc e Writer e consente di:

- Aprire e attivare formulari.

- Navigare i record mostrati dal formulario.

- Ottenere l'accesso ai controlli presenti nel formulario.

- Ottenere l'accesso ai formulari secondari all'interno di un formulario principale.

## Servizio SFDocuments.FormControl

Il servizio FormControl fornisce accesso ai controlli che appartengono a un formulario, un formulario secondario o a un controllo tabella di un documento formulario (FormDocument). Ogni istanza del servizio FormControl si riferisce a un singolo controllo del formulario. Questo servizio permette agli utenti di:

- Ottenere e impostare le proprietà del controllo rappresentato dall'istanza di FormControl.

- Accedere al valore corrente visualizzato dal controllo.

- Impostare lo stato attivo sul controllo desiderato.

## Servizio ScriptForge.L10N

Questo sevizio fornisce una serie di metodi relativi alla traduzione di stringhe con un impatto minimo sul codice sorgente del programma. I metodi forniti dal servizio L10N possono essere usati principalmente per:

- Creare file POT che possono essere usati come modelli per la traduzione di tutte le stringhe del programma.

- Ottenere in fase di esecuzione le stringhe tradotte nella lingua definita nella proprietà Locale.

## Servizio ScriptForge.Platform

Il servizio Platform fornisce una raccolta di proprietà relative all'ambiente e al contesto di esecuzione correnti, come:

- La piattaforma hardware (architettura, numero di CPU, tipo di macchina, e via discorrendo)

- Informazioni sul sistema operativo (tipo, versione, ecc.)

- La versione di LibreOffice

- Il nome utente in uso

## ScriptForge.PopupMenu service

The PopupMenu service can be used to create popup menus that can be associated with events or executed by scripts. This service provides the following capabilities:

- Creation of popup menus with custom entries, checkboxes and radio buttons.

- Decoration of menu items with icons and tooltips.

## Servizio ScriptForge.Services

The main purpose of the Services module is to provide access to the CreateScriptService method, which can be called in user scripts to instantiate services that are implemented using the ScriptForge framework.

## ScriptForge.Session service

Il servizio Session raggruppa diversi metodi di uso generale relativi a:

- l'ambiente d'installazione o di esecuzione

- l'introspezione di UNO

- l'invocazione di script o di programmi esterni

## Servizio ScriptForge.String

Il servizio String fornisce una raccolta di metodi per l'eleborazione delle stringhe. Questi metodi possono essere usati per:

- Convalidare il contenuto delle stringhe

- Formattare le stringhe rimuovendo spazi, giustificandole o adattando i loro contenuti

- Usare le espressioni regolari per cercare e sostituire parti delle stringhe

- Applicare algoritmi di hash alle stringhe, ecc.

## Servizio ScriptForge.TextStream

Il servizio TextStream è usato per leggere e scrivere sequenzialmente da file aperti o creati usando il servizio ScriptForge.FileSystem.

I metodi OpenTextFile e CreateTextFile del servizio FileSystem restituiscono un'istanza del servizio TextStream.

## Servizio ScriptForge.Timer

Il servizio Timer misura il tempo impiegato per eseguire gli script dell'utente.

Un Timer misura le durate. Può essere:

- Avviato, per indicare quando iniziare la misurazione del tempo.

- Sospeso, per mettere in pausa la misurazione del tempo di esecuzione.

- Riavviato, per continuare a tracciare il tempo di esecuzione dopo che il Timer è stato sospeso.

- Ripristinato, per cancellare le misurazioni precedenti e far ripartire il Timer da zero.

## Servizio ScriptForge.UI

Il servizio UI (Interfaccia utente) semplifica l'identificazione e la manipolazione delle diverse finestre che compongono l'intera applicazione LibreOffice:

- Selezione delle finestre

- Spostamento e ridimensionamento delle finestre

- Impostazioni della barra di stato

- Visualizzazione di una barra di avanzamento mobile

- Creazione di nuove finestre

- Accesso ai "documenti" sottostanti

Nota: ulteriori moduli di ScriptForge, che non sono qui descritti, sono riservati per uso interno. Il loro contenuto è soggetto a modifiche senza preavviso.

All ScriptForge Basic routines or identifiers that are prefixed with an underscore character "_" are reserved for internal use. They are not meant be used in Basic macros or Python scripts.