Inhoud

# ScriptForge.Basic service

De service ScriptForge.Basic bevat een aantal LibreOffice Basic methodes die vanuit Python uitgevoerd kunnen worden. De methodes in de service Basic gebruiken dezelfde syntaxis en doen hetzelfde als de ingebouwde Basic-functies.

Typerend voorbeeld:

       bas.MsgBox('Toon deze tekst in een berichtvenster vanuit een Python-script')

De service ScriptForge.Basic is alleen voor gebruik in Python-scripts.

## Service aanroep

Voordat de service Basic gebruikt kan worden moet de methode CreateScriptService worden geïmporteerd uit de module scriptforge:

        from scriptforge import CreateScriptService
        bas = CreateScriptService("Basic")

## Eigenschappen

Naam | AlleenLezen | Type | Beschrijving
--- | --- | --- | ---
MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL | Ja | Integer | Waardes: 0, 1, 5, 4, 3
MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP | Ja | Integer | Waardes: 48, 64, 32, 16
MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3 | Ja | Integer | Waardes: 2, 128, 256, 512
IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES | Ja | Integer | Waardes: 3, 2, 5, 7, 1, 4, 6 Een constante die aangeeft welke knop in de MsgBox is ingedrukt.
StarDesktop | Ja | UNO -object | Retourneert het StarDesktop-object dat de toepassing LibreOffice vertegenwoordigt.
ThisComponent | Ja | UNO -object | Als de huidige component verwijst naar een LibreOffice-document, retourneert deze methode het UNO-object dat het document vertegenwoordigt. Deze eigenschap retourneert Geen wanneer de huidige component niet overeenkomt met een document.
ThisDatabaseDocument | Ja | UNO -object | Als het script wordt uitgevoerd vanuit een Base-document of een van de subcomponenten ervan, retourneert deze methode de hoofdcomponent van de Base-instantie. Anders retourneert deze eigenschap Geen.

De lijst met methodes in de service Basic
CDate CDateFromUnoDateTime CDateToUnoDateTime ConvertFromUrl (*) ConvertToUrl (*) CreateUnoService CreateUnoStruct (*) DateAdd | DateDiff DatePart DateValue Format GetDefaultContext GetGuiType (*) GetPathSeparator (*) GetSystemTicks | GlobalScope.BasicLibraries GlobalScope.DialogLibraries InputBox (*) MsgBox (*) Now RGB Xray

Er bestaan Python-alternatieven voor methoden die gemarkeerd zijn met (*).

## CDate

Converteert een numerieke expressie of een tekenreeks naar een intern datetime.datetime Python-object.

Met deze methode kan de interne Basic-functie CDate worden gebruikt in Python-scripts.

### Syntaxis:

svc.CDate(expression: any): obj

### Parameters:

expression: een numerieke expressie of een tekenreeks die staat voor een datum.

Wanneer u een tekenreeksexpressie converteert, moeten de datum en tijd worden ingevoerd in een van de datumacceptatiepatronen die zijn gedefinieerd voor uw landinstelling (zie LibreOffice - Voorkeuren Extra - Opties - Taalinstellingen - Talen) of in ISO datumformaat (momenteel wordt alleen het ISO-formaat met koppeltekens, bijvoorbeeld "31-12-2012" geaccepteerd). In numerieke uitdrukkingen vertegenwoordigen waardes links van de decimaal de datum, beginnend op 31 december 1899. Waardes rechts van de decimaal vertegenwoordigen de tijd.

### Voorbeeld:

        d = bas.CDate(1000.25)
        bas.MsgBox(str(d)) # 1902-09-26 06:00:00
        bas.MsgBox(d.year) # 1902

## CDateFromUnoDateTime

Converteert een UNO date/time veld naar een intern datetime.datetime Python-object.

### Syntaxis:

svc.CDateFromUnoDateTime(unodate: uno): obj

### Parameters:

unodate: Een UNO datum/tijd object van een van de volgende types: com.sun.star.util.DateTime, com.sun.star.util.Date of com.sun.star.util.Time

### Voorbeeld:

