Biblioteki ScriptForge

Spis treści
Indeks 🔎︎

# Biblioteka ScriptForge

Aby wykonać tę operację...

Otwórz Narzędzia - Makra - LibreOffice Basic - Edycja i wybierz kontener Makra aplikacji.

Biblioteki ScriptForge tworzą rozszerzalną kolekcję zasobów skryptów makr dla LibreOffice, które mogą być wywoływane z podstawowych makr lub skryptów Pythona.

• Podstawowe makra wymagają załadowania biblioteki ScriptForge przy użyciu następującej instrukcji:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skrypty Pythona wymagają importu z modułu scriptforge:
from scriptforge import CreateScriptService

Aby dowiedzieć się więcej o tworzeniu i wykonywaniu skryptów w języku Python przy użyciu biblioteki ScriptForge, przeczytaj stronę pomocy Tworzenie skryptów w języku Python za pomocą ScriptForge.

## Wywoływanie usług ScriptForge

Opisane moduły i klasy są wywoływane ze skryptów użytkownika jako „Usługi”. W tym celu dla każdego języka został zaprojektowany ogólny konstruktor tych usług.

Metoda Dispose jest dostępna we wszystkich usługach i należy ją wywołać w celu zwolnienia zasobów po użyciu:

##### W języku Basic

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

##### W języku Python

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

## Usługi świadczone przez bibliotekę ScriptForge

Kategoria | Usługi
--- | ---
LibreOffice Basic | Array Dictionary | Exception FileSystem | String TextStream
Treść dokumentu | Base Calc Chart | Database Datasheet | Document Writer
Interfejs użytkownika | Dialog DialogControl Form | FormControl Menu | PopupMenu UI
Narzędzia | Basic L10N Platform | Region Services Session | Timer UnitTest

## Usługa ScriptForge.Array

Udostępnia zbiór metod służących do manipulowania i przekształcania tablic jednego wymiaru (wektorów) i tablic dwuwymiarowych (macierzy). Obejmuje to operacje na zestawach, sortowanie, importowanie i eksportowanie do plików tekstowych.

Tablice o więcej niż dwóch wymiarach nie mogą być używane z metodami w tej usłudze, jedynym wyjątkiem jest metoda CountDims, która akceptuje tablice o dowolnej liczbie wymiarów.

## Usługa SFDocuments.Base

Usługa Base zapewnia szereg metod i właściwości ułatwiających zarządzanie i obsługę dokumentów LibreOffice Base.

Ta usługa jest ściśle powiązana z usługą Document, która zapewnia ogólne metody obsługi dokumentów LibreOffice, w tym dokumentów Base. W związku z tym usługa Base rozszerza usługę Document i udostępnia dodatkowe metody, specyficzne dla dokumentów Base, umożliwiające użytkownikom:

- Uzyskiwanie dostępu do bazy danych zawartej w dokumencie Base.

- Otwieranie dokumentów formularzy przechowywanych w dokumencie Base.

- Sprawdzanie, czy dokument formularza z dokumentu Base jest aktualnie załadowany.

## Usługa ScriptForge.Basic

Usługa ScriptForge.Basic proponuje kolekcję podstawowych metod LibreOffice do wykonania w kontekście języka Python. Metody usługi Basic odtwarzają dokładną składnię i zachowanie wbudowanych funkcji języka Basic.

## Usługa SFDocuments.Calc

Biblioteka współdzielona SFDocuments udostępnia szereg metod i właściwości ułatwiających zarządzanie i obsługę dokumentów LibreOffice.

Usługa SFDocuments.Calc jest podklasą usługi SFDocuments.Document. Dostęp do wszystkich metod i właściwości zdefiniowanych dla usługi Document można również uzyskać za pomocą instancji usługi Calc.

Usługa Calc koncentruje się na:

- Obsłudze arkuszy w dokumencie programu Calc (kopiowanie, wstawianie, przenoszenie itp.)

