ScriptForge-biblioteka

Innhald
Innhaldsliste 🔎︎

# ScriptForge-biblioteket

For å bruka denne funksjonen …

Opna Verktøy → Makroar → LibreOffice Basic → Rediger og vel LibreOffice Makroar.

ScriptForge-biblioteker byggjer opp ei samling av makroskriptressursar, som kan utvidast, for LibreOffice som skal startast frå grunnleggjande makroar eller Python-skript.

• Basic macros require to load ScriptForge library using the following statement:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scripts require an import from scriptforge module:
from scriptforge import CreateScriptService

For å læra meir om korleis du lagar og køyrer Python-skript ved å bruka ScriptForge-biblioteket, kan du lesa hjelpesida Laga Python-skript med ScriptForge.

## Slå på ScriptForge-tenester

Dei omtalte modulane og klassane vert kalla opp frå brukarskriptet som «tenester». Til dette føremålet er det utforma ein generisk konstruktør for desse tenestene for kvart språk:

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
        ' ...
        oSvc.Dispose()

        from scriptforge import CreateScriptService
        svc = CreateScriptService('servicename'[, arg0, arg1, ...])
        # ...
        svc.Dispose()

Metoden Dispose er tilgjengeleg i alle tenester og bør kallast opp for å frigjera ressursar etter bruk.

## Tenester leverte av biblioteket ScriptForge

Kategori | Tenester |
LibreOffice Basic | Array Dictionary Exception | FileSystem String TextStream
Dokumentinnhald | Base Calc Chart | Database Document
Brukargrensesnitt | Dialog DialogControl Form | FormControl PopupMenu UI
Verktøyprogram | Basic L10N Platform | Services Session Timer

## ScriptForge.Array-teneste

Inneheld ei samling metodar for å handsama og transformera matriser av éin dimensjon (vektorar) og matriser med to dimensjonar (matriser). Dette inkluderer å setja operasjonar, sortera, importera til og eksportere frå tekstfiler.

Matyriser med meir enn to dimensjonar kan ikkje brukast med metodane i denne tenesta. Einaste unnataket er metoden CountDims, som godtar matriser med kor mange dimensjonar som helst.

## Tenesta SFDocuments.Base

Tenesta Base inneheld ei rad metodar og eigenskapar for å forenkla administreringa og hanfsaminga av LibreOffice Base-dokument.

Denne tenesta er nært knytt til tenesta ;Document, som inneheld generiske metodar for handsaming av LibreOffice-dokument, inkludert Base-dokument. Difor utvidar tenesta Base Document-tenesta og inneheld fleire metodar som er spesifikke for Base-dokument, slik at brukarane kan:

- Få tilgang til databasen innebygd i eit Base-dokument.

- Opna skjemadokument som er lagra i eit Base-dokument.

- Kontrollera om eit skjemadokument frå eit Base-dokument er lasta inn.

## Tenesta ScriptForge.Basic

Tenesta ScriptForge.Basic tilbyr ei samling av LibreOffice Basic-metodar som kan køyrast i ein Python-samanheng. Tenesta Basic sine metodar reproduserer dei innebygde Basic-funksjonane nøyaktig i høve til syntaks og oppførsel.

## Tenesta SFDocuments.Calc

Det delte biblioteket SFDocuments som gjev mange metodar og eigenskapar som letter administrasjon og handsaming av LibreOffice-dokument.

Tenesta SFDocuments.Calc er ein underklasse av SFDocuments.Document -tenesta. Alle metodar og eigenskapar definerte for tenesta Document kan også nåast ved å bruka ein førekomst av Calc-tenesta.

Tenesta Calc er fokusert på:

- Handsaming av ark i eit Calc-dokument (kopiera, setja inn, flytta osv.)

- Dataudveksling mellom Basic data-strukturar og Calc-område

- Kopiering og import av enorme datamengder

## Tenesta ScriptForge.Chart

Teenesta Chart (diagram) leverer eit sett eigenskapar og metodar for å handsama diagram i Calc-dokument. Med denne tenesta er det råd å:

