Innhald

# ScriptForge metodesignaturar

ScriptForge-biblioteker samlar makroskript-ressursar for LibreOffice som vert kalla opp frå Basic-makroar eller Python-skript. Modulane og klassane der vert kalla opp frå brukarskript som «tenester» som visar eigenskapar, metodar og hendingar.

- Når tenestemetodar berre vert føreslåtte for LibreOffice Basic, samsvarar syntaksrepresentasjonen med syntaksrepresentasjonen for Basic delrutiner, funksjonar eller eigenskapar.

- Når tenestemetodar vert føreslåtte for Python og Basic, eller berre for Python, brukar syntaksen og argumenta ei bestemt tekstutforming.

## Tenestemetode berre for Basic

Typografiske teikn som hakeparentesar, ellipse eller klammeparentesar visar valfrie, repeterande eller obligatoriske argument:

- [opt1|opt2|opt3] Element inne i klammer er valfrie, alternativa er viste skilde med ein loddrett strek,

- case[[sep]…] Eit ellipseteikn (…) indikerer ei mogleg gjentaking. Du kan bruka eit valfritt separatorteikn.

- {choice1|choice2} Element innanfor krøllparentesar er obligatoriske, alternativa er indikerte med ein loddrett strek.

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

## Tenestemetodar for Python eller Basic

Desse typografiske reglane blandar UML-notasjonen, API-dokumentasjonsoppsettet og brukargrensesnittet for UNO-objektinspektor:

- Valfrie parametrar er viste med anten opt, «=» følgd av ein standardverdi eller hakeparentes «[ ]».

- argumenta vert skrivne med små bokstavar for å passa med Python PEP 8, medan Basic ikkje skil mellom store og små bokstavar.

- Samlingsargument eller API-sekvensar vert nemnde ved hjelp av UML-multiplisitet. Dette gjeld også returverdiar.

- Basic-datatypar og Python-merknadar er syntaktisk transponert 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 |
Brukardefinert Type (UDT) | obj |
Tenesta 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