- Wymianie danych pomiędzy podstawowymi strukturami danych a zakresami Calc

- Kopiowaniu i importowaniu ogromnych ilości danych

## Usługa SFDocuments.Chart

Usługa Chart udostępnia zestaw właściwości i metod obsługi wykresów w dokumentach programu Calc. Dzięki tej usłudze możliwe jest:

- Uzyskanie dostępu do obiektów wykresów w dokumentach programu Calc i manipulowanie ich właściwościami.

- Tworzenie i wstawianie nowych wykresów do dokumentu Calc.

- Eksportowanie wykresów jako pliki obrazów.

## Usługa SFDatabases.Database

Usługa Database zapewnia dostęp do baz danych osadzonych lub opisanych w dokumentach Base. Usługa ta zapewnia metody umożliwiające:

- Uzyskanie dostępu do danych w tabelach bazy danych.

- Uruchamianie kwerendy SELECT i wykonywanie funkcji agregujących.

- Uruchamianie instrukcji działania SQL, takich jak INSERT, UPDATE, DELETE itp.

## Usługa SFDatabases.Datasheet

Usługa Datasheet pozwala na wizualizację zawartości tabel bazy danych oraz wyników kwerend i instrukcji SQL za pomocą widoku danych Base. Dodatkowo usługa ta umożliwia:

- Dodaj niestandardowe menu do widoku danych.

- Dostęp do wartości w określonych pozycjach widoku danych.

- Ustaw kursor w określonej komórce widoku danych.

## Usługa SFDialogs.Dialog

Usługa Dialog pomaga w zarządzaniu oknami dialogowymi utworzonymi za pomocą edytora okien dialogowych Basic. Każde wystąpienie bieżącej klasy reprezentuje pojedyncze okno dialogowe wyświetlane użytkownikowi.

## Usługa SFDialogs.DialogControl

Usługa DialogControl zarządza formantami należącymi do okna dialogowego zdefiniowanego za pomocą edytora okien dialogowych Basic. Każde wystąpienie bieżącej usługi reprezentuje pojedynczy formant w oknie dialogowym.

Usługa koncentruje się na pobieraniu i ustawianiu wartości wyświetlanych w formantach okna. Elementy można formatować za pomocą właściwości XControlModel i XControlView.

Należy pamiętać, że zawartość unikalnej właściwości DialogControl.Value różni się w zależności od typu formantu.

Szczególną uwagę zwrócono na formantu kontroli drzewa typów. Łatwo jest obsadzić drzewo, albo gałąź po gałęzi, albo zestawem gałęzi na raz. Wypełnianie formantu drzewa może odbywać się statycznie lub dynamicznie.

## Usługa ScriptForge.Dictionary

Słownik to zbiór par klucz-element

- Klucz jest ciągiem znaków, w którym nie jest rozróżniana wielkość liter

- Elementy mogą być dowolnego typu

## Usługa SFDocuments.Document

Biblioteka SFDocuments udostępnia metody i właściwości ułatwiające zarządzanie dokumentami LibreOffice i manipulowanie nimi.

Metody mające zastosowanie do wszystkich typów dokumentów (dokumenty tekstowe, arkusze, prezentacje itp.) udostępnia usługa SFDocuments.Document. Oto kilka przykładów:

- Otwieranie, zamykanie i zapisywanie dokumentów

- Dostęp do standardowych lub niestandardowych właściwości dokumentów

## Usługa ScriptForge.Exception

Usługa Exception to zbiór metod wspomagających debugowanie kodu w skryptach Basic i Python oraz obsługę błędów w skryptach Basic.

W skryptach Basic, gdy wystąpi błąd wykonania, metody i właściwości usługi Exception pomagają zidentyfikować kontekst błędu i pozwalają go obsłużyć.

## ScriptForge.FileSystem service

The FileSystem service includes routines to handle files and folders. Next are some examples of the features provided by this service:

- Verify whether a file or folder exists.

- Create and delete folders and files.

