Indhold

# ScriptForge metodesignaturer

ScriptForge-biblioteker samler makroscript-ressourcer til LibreOffice, der vil blive kaldt fra Basic-makroer eller Python-scripts. Dets moduler og klasser kaldes fra brugerscripts som "tjenester", der fremviser egenskaber, metoder og hændelser.

- Hver gang tjenestemetoder foreslås udelukkende til LibreOffice Baxic, matcher deres syntaks-præsentation Basic-underrutiner, -funktioner og -egenskaber.

- Hver gang tjenestemetoder foreslås til Python og Basic, eller udelukkende til Python, bruger deres syntaks og argumenter en bestemt tekstlayout.

## Tjenestemetode udelukkende til Basic

Typografiske tegn så som klammer, udeladelsesprikker eller krøllede parenteser betegner valgfrie, gentagne eller obligatoriske argumenter:

- [opt1|opt2|opt3] Elementer i klammer er vilkårlige, alternativer vises med en lodret streg,

- case[[sep]…] En ellipsis (…) viser en mulig gentagelse, en vilkårlig separator kan angives,

- {choice1|choice2} Elementer i krøllede parenteser er obligatoriske, alternativer er angivet med en lodret streg.

### Eksempel:

           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

## Tjenestemetoder til Python eller Basic

Disse typografiske regler blandes med UML-notationen, APIs dokumentations layout og brugerfladen i UNOs objektinspektor:

- Frivillige parametre er vist med enten opt, '=' ledsaget af en standardværdi eller klammer '[ ]'.

- argumenter skrives med småt for at overholde Python PEP 8, mens Basic ikke skelner mellem store og små bogstaver.

- Collections (Samlings) argumenter eller API-sekvenser er benævnt med UML-mangfoldighed. Det gælder også returværdier.

- Basics datatyper og Python-bemærkninger transponeres syntaktisk som:

LibreOffice Basic | Syntaks | Python
--- | --- | ---
Boolsk | bool | bool
Date | datetime | datetime
Double | float | float
Integer | int | int
Long | int | int
Object | obj |
Single | float | float
String | str | str
Variant | any |
UNO-objekt | uno |
Brugerdefineret Type (UDT) | obj |
Tjenesten ScriptForge | svc |

### Eksempel:

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