Obsah

# Signatury metod knihovny ScriptForge

Knihovny ScriptForge sdružují zdroje pro skriptování maker v LibreOffice, které lze volat z maker Basicu nebo skriptů Pythonu. Jejich moduly a třídy jsou z uživatelských skriptů dostupné jako „služby“, které zpřístupňují vlastnosti, metody a události.

- Jestliže jsou metody služby navrženy pouze pro LibreOffice Basic, zápis jejich syntaxe odpovídá zápisu pro podprogramy, funkce či vlastnosti Basicu.

- Jsou-li metody služby navrženy pro Python i Basic, případně pouze pro Python, zápis jejich syntaxe a argumentů používá specifický formát.

## Metoda služby pouze pro Basic

Typografické znaky hranatých závorek, výpustky a složených závorek značí volitelné, opakované a povinné argumenty:

- [opt1|opt2|opt3] Položky v hranatých závorkách jsou volitelné, alternativy jsou odděleny svislou čarou.

- case[[sep]…] Výpustka značí možné opakování, volitelně lze určit oddělovač.

- {choice1|choice2} Items inside curly braces are mandatory, alternatives are indicated with a vertical bar.

### Příklad:

           FSO.HashFile(FileName As String, _
               Algorithm As String = {MD5|SHA1|SHA224|SHA256|SHA384|SHA512}) As String
           SF_Array.ImportFromCSVFile(FileName As String, _
               [Delimiter = ","], [DateFormat As String]) As Variant
           SF_String.SplitNotQuoted(InputStr As String, _
              [Delimiter As String], [Occurrences As Long], [QuoteChar As String]) As Variant

## Metoda služby pro Python i Basic

Následující typografická pravidla kombinují zápis UML, formát dokumentace API a uživatelské rozhraní průzkumníku objektů UNO:

- Volitelné parametry jsou označeny slovem opt, znakem '=' s následující výchozí hodnotou nebo hranatými závorkami '[]'.

- Argumenty jsou psány malými písmeny, aby odpovídaly doporučení Pythonu PEP 8 (zatímco v Basicu se velikost písmen nerozlišuje).

- Argumenty s kolekcemi nebo posloupnosti API jsou označeny pomocí mohutnosti v UML. To platí také pro návratové hodnoty.

- Datové typy Basicu jsou převáděny na anotace Pythonu následovně:

LibreOffice Basic | Syntaxe | Python
--- | --- | ---
Boolean | bool | bool
Date | datetime | datetime
Double | float | float
Integer | int | int
Long | int | int
Object | obj |
Single | float | float
String | str | str
Variant | any |
objekt UNO | uno |
uživatelem definovaný typ (UDT) | obj |
služba ScriptForge | svc |

### Příklad:

svc.Forms( opt form: any ): svc[0..*]

svc.MsgBox( prompt: str, buttons = svc.MB_OK , opt title: str ): opt str

svc.InputBox( prompt: str, default = "", [ title: str ], [ xpostwips: int, ypostwips: int ] ): str