- Få tilgang til diagram-objekt i Calc-dokument og endra eigenskapane deira.

- Laga og setja inn nye diagram i eit Calc-dokument.

- Eksportera diagram som biletfiler.

## Tenesta SFDatabases.Database

Tenesta Database gjev tilgang til databasar anten innebygde eller omtalte i Base-dokument. Denne tenesta leverer metodar til:

- Få tilgang til data i databasetabellar

- Køyr SELECT-spørjingar og utfør SAMANDRAG-funksjonar.

- Køyr SQL-handlingsuttrykk som INSERT (set inn), UPDATE (oppdater), DELETE (slett) og så vidare.

## Tenesta SFDialogs.Dialog

Tenesta Dialog bidreg til handsaminga av dialogar oppretta med Basic lDialog Editor. Kvar førekomst av den nåverande klassen representerer éin dialogboks som vert vist for brukaren.

## Tenesta SFDialogs.DialogControl

Tenesta DialogControl handsamar dei kontrollelementa som høyrer til eit dialogvindauge som er definert med Dialog Editor i Basic. Kvar førekomst av den gjeldande tenesta representerer eitt kontrollelement i eit dialogvindauge.

Fokus vert sett på å hente verdiane som vert viste av kontrollelementa i dialogvindauget. Formatering er tilgjengeleg via eigenskapane XControlModel og XControlView.

Merk at innhaldet av den unike eigenskapen DialogControl.Value varierer i høve til type kontrollelement.

Kontrollar av typen trekontroll får spesiell merksemd. Det er enkelt å fylla eit tre, anten forgreina etter grein eller med eit sett med greiner samstundes. Utfylling av ein trekontroll kan gjerast statisk eller dynamisk.

## Tenesta ScriptForge.Dictionary

Ei ordliste er ei samling av nøkkelelementpar

- Nøkkelen er ein streng som skil mellom store og små bokstavar

- Elementa kan vera av kva type som helst

## Tenesta SFDocuments.Document

Biblioteket SFDocuments gjev metodar og eigenskapar for å letta handsaming og manipulering av LibreOffice-dokument.

Metodar som kan brukast på alle typar av dokument (tekstdokument, rekneark, presentasjonar og så vidare) vert leverte av tenesta SFDocuments.Document. Nokre eksempel er:

- Opning, lukking og lagring av dokument

- Tilgang til standard eller tilpassa eigenskapar for dokumenta

## Tenesta ScriptForge.Exception

Tenesta Exception (unnatak) er ei samling av metodar som hjelper til med med feilsøking (debugging) av kode i Basic- og Python-skript og feilhandsaming i Basic-skript.

Når det oppstår ein køyretidsfeil i Basic-skript, hjelper metodane og eigenskapane til Exception-tenesta til å identifisere feilsamanhengen og tillata å handsama han.

## Tenesta ScriptForge.FileSystem

Tenesta FileSystem inneheld rutinar for handsaming av filer og mapper. Her kjem nokre eksempel på funksjonane som vert leverte av denne tenesta:

- Verifiserer om ei fil eller ei mappa finst.

- Laga og sletta filer og mapper.

- Starta dialogvindauge for å opna og gøyma filer.

- Få tilgang til lista over filer i ei mappe osv.

## Tenesta SFDocuments. Form

Tenesta Form har metodar og eigenskapar for å administrera skjema i LibreOffice-dokument. Denne tenesta har støtte for skjema i Base-, Calc- og Writer-dokument og tillet:

- Opna og aktiver skjema.

- Naviger gjennom postane som vert viste i skjemaet.

- Få tilgang til kontrollelementa i skjemaet.

- Få tilgang til underskjema til eit overordna skjema.

## Teenesta SFDocuments.FormControl

Tenesta FormControl gjev tilgang til kontrollane knytte til eit skjema, underskjema eller ein tabellkontroll for eit FormDocument. Kvar førekomst av FormControl-tenesta refererer til eitt enkelt kontrollelement i skjemaet. Denne tenesta tillet brukarane å:

- Finn og set eigenskapane for kontrollelementet representert av førekomsten FormControl.

- Få tilgang til den gjeldande verdien vist av kontrollelementet.

- Set fokus på det ønskte kontrollelementet.

## Tenesta ScriptForge.L10N

Denne tenesta inneheld ei rekkje metodar knytt til omsetjinga av strengar med minimal innverknad på kjeldekodane for programmet. Metodane som er leverte av tenesta L10N kan i hovudsak brukast til å:

- Laga POT-filer som kan brukast som malar for omsetjing av alle strengane i programmet.

- Henta omsette strengar under køyringa for det språket som er definert i eigenskapen Locale.

## Tenesta ScriptForge.Platform

Tenesta Platform inneheld ei samling eigenskapar om gjeldande køyringsmiljø og samanheng, for eksempel:

- Maskinvareplattforma (arkitektur, tal på CPU-ar, maskintype osv.)

- Informasjon om operativsystemet (OS-type, utgjevnad, versjon osv.)

- LibreOffice-versjonen

- Det gjeldande brukarnamnet

## Tenesta ScriptForge.PopupMenu

Tenesta PopupMenu kan brukast til å laga sprettoppmenyar som kan knyttast til hendingar eller køyrast av skript. Denne tenesta inneheld desse funksjonane:

- Lagar ein sprettoppmeny med tilpassa innføringar, avkryssingsfelt og radioknappar.

- Dekorasjon av menyelement med ikon og infotekstar

## Tenesta ScriptForge.Services

Hovudføremålet med modulen Services er å gje tilgang til metoden CreateScriptService, som kan kallast opp i brukarskript for å setja opp tenester som vert implementerte med ScriptForge-miljøet.

## Tenesta ScriptForge.Session

Tenesta Session samlar ulike generelle metodar:

- installasjons- eller utførings-miljøet

- UNO-introspeksjon

- oppkall av eksterne skript eller program

## Tenesta ScriptForge.String

Tenesta String leverer ei samling av metodar til strenghandsaming. Desse metodane kan brukast til:

- Kontrollera innhaldet i strengar

- Formater strengar ved å trimma, justere eller tekstbryte innhaldet

- Bruk regulære uttrykk til å søkja og erstatta understrengar

- Bruka hash-algoritmar på strengar og så vidare.

## Tenesta ScriptForge.TextStream

Tenesta TextStream vert brukt til å lesa sekvensielt frå og skriva til filer som er opna eller laga ved hjelp av tenesta ScriptForge.FileSystem.

Metodane OpenTextFile og CreateTextFile frå tenesta FileSystem returnerer ein førekomst av tenesta TextStream.

## Tenesta ScriptForge.Timer

Tenesta Timer måler kor lang tid det tar å køyra brukarskript.

Ein Timer mæler tidlengd. Det kan vera:

- Starta for å visa når tidtakinga byrjar.

- Suspendert for å laga pause i målinga under køyringa.

- Gjenoppteken for å halda fram mælinga etter at «Timer» vart suspendert.

- Starta på nytt. Dette vil avbryta tidlegare målingar og starta Timer frå null.

## Tenesta ScriptForge.UI

T Tenesta UI (User Interface = brukargrensesnitt) gjer identifikasjonen og handsaminga av dei ulike vindauga som heile LibreOffice-programmet er bygd opp av.

- Windows selection

- Flytting og endring av storleiken på vindauga

- Innstillingar for statuslinja

- Å visa ei flytande framdriftslinje

- Laga nye vindauge

- Tilgang til dei underliggjande «dokumenta»

Merk: Andre ScriptForge-modular som ikkje er omtalte, er reserverte for internt bruk. Innhaldet i desse kan endrast utan varsel.

Alle ScriptForge Basic-rutinane og -identifikatorane som vert innleidde med understrek «_» er reserverte for internt bruk. Dei er ikkje meint brukte i Basic-makroar.