- Launch dialog boxes to open/save files.

- Access the list of files in a folder, etc.

## SFDocuments.Form service

The Form service provides methods and properties to manage forms in LibreOffice documents. This service supports forms in Base, Calc and Writer documents and allows to:

- Open and activate forms.

- Navigate through records shown by the form.

- Get access to the controls inside the form.

- Get access to subforms of a parent form.

## SFDocuments.FormControl service

The FormControl service provides access to the controls that belong to a form, a subform or a table control of a FormDocument. Each instance of the FormControl service refers to a single control in the form. This service allows users to:

- Get and set the properties of the control represented by the FormControl instance.

- Access the current value displayed by the control.

- Set the focus on the desired control.

## ScriptForge.L10N service

This service provides a number of methods related to the translation of strings with minimal impact on the program's source code. The methods provided by the L10N service can be used mainly to:

- Create POT files that can be used as templates for translation of all strings in the program.

- Get translated strings at runtime for the language defined in the Locale property.

## SFWidgets.Menu service

The Menu service can be used to create and remove menus from the menubar of a LibreOffice document window. Each menu entry can be associated with a script or with a UNO command. This service provides the following capabilities:

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

- Decoration of menu items with icons and tooltips.

## ScriptForge.Platform service

The Platform service provides a collection of properties about the current execution environment and context, such as:

- The hardware platform (architecture, CPU count, machine type, etc)

- Operating system information (OS type, release, version, etc)

- The LibreOffice version

- The current user name

## SFWidgets.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.

## ScriptForge.Region service

The Region service provides a collection of properties and methods to handle locale and region-related aspects of programming, such as:

- Accessing locale and region-dependent settings such as number formatting, currency and timezones.

- Converting timezones and calculate Daylight Saving Time (DST) offsets.

- Transforming numbers into text in any supported language.

## ScriptForge.Services service

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

The Session service gathers various general-purpose methods about:

- the installation or execution environment

- UNO introspection

- the invocation of external scripts or programs

## ScriptForge.String service

The String service provides a collection of methods for string processing. These methods can be used to:

- Validate the contents of strings

- Format strings by trimming, justifying or wrapping their contents

- Use regular expressions to search and replace substrings

- Apply hash algorithms on strings, etc.

## ScriptForge.TextStream service

The TextStream service is used to sequentially read from and write to files opened or created using the ScriptForge.FileSystem service.

The methods OpenTextFile and CreateTextFile from the FileSystem service return an instance of the TextStream service.

## ScriptForge.Timer service

The Timer service measures the amount of time it takes to run user scripts.

A Timer measures durations. It can be:

- Started, to indicate when to start measuring time.

- Suspended, to pause measuring running time.

- Resumed, to continue tracking running time after the Timer has been suspended.

- Restarted, which will cancel previous measurements and start the Timer at zero.

## ScriptForge.UI service

The UI (User Interface) service simplifies the identification and the manipulation of the different windows composing the whole LibreOffice application:

- Windows selection

- Windows moving and resizing

- Statusbar settings

- Display of a floating progress bar

- Creation of new windows

- Access to the underlying "documents"

## SFUnitTests.UnitTest service

The UnitTest service provides a framework for automating unit tests using the Basic language, including the ability to:

- Aggregate test cases into test suites and unit tests.

- Share setup and shutdown code among test cases.

- Report test results using the Console.

## SFDocuments.Writer service

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

Some methods are generic for all types of documents and are inherited from the SF_Document module, whereas other methods that are specific for Writer documents are defined in the SF_Writer module.

Uwaga: inne nieopisane moduły ScriptForge są zarezerwowane do użytku wewnętrznego. Ich treść może ulec zmianie bez powiadomienia.

Wszystkie podstawowe procedury lub identyfikatory ScriptForge poprzedzone znakiem podkreślenia „_” są zarezerwowane do użytku wewnętrznego. Nie należy ich używać w makrach Basic ani skryptach Pythona.