In dit voorbeeld wordt een com.sun.star.util.DateTime object aangemaakt en daarna geconverteerd naar een datetime.datetime Python object.

        uno_date = bas.CreateUnoStruct('com.sun.star.util.DateTime')
        uno_date.Year = 1983
        uno_date.Month = 2
        uno_date.Day = 23
        new_date = bas.CDateFromUnoDateTime(uno_date)
        bas.MsgBox(str(new_date)) # 1983-02-23 00:00:00

## CDateToUnoDateTime

Converteert een representatie van een datum naar een com.sun.star.util.DateTime object.

### Syntaxis:

svc.CDateToUnoDateTime(date: obj): uno

### Parameters:

date: Een Python datum/tijd object van een van de volgende types: datetime.datetime, datetime.date, datetime.time, float (time.time) of time.struct_time.

### Voorbeeld:

        from datetime import datetime
        current_datetime = datetime.now()
        uno_date = bas.CDateToUnoDateTime(current_datetime)
        bas.MsgBox(str(uno_date.Year) + "-" + str(uno_date.Month) + "-" + str(uno_date.Day))

## ConvertFromUrl

Retourneert een bestandsnaam voor het als argument meegegeven bestand: url.

### Syntaxis:

svc.ConvertFromUrl(url: str): str

### Parameters:

url: Een bestand dat met de URL wordt aangegeven.

### Retourtype:

Een systeempad bestandsnaam.

