Sumário

# ScriptForgeAssinaturas de método

As bibliotecas ScriptForge agregam recursos de script de macro para LibreOffice para serem invocados desde macros do Basic ou scripts Python. Seus módulos e classes são chamados de scripts de usuário como "Serviços" que expõem propriedades, métodos e eventos.

- Sempre que os métodos de serviço são propostos exclusivamente para o Basic LibreOffice, a apresentação de sintaxe deles corresponde àquelas sub-rotinas, funções ou propriedades do Basic.

- Sempre que métodos de serviço são propostos para Python e Basic, ou apenas para Python, sua sintaxe e argumentos usam um leiaute textual específico.

## Método de serviço apenas para o Basic

Caracteres tipográficos como colchetes, reticências ou chaves denotam argumentos opcionais, repetitivos ou obrigatórios:

- [opt1|opt2|opt3] Itens dentro de colchetes são opcionais, as alternativas são indicadas com uma barra vertical,

- case[[sep]…] Uma reticências indica uma repetição possível, um separador opcional pode ser especificado,

- {choice1|choice2} itens dentro de chaves são obrigatórios, alternativas são indicadas por uma barra vertical.

### Exemplo:

           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

## Métodos de serviço do Python ou Basic

As seguintes regras tipográficas combinam a notação UML, o leiaute da documentação da API e a interface de usuário do inspetor de objetos UNO:

- Os parâmetros opcionais são indicados tanto com opt, '=' acompanhando um valor padrão ou '[]' colchetes.

- argumentos são em letras minúsculas, a fim de cumprir com Python PEP 8, enquanto Basic é independente de maiúsculas e minúsculas.

- Argumentos de coleção ou sequências da API são denotadas usando multiplicidade UML. Isso também se aplica a valores de retorno.

- Tipos de dados Basic e anotações em Python são traduzidas como:

LibreOffice Basic | Sintaxe | 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 |
Objeto UNO | uno |
Tipo Definido pelo Usuário (UDT) | obj |
Service ScriptForge | svc |

### Exemplo:

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