Spis treści

# Podpisy metod ScriptForge

Biblioteki ScriptForge agregują zasoby skryptowe makro, aby LibreOffice, który ma zostać wywołany z makr Basic lub skryptów Pythona. Jego moduły i klasy są wywoływane ze skryptów użytkowników jako „usługi”, które ujawniają właściwości, metody i zdarzenia.

- Jeśli metody usługi są zaprojektowane wyłącznie dla LibreOffice Basic, notacja ich składni odpowiada podprogramom, funkcjom lub właściwościom Basic.

- Jeśli metody usługi są zaprojektowane dla Pythona i Basic lub tylko dla Pythona, ich składnia i argumenty używają określonego formatu.

## Metoda usług tylko dla Basic

Typograficzne cechy nawiasów kwadratowych, elips i nawiasów klamrowych wskazują na opcjonalne, powtarzające się i obowiązkowe argumenty:

- [opt1|opt2|opt3] Pozycje w nawiasach są opcjonalne, alternatywy są oznaczone pionową kreską.

- case[[sep]…] Wielokropek oznacza możliwe powtórzenie, można podać opcjonalny separator.

- {choice1|choice2} Pozycje w nawiasach klamrowych są obowiązkowe, alternatywy są oznaczone pionową kreską.

### Przykład:

           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 usług dla Pythona i Basic

Poniższe reguły typograficzne mieszają notację UML, układ dokumentacji API i interfejs użytkownika inspektora obiektów UNO:

- Opcjonalne parametry są oznaczone słowem opt, '=' z następującą wartością domyślną lub nawiasami kwadratowymi '[ ]'.

- Argumenty są napisane małymi literami, aby pasowały do zaleceń Pythona PEP 8 (podczas gdy rozmiar liter Basic nie ma znaczenia).

- Argumenty z kolekcjami lub sekwencjami API są oznaczone za pomocą mnogości w UML. Dotyczy to również wartości zwrotnych.

- Typy danych Basic są konwertowane na adnotacje Pythona w następujący sposób:

LibreOffice Basic | Składnia | Python
--- | --- | ---
Typ logiczny | bool | bool
Date | datetime | datetime
Double | float | float
Integer | int | int
Long | int | int
Object | obj |
Single | float | float
String | str | str
Variant | any |
Obiekt UNO | uno |
Użytkownika Typ (UDT) | obj |
Usługa ScriptForge | svc |

### Przykład:

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