### Voorbeeld:

        filename = bas.ConvertFromUrl( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt" )
        bas.MsgBox(filename)

uno module de fileUrlToSystemPath()-methode retourneert een systeempad met behulp van identieke syntaxis.

        import uno
        filename = uno.fileUrlToSystemPath( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt" )
        bas.MsgBox(filename)

## ConvertToUrl

Retourneert een bestand: URL voor het gegeven systeempad.

### Syntaxis:

svc.ConvertToUrl(systempath: str): str

### Parameters:

systempath: Een systeembestandsnaam als een tekenreeks.

### Retourtype:

A file: URL als een tekenreeks.

### Voorbeeld:

        url = bas.ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
        bas.MsgBox(url)

uno module de systemPathToFileUrl()-methode retourneert een bestands-URL voor het opgegeven systeempad.

        from uno import systemPathToFileUrl as ConvertToUrl
        filename = ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
        bas.MsgBox(filename)

## CreateUnoService

Maakt een instantie van een UNO-service aan met de ProcessServiceManager.

### Syntaxis:

svc.CreateUnoService(servicename: str): uno

### Parameters:

servicename: Een volledige servicenaam zoals com.sun.star.ui.dialogs.FilePicker of com.sun.star.sheet.FunctionAccess.

### Voorbeeld:

        dsk = bas.CreateUnoService('com.sun.star.frame.Desktop')

## CreateUnoStruct

Retourneert een exemplaar van een UNO-structuur van het opgegeven type.

### Syntaxis:

svc.CreateUnoStruct(unostructure: str): uno

### Parameters:

unostructure: Een volledig gekwalificeerde structuurnaam zoals com.sun.star.beans.Property of com.sun.star.util.DateTime.

### Voorbeeld:

        date_struct = CreateUnoStruct('com.sun.star.util.DateTime')

uno module createUnoStruct()-methode maakt een instantie van een Uno-structuurtype.

        import uno
        p = uno.createUnoStruct( 'com.sun.star.beans.Property' )
        bas.MsgBox(p)

## DateAdd

Voegt een datum of tijdsperiode een aantal keren toe aan een gegeven datum/tijd en retourneert de resulterende datum.

### Syntaxis:

svc.DateAdd(interval: str, number: num, date: datetime): datetime

### Parameters:

interval: Een tekst uit de onderstaande tabel die aangeeft wat het datum/tijd interval is.

interval (Tekst) | Uitleg
--- | ---
yyyy | Jaar
q | Kwartaal
m | Maand
y | Dag van het jaar
w | Dag van de week
ww | Week van het jaar
d | Dag
h | Uur
n | Minuut
s | Seconde

number: Een numerieke expressie die aangeeft hoe vaak de waarde van het interval wordt opgeteld (positieve waarde) of afgetrokken (negatieve waarde).

date: Een datetime.datetime waarde die het beginpunt aangeeft, de waarde van het interval wordt number keer aan deze datetime.datetime waarde toegevoegd.

### Retourtype:

Een datetime.datetime waarde.

### Voorbeeld:

        dt = datetime.datetime(2004, 1, 31)
        dt = bas.DateAdd("m", 1, dt)
        print(dt)

## DateDiff

Retourneert het aantal dagen of het aantal tijdsintervallen tussen twee opgegeven datums/tijden.

### Syntaxis:

svc.DateDiff(interval: str, date1: datetime, date2: datetime, firstdayofweek = 1, firstweekofyear = 1): int

### Parameters:

interval: Een tekenreeks expressie die het datuminterval aangeeft, zoals hierboven bij de methode DateAdd is beschreven.

date1, date2: De twee datetime.datetime waardes die vergeleken gaan worden.

eerstedagvandeweek: Een optionele parameter die de eerste dag van de week aangeeft.

eerstedagvandeweek waarde | Uitleg
--- | ---
0 | Standaardwaarde van het systeem gebruiken
1 | Zondag (standaard)
2 | Maandag
3 | Dinsdag
4 | Woensdag
5 | Donderdag
6 | Vrijdag
7 | Zaterdag

eersteweekvanhetjaar: Een optionele parameter die de eerste week van het jaar aangeeft.

eersteweekvanhetjaar waarde | Uitleg
--- | ---
0 | Standaardwaarde van het systeem gebruiken
1 | Week 1 is de week waarin 1 januari valt (standaard)
2 | Week 1 is de eerste week waarin vier of meer dagen van dat jaar vallen
3 | Week 1 is de eerste week waarin alleen dagen van het nieuwe jaar vallen

### Retourtype:

Een getal.

### Voorbeeld:

        date1 = datetime.datetime(2005,1, 1)
        date2 = datetime.datetime(2005,12,31)
        diffDays = bas.DateDiff('d', date1, date2)
        print(diffDays)

## DatePart

De functie DatePart retourneert een aangegeven deel van een datum.

### Syntaxis:

svc.DatePart(interval: str, date: datetime, firstdayofweek = 1, firstweekofyear = 1): int

### Parameters:

interval: Een tekst die het datuminterval aangeeft, dit zoals hierboven bij de methode DateAdd is beschreven.

date: De datum waaruit het resultaat wordt berekend.

firstdayofweek, firstweekofyear: optionele parameters die de eerste dag van de week resp. jaar aangeven. dit zoals hierboven bij de methode DateDiff is beschreven.

### Retourtype:

Het gevraagde deel uit de gegeven datum/tijd.

### Voorbeeld:

        print(bas.DatePart("ww", datetime.datetime(2005,12,31)
        print(bas.DatePart('q', datetime.datetime(1999,12,30)

## DateValue

Bepaalt een datumwaarde uit een tekenreeks die een datum weergeeft.

### Syntaxis:

svc.DateValue(date: str): datetime

### Parameters:

date: een tekenreeks die de datum bevat die wordt geconverteerd naar een Date-object.

De tekenreeks die wordt doorgegeven aan DateValue moet worden uitgedrukt in een van de datumnotaties die zijn gedefinieerd door uw landinstelling (zie LibreOffice - Voorkeuren Extra - Opties - Taalinstellingen - Talen) of gebruik de ISO datumformaat "jjjj-mm-dd" (jaar, maand en dag gescheiden door koppeltekens).

### Retourtype:

De berekende datum.

### Voorbeeld:

        dt = bas.DateValue("23-02-2011")
        print(dt)

## Format

Converteert een getal naar een tekenreeks en past het aan volgens de gespecificeerde opmaak.

### Syntaxis:

svc.Format(expression: any, format = ''): str

### Parameters:

expression: Numerieke expressie die u wilt omzetten naar een geformatteerde tekenreeks.

opmaak: Tekenreeks die de opmaakcode voor het nummer specificeert. Als opmaak wordt weggelaten, werkt de functie Format zoals de functie LibreOffice Basic Str().

### Retourtype:

Tekenreeks.

### Opmaakcodes

In BASIC kan een opmaak-code worden verdeeld in drie secties, gescheiden door puntkomma's. Het eerste deel definieert de notatie voor positieve waardes, het tweede deel voor negatieve waardes en het derde deel voor nul. Als u slechts één opmaak-code opgeeft, geldt deze voor alle getallen.

U kunt de landinstelling instellen die wordt gebruikt voor het beheren van de opmaak van getallen, datums en valuta's in LibreOffice Basic in LibreOffice - Voorkeuren Extra - Opties - Taalinstellingen - Talen. In basisformaatcodes wordt de decimale punt (.) altijd gebruikt als plaatsaanduider voor het decimaalscheidingsteken dat in uw taalinstelling is gedefinieerd en wordt vervangen door het overeenkomstige teken.

Hetzelfde geldt voor de landinstellingen voor datum-, tijd- en valuta-opmaak. De BASIC-notatiecode wordt geïnterpreteerd en weergegeven volgens uw landinstelling.

De codes die gebruikt kunnen worden voor het formatteren van een numerieke expressie zijn:

Code | Beschrijving
--- | ---

0

Als expressie een cijfer heeft op de positie van de 0 in de opmaak-code, wordt het cijfer weergegeven, anders wordt een nul weergegeven.

Als de expression minder cijfers bevat dan het aantal nullen in de format code, (aan beide zijden van de decimaal), dan worden nullen vooraan en achteraan getoond, Als de expression meer cijfers heeft voor de komma dan het aantal nullen in de format code, dan worden die extra cijfers onopgemaakt getoond.

Decimale plaatsen in de expression worden afgerond naar het aantal nullen na het decimale scheidingsteken in de format code.

#

Als expressie een cijfer bevat op de positie van de # tijdelijke aanduiding in de opmaak-code, wordt het cijfer weergegeven. Anders wordt er niets op deze positie weergegeven.

Het symbool werkt als de 0, echter zonder dat de nullen vooraan en achteraan worden getoond als er meer # tekens in de format code voorkomen dan in de expression. Alleen relevante cijfers van de expression worden getoond.

. (period)

De decimale plaatsaanduiding bepaalt het aantal decimalen links en rechts van het decimaalteken.

Als de format code links van dit symbool alleen # placeholders bevat, dan staat er voor getallen kleiner dan 1 een decimaal scheidingsteken. Om in deze gevallen toch een nul voor het decimaal scheidingsteken te krijgen dient u als placeholder een 0 te gebruiken op de eerste plaats links van het decimaal scheidingsteken.

Het gebruik van de punt als scheidingsteken voor duizendtallen en decimalen is afhankelijk van de landinstellingen. Als u een getal direct in BASIC-broncode invoert, gebruik dan altijd een punt als decimaal scheidingsteken. Het feitelijke teken dat wordt weergegeven als decimaal scheidingsteken is afhankelijk van uw systeeminstellingen.

% | Vermenigvuldigt de expressie met 100 en voegt het procentteken (%) in op de plaats waar de expressie in de opmaak-code staat.

E- E+ e- e+

Als de opmaak-code minstens één cijferplaatsaanduiding (0 of #) rechts van het symbool E-, E+, e- of e+ bevat, wordt de expressie geformatteerd in de wetenschappelijke of exponentiële notatie. De letter E of e wordt tussen het getal en de exponent ingevoegd. Het aantal plaatsaanduidingen voor cijfers rechts van het symbool bepaalt het aantal cijfers in de exponent.

Als de exponent negatief is, wordt een minteken vlak voor een exponent met E-, E+, e-, e+ geplaatst. Als de exponent positief is wordt een plusteken alleen voor exponenten met E+ of e+ geplaatst.

- + $ ( ) space | : Een plusteken (+), minteken (-), dollarteken ($), spatie of haakjes die rechtstreeks in de opmaak-code worden ingevoerd, worden weergegeven als een letterlijk teken.

\

Om andere tekens dan die hier opgesomd werden weer te geven, moet u het laten voorafgaan door een backslash (\), of het tussen aanhalingstekens plaatsen (" ").

De backslash geeft het volgende teken in de opmaak-code weer.

Tekens in de format code die een speciale betekenis hebben kunnen dus alleen als tekst worden getoond door er een backslash voor te zetten. De backslash wordt uiteraard niet getoond, om een backslash te tonen dient u een dubbele backslash (\\) in de de opmaakcode te zetten.

Tekens die moeten worden voorafgegaan door een backslash in de opmaakcode om te worden weergegeven als letterlijke tekens zijn de datum- en tijdopmaaktekens (a, c, d, h, m, n, p, q, s, t, w, y, /, :), numerieke opmaaktekens (#, 0, %, E, e, komma, punt) en tekenreeksopmaaktekens (@, &, <, >, !).

### Vooraf gedefinieerde indelingen

U kunt ook een al gedefinieerde opmaak voor getallen gebruiken. Met uitzondering van de "Algemene getalopmaak" tonen al die opmaakcodes het getal als een getal met twee cijfers achter de komma.

Als u voorgedefinieerde opmaak gebruikt, moet de naam van de opmaak tussen aanhalingstekens staan.

Code | Beschrijving
--- | ---
"<" | expressie naar kleine letters converteren
">" | expressie naar hoofdletters converteren
"c" or "General Date" | Retourneert de numerieke expressie in een korte datumnotatie, optioneel met "U:MM:SS AM/PM". Als expressie een tekenreeks is, wordt de tekenreeks geretourneerd.
"n" | Retourneert de minuut van de numerieke expressie, met 1 of 2 cijfers.
"nn" | Retourneert de minuut van de numerieke expressie, met 2 cijfers.
"w" | Retourneert de weekdag van de numerieke expressie. 1 is maandag en 7 is zondag.
"General Number" | Geeft de numerieke expressie met 12 cijfers (0,#############).
"Currency" | Retourneert de numerieke expressie in de valuta van de taalinstelling.
"Fixed" | Retourneert de numerieke expressie met 2 decimalen (0,00).
"Standard" | Retourneert de numerieke expressie met scheidingstekens voor duizendtallen en 2 decimalen (@0,00).
"Percent" | Retourneert de numerieke expressie als een percentagewaarde (0,00%).
"Scientific" | Retourneert de numerieke expressie in wetenschappelijke notatie (#.00E+00);
"Yes/No" | Retourneert "Ja" als de numerieke expressie ongelijk is aan nul, anders "Nee". "Ja" en "Nee" zijn gelokaliseerd.
"True/False" | Retourneert "Waar" als de numerieke expressie ongelijk is aan nul, anders "Onwaar". "Waar" en "Onwaar" zijn gelokaliseerd.
"On/Off" | Retourneert "Aan" als de numerieke expressie niet gelijk is aan nul, anders "Uit". "Aan" en "Uit" zijn gelokaliseerd.
"Long Date" or "dddddd" | Retourneert de numerieke expressie in de lange datumnotatie van het systeem en is afhankelijk van de taalinstellingen.
"Medium Date" | Retourneert de numerieke expressie in de datumnotatie DD-MMM-JJ en is afhankelijk van de taalinstellingen.
"Short Date" or "ddddd" | Retourneert de numerieke expressie in de korte datumnotatie van het systeem en is afhankelijk van de taalinstellingen.
"Long Time" or "ttttt" | Retourneert de numerieke expressie in de lange-tijdnotatie van het systeem en is afhankelijk van de taalinstelling("H:MM:SS AM/PM").
"Medium Time" | Retourneert de numerieke expressie in systeem-medium-time-formaat en is afhankelijk van de taalinstelling (UU:MM AM/PM)
"Short Time" | Retourneert de numerieke expressie in het korte-tijdsformaat van het systeem en is afhankelijk van de taalinstellingen (UU:MM).

U kunt de landinstelling instellen die wordt gebruikt voor het beheren van de opmaak van getallen, datums en valuta's in LibreOffice Basic in LibreOffice - Voorkeuren Extra - Opties - Taalinstellingen - Talen. In basisformaatcodes wordt de decimale punt (.) altijd gebruikt als plaatsaanduider voor het decimaalscheidingsteken dat in uw taalinstelling is gedefinieerd en wordt vervangen door het overeenkomstige teken.

Hetzelfde geldt voor de landinstellingen voor datum-, tijd- en valuta-opmaak. De BASIC-notatiecode wordt geïnterpreteerd en weergegeven volgens uw landinstelling.

### Voorbeeld:

        txt = bas.Format(6328.2, '##.##0.00')
        print(txt)

## GetDefaultContext

Retourneert de standaardcontext van de processervicefactory, indien aanwezig, anders retourneert een null-referentie.

GetDefaultContext is een alternatief voor de methode getComponentContext die via de globale variabele XSCRIPTCONTEXT of van de module uno.py beschikbaar is.

### Syntaxis:

svc.GetDefaultContext(): uno

### Retourtype:

De standaard component context wordt gebruikt als de services via XMultiServiceFactory worden aangemaakt. Lees het hoofdstuk Professional UNO in de Developer's Guide op api.libreoffice.org voor meer informatie.

### Voorbeeld:

        ctx = bas.GetDefaultContext()

## GetGuiType

Retourneert een numerieke waarde die de grafische gebruikersinterface aangeeft. Deze functie is alleen bedoeld voor achterwaartse compatibiliteit met eerdere versies.

Refereer aan de methode system van de Python-module platform om het besturingssysteem te bepalen.

### Syntaxis:

svc.GetGuiType(): int

### Voorbeeld:

        n = bas.GetGuiType()

Instructies voor Wiser-scripts zijn beschikbaar op de helppagina Het besturingssysteem identificeren.

• De ScriptForge.Platform-service biedt een verzameling eigenschappen over de huidige uitvoeringsomgeving en -context, waaronder platformdetectie.
• Uitgebreide identificatie van de naam van het besturingssysteem is beschikbaar via de INFO("systeem") Calc-formule.

## GetPathSeparator

Retourneert het besturingssysteemafhankelijke mapscheidingsteken dat wordt gebruikt om bestandspaden op te geven.

Gebruik os.pathsep van de Python-module os om het pad scheidingsteken te bepalen.

### Syntaxis:

svc.GetPathSeparator(): str

### Voorbeeld:

        sep = bas.GetPathSeparator()

## GetSystemTicks

Retourneert het aantal systeemticks dat door het besturingssysteem wordt geleverd. U kunt deze functie gebruiken om bepaalde processen te optimaliseren. Gebruik deze methode om de tijd in milliseconden te schatten:

### Syntaxis:

svc.GetSystemTicks(): int

### Voorbeeld:

        ticks_ini = bas.GetSystemTicks()
        time.sleep(1)
        ticks_end = bas.GetSystemTicks()
        bas.MsgBox("{} - {} = {}".format(ticks_end, ticks_ini,ticks_end - ticks_ini))

## GlobalScope.BasicLibraries

Retourneert het UNO-object dat alle gedeelde Basic bibliotheken en modules bevat.

De methode is in Python de equivalent van GlobalScope.BasicLibraries in Basic.

### Syntaxis:

svc.GlobalScope.BasicLibraries(): uno

### Retourtype:

com.sun.star.script.XLibraryContainer

### Voorbeeld:

In het volgende voorbeeld wordt de Gimmicks Basic-bibliotheek geladen als deze nog niet is geladen.

        libs = bas.GlobalScope.BasicLibraries()
        if not libs.isLibraryLoaded("Gimmicks"):
            libs.loadLibrary("Gimmicks")

## GlobalScope.DialogLibraries

Retourneert het UNO-object dat alle gedeelde dialoogbibliotheken bevat.

Deze methode is in Python de equivalent van GlobalScope.DialogLibraries in Basic.

### Syntaxis:

svc.GlobalScope.DialogLibraries(): uno

### Retourtype:

com.sun.star.comp.sfx2.DialogLibraryContainer

### Voorbeeld:

Het volgende voorbeeld toont een berichtvenster met de namen van alle beschikbare dialoogbibliotheken.

        dlg_libs = bas.GlobalScope.DialogLibraries()
        lib_names = dlg_libs.getElementNames()
        bas.MsgBox("\n".join(lib_names))

## InputBox

### Syntaxis:

svc.InputBox(prompt: str, [title: str], [default: str], [xpostwips: int, ypostwips: int]): str

### Parameters:

prompt:Tekst die wordt getoond als het bericht in het dialoogvenster.

titel: Tekst die getoond wordt in de titelbalk van het dialoogvenster.

standaardwaarde: Tekst die in het tekstvak wordt getoond als er geen invoer wordt ingevuld.

xpostwips: Getal die de horizontale positie aangeeft van de dialoog. De positie is een absolute coördinaat en staat los van het venster van LibreOffice.

ypostwips: Getal die de verticale positie aangeeft van de dialoog. De positie is een absolute coördinaat en staat los van het venster van LibreOffice.

Als xpostwips en ypostwips worden weggelaten, dan wordt de dialoog op het scherm gecentreerd. De positie wordt gespecificeerd in twips.

### Retourtype:

String

### Voorbeeld:

        txt = s.InputBox('Vul a.u.b. een korte zin in:', "Beste gebruiker")
        s.MsgBox(txt, s.MB_ICONINFORMATION, "Bevestiging van de korte zin")

Een uitgebreide beschrijving staat op de wiki: Input/Output to Screen with Python.

## MsgBox

Toont een dialoogvenster met een bericht en retourneert een optionele waarde.
MB_xx-constanten helpen bij het specificeren van het dialoogtype, het aantal en het type knoppen dat moet worden weergegeven, plus het pictogramtype. Door hun respectieve waardes toe te voegen, vormen ze bitpatronen, die het uiterlijk van het dialoogvenster MsgBox bepalen.

### Syntaxis:

bas.MsgBox(prompt: str, [buttons: int], [title: str])[: int]

### Parameters:

prompt: Tekenreeksexpressie weergegeven als een bericht in het dialoogvenster. Regeleinden kunnen worden ingevoegd met Chr$(13).

title: Tekenreeksexpressie weergegeven in de titelbalk van het dialoogvenster. Als deze wordt weggelaten, wordt in de titelbalk de naam van de betreffende toepassing weergegeven.

buttons: Een gehele-getalexpressie die het dialoogtype specificeert, evenals het aantal en type van de weer te geven knoppen en het pictogramtype. buttons vertegenwoordigt een combinatie van bitpatronen, dat wil zeggen dat een combinatie van elementen kan worden gedefinieerd door hun respectievelijke waardes toe te voegen:

### Retourtype:

Een optioneel geheel getal zoals beschreven in bovenstaande IDxx-eigenschappen.

### Voorbeeld:

        txt = s.InputBox('Vul a.u.b. een korte zin in:', "Beste gebruiker")
        s.MsgBox(txt, s.MB_ICONINFORMATION, "Bevestiging van de korte zin")

Een uitgebreide beschrijving staat op de wiki: Input/Output to Screen with Python.

## Now

Retourneert de huidige systeemdatum en -tijd als een datetime.datetime native Python-object.

### Syntaxis:

svc.Now(): datetime

### Voorbeeld:

        bas.MsgBox(bas.Now(), bas.MB_OK, "Now")

## RGB

Retourneert een gehele kleurwaarde die bestaat uit rode, groene en blauwe componenten.

### Syntaxis:

svc.RGB(red:int, green: int, blue: int): int

### Parameters:

rood: Een getal dat de rode component (0-255) aangeeft van de samengestelde kleur.

groen: Een getal dat de groene component (0-255) aangeeft van de samengestelde kleur.

blauw: Een getal dat de blauwe component (0-255) aangeeft van de samengestelde kleur.

Het resultaat heeft een Long waarde en wordt als volgt berekend:
Rood×65536 + Groen×256 + Blauw.

In de VBA-compatibiliteit-mode (Option VBASupport 1) wordt de Long waarde berekend als volgt
Rood + Groen × 256 + Blauw x 65536
Bekijk de Functie RGB [VBA]

De dialoog kleurkiezer helpt het bepalen van de rode, groene en blauwe componenten van een samengestelde kleur. De dialoog wordt gebruikt bij het wijzigen van de kleurtekst en het kiezen van een eigen kleur.

### Retourtype:

Integer

### Voorbeeld:

        YELLOW = bas.RGB(255,255,0)

## Xray

Uno-objecten of variabelen onderzoeken.

### Syntaxis:

svc.Xray(obj: any)

### Parameters:

obj: Een variabele of UNO-object.

### Voorbeeld:

        bas.Xray(bas.StarDesktop)

Alle ScriptForge Basic-routines of variabelen die beginnen met een underscore "_" zijn voor intern gebruik. Gebruik deze niet in een Basic of Python-macro.

Verwante onderwerpen

Specificatie GlobalScope

Programmeren met Python-scripts

uno.fileUrlToSystemPath()

uno.systemPathToFileUrl()

I/O op scherm met Python (wiki)

XSCRIPTCONTEXT.getComponentContext()

uno.getComponentContext()

platform.system()

os.pathsep()