tjenesten ScriptForge.Basic

Tjenesten ScriptForge.Basic tilbyder en samling af LibreOffice Basic-metoder til kørsel i en Python-kontekst. Tjenesten Basics metoder reproducerer de indbyggede Basic-funktioners præcise syntaks og adfærd.

Typisk eksempel:


   bas.MsgBox('Vis denne tekst i et meddelsesesfelt fra et Python-script')
  
warning

Tjenesten ScriptForge.Basic er begrænset til Python-scripts.


Kald af tjeneste

note

Før brug af tjenesten Basic importerer du metoden CreateScriptService() fra moduletscriptforge:



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

Egenskaber

Navn

Skrivebeskyttet

Type

Beskrivelse

MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL

Ja

Integer

Værdier: 0, 1, 5, 4, 3

MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP

Ja

Integer

Værdier: 48, 64, 32, 16

MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3

Ja

Integer

Værdier: 2, 128, 256, 512

IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES

Ja

Integer

Værdier: 3, 2, 5, 7, 1, 4, 6
Konstanter, der peger på den valgte knap i MsgBox.

StarDesktop

Ja

UNO-
objekt

Returnerer det StarDesktop-objekt, som repræsenterer LibreOffice-programmet.

ThisComponent

Ja

UNO-
objekt

Hvis den aktuelle komponent refererer til et LibreOffice-dokument, returnerer denne metode det UNO-objekt, som returnerer dokumentet. Når den aktuelle komponent ikke svarer til et dokument, returnerer denne egenskab None.

ThisDatabaseDocument

Ja

UNO-
objekt

Hvis scriptet bliver udført fra et Base-dokument eller en af underkomponenterne, så returnerer denne metode hovedkomponenten af Base-instansen. Denne egenskab returnerer None i andre tilfælde.


Liste over metoder i tjenesten 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


note

Der findes Python-alternativer for metoder markeret med (*).


CDate

Konverterer et numerisk udtryk eller en streng til et standard datetime.datetime Python-objekt.

note

Denne metode udsætter den indbyggede Basic-funktion CDate for Python-scripts.


Syntaks:

svc.CDate(expression: any): obj

Parametre:

udtryk: et numerisk udtryk eller en streng, der repæsenterer en dato.

Når du konverterer et streng-udtryk, må dato og tid være skrevet enten i et af dato-genkendelsesmønstrene defineret af dine lokalitetsindstilligner (se ▸ Sprog og lokalitetsindstillinger ▸ Generelt) eller i ISO-datoformat (i øjeblikket accepteres kun ISO-format med bindestreger, f.eks. bliver "2012-12-31" accepteret). I talværdier repræsenterer værdier til venstre for kommaet (decimaltegnet) dato, begyndende fra 31. december 1899. Værdier til højre for kommaet repræsenterer klokkeslættet.

Eksempel:


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

CDateFromUnoDateTime

Konverterer en UNO dato/klokkeslæt-representation til et standard datetime.datetime Python-objekt.

Syntaks:

svc.CDateFromUnoDateTime(unodate: uno): obj

Parametre:

unodate: Et UNO dato/klokkeslæt-objekt af følgende typer: com.sun.star.util.DateTime, com.sun.star.util.Date eller com.sun.star.util.Time

Eksempel:

Det følgende eksempel opretter et com.sun.star.util.DateTime-objekt og konverterer det til et datetime.datetime Python-objekt.


    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

Konverterer en dato-repræsentation til et com.sun.star.util.DateTime-objekt.

Syntaks:

svc.CDateToUnoDateTime(date: obj): uno

Parametre:

dato: Et Python dato/klokkeslæt-objekt af en af følgende typer: datetime.datetime, datetime.date, datetime.time, float (time.time) eller time.struct_time.

Eksempel:


    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

Returnerer en systemsti filnavn til den givne file: URL.

Syntaks:

svc.ConvertFromUrl(url: str): str

Parametre:

url: En absolut file: URL.

Returtype

Et systemsti-filnavn.

Eksempel:


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

Uno-modul fileUrlToSystemPath()-metoden returnerer en systemsti med brug af en identisk syntaks.



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

ConvertToUrl

Returnerer file: URL til den givne systemsti.

Syntaks:

svc.ConvertToUrl(systempath: str): str

Parametre:

systemsti: Navnet på en systemfil som en streng.

Returtype

A file: URL som en streng.

Eksempel:


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

Uno-modul-metoden systemPathToFileUrl() returnerer en fil-URL for den givne systemsti.



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

CreateUnoService

Instantierer en UNO-tjeneste med ProcessServiceManager.

Syntaks:

svc.CreateUnoService(servicename: str): uno

Parametre:

servicename: Et fuldt kvalificeret tjenestenavn som for eksempel com.sun.star.ui.dialogs.FilePicker eller com.sun.star.sheet.FunctionAccess.

Eksempel:


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

CreateUnoStruct

Returnerer en instans af en UNO-struktur af den angivne type.

Syntaks:

svc.CreateUnoStruct(unostructure: str): uno

Parametre:

unostructure: Et fuldt kvalificeret strukturnavn som com.sun.star.beans.Property eller com.sun.star.util.DateTime.

Eksempel:


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

Uno-modul-metoden createUnoStruct() opreter en instans af en Uno-strukturtype.



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

DateAdd

Tilføjer en dato eller tidsinterval til en given dato/klokkeslæt et antal gange og returnerer den resulterende dato.

Syntaks:

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

Parametre:

interval: Et strengudtryk fra den følgende tabel, der angiver datoen eller tidsintervallet.

interval (strengværdi)

Forklaring

yyyy

År

q

Kvartal

m

Måned

y

Dag i året

w

Ugedag

ww

Uge i året

d

Dag

h

Time

n

Minut

s

Sekund


antal: Et numerisk udtryk, der angiver hvor ofte værdien interval skal tilføjes, når den er positiv, er trækkes fra, når når den er negativ.

dato: En given datetime.datetime-værdi, interval-værdien vil, blive lagt number (antal) gange til denne datetime.datetime-værdi.

Returtype

En datetime.datetimeværdi.

Eksempel:


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

DateDiff

Returnerer antallet af dags- eller tids-intervaller mellem to givne dato-/klokkeslæt-værdier.

Syntaks:

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

Parametre:

interval: Et strengudtryk, der angiver datointervallet, som vist i metoden DateAdd ovenfor.

dato1, dato2: De to datetime.datetime-værdier, der skal sammenlignes.

førstedagiugen: Et valgfrit parameter, der angiver den dag, ugen begynder. An optional parameter that specifies the starting day of a week.

værdien førstedagiugen

Forklaring

0

Brug systemets standardværdi

1

Søndag (standard)

2

Mandag

3

Tirsdag

4

Onsdag

5

Torsdag

6

Fredag

7

Lørdag


førsteugeiåret: En valgfri parameter, der angiver den uge året begynder.

værdien førsteugeiåret

Forklaring

0

Brug systemets standardværdi

1

Uge 1 er ugen med 1. januar

2

Uge 1 er den første uge, som indeholder fire eller flere dage af året

3

Uge 1 er den første uge, som kun indeholder dage fra det nye år


Returtype

Et tal.

Eksempel:


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

DatePart

Funktionen DatePart returnerer en angivet del af datoen.

Syntaks:

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

Parametre:

interval: Et strengudtryk, der angiver datointervallet, som vist i metoden DateAdd ovenfor.

dato: Den dato/det klokkeslæt, hvorfra resultatet beregnes.

førstedagiugen, førsteuge i året: valgfrie parametre, der angiver henholdsvis ugens føreste dag og årets første uge som forklaret ovenfor i metoden DateDiff.

Returtype

Den udtrukne del af den/det givne dato/klokkeslæt

Eksempel:


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

DateValue

Beregner en datoværdi fra en datostreng.

Syntaks:

svc.DateValue(date: str): datetime

Parametre:

dato: En streng, der indeholder den dato, der bliver konverteret til et Dato-objekt.

note

Strengen sendt til DateValue skal udtrykkes i et af dato-formaterne defineret af dine lokalitetsindstilligner (se ▸ Sprog og lokalitetsindstillinger ▸ Generelt) eller brug ISO-datoformatet "åååå-mm-dd" (år, måned og dag adskilt af bindestreger).


Returtype

Den beregnede dato.

Eksempel:


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

Format

Konverterer et tal til en streng og formaterer den derefter i det format, du angiver.

Syntaks:

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

Parametre:

udtryk: Numerisk udtryk, som du vil konvertere til en formateret streng.

format: Streng som angiver formatkoden for tallet. Hvis format er udeladt, fungerer Format-funktionen lige som LibreOffice Basic Str()-funktionen.

Returtype

Tekststreng.

Formateringskoder

I BASIC kan en format-kode inddeles i tre dele, adskilt med semikoloner. Den første del definerer formatet for positive værdier, den anden del for negative værdier, og den tredje del for nul. Hvis du kun specificerer én format-kode, bliver den brugt på alle tal.

Lokalitetsindstillingerne styrer formatering af tal, datoer og valuta i LibreOffice Basic. Du kan vælge indstillingerne i ▸ Sprog og lokalitetsindstillinger ▸ Generelt. I Basic formatkoder bruges altid punktum (.) som pladsholder for decimaltegnet fra dine lokalitetsindstillinger. Punktum bliver erstattet med det aktuelle decimaltegn.

Det samme gælder lokalitetsindstillingerne for dato-, klokkeslæt- og valutaformater. Basic-formatkode vil blive fortolket og vist ifølge dine lokalitetsindstillinger.

Følgende liste beskriver de koder, du kan bruge til at formatere et numerisk udtryk:

Kode

Beskrivelse

0

Hvis udtryk har et ciffer på positionen for 0'et i format-koden, så vises cifferet, ellers vises et nul.

Hvis udtryk har færre cifre end antallet af nuller i koden format, (på den ene eller anden side af decimalskilletegnet), vises foran- eller efterstillede nuller. Hvis udtryk har flere cifre til venstre for decimalskilletegnet end antallet af nuller i koden format, vises yderligere cifre uden formatering.

Decimalpladser i udtryk afrundes efter antallet af nuller, der ses efter decimalskilletegnet i koden format.

#

Hvis udtryk indeholder et ciffer på positionen for pladsholderen # i format-koden, så vises cifferet, ellers vises ingenting på denne position.

Dette symbol virker ligesom 0, bortset fra, at foran- eller efterstillede nuller ikke vises, hvis der er flere #-tegn i format-koden end tegn i udtryk. Kun de relevante cifre i udtryk vises.

. (period)

Den decimale pladsholder bestemmer antallet af decimalpladser til venstre og højre for decimalskilletegnet.

Hvis koden format kun indeholder #-pladsholdere til venstre for dette symbol, begynder tal mindre en 1 med et decimalskilletegn. For altid at få vist et foranstillet nul ved brøktal bruger du 0 som en pladsholder for det første ciffer til venstre for decimalskilletegnet.

Brug af et punktum som et tusinde- og decimaltegn afhænger af regionsindstillingen. Brug altid et punktum som decimaltegn, når du indtaster et tal direkte i Basic-kildekode. Det specifikke tegn, der bliver vist som decimaltegn, afhænger af talformatet i dine systemindstillinger.

%

Multiplicerer udtryk med 100 og indsætter procenttegnet (%) hvor udtryk vises i format-koden.

E- E+ e- e+

Hvis format-koden indeholder mindst én ciffer-pladsholder (0 eller #) til højre for symbolet E-, E+, e- eller e+, så bliver udtryk formateret i videnskabeligt eller eksponentielt format. Bogstavet E eller e bliver indsat mellem tallet og eksponenten. Antallet af pladsholdere for cifre til højre for symbolet bestemmer antallet af decimaler i eksponenten.

Hvis eksponenten er negativ, bliver et minustegn vist umiddelbart før en eksponent med E-, E+, e-, e+. Hvis eksponenten er positiv, bliver et plustegn kun vist før eksponenter med E+ eller e+.

- + $ ( ) space

Tegnene plus (+), minus (-), dollar ($), mellemrum eller parenteser, som er skrevet direkte ind iformat-koden, bliver vist som de står.

\

For at vise andre tegn end de der er opført her, skal du indlede det med en omvendt skråstreg (\), eller omgive det med anførselstegn (" ").

Den omvendte skråstreg viser det næste tegn i format-koden.

Tegn i format-koden, der har en speciel betydning, kan kun vises som bogstavelige tegn, hvis de følger en omvendt skråstreg. Skråstregen selv vises ikke, med mindre du indtaster en dobbelt omvendt skråstreg (\\) i formatkoden.

De tegn, der skal have foranstillet en omvendt skråstreg i formatkoden for at blive vist som bogstavelige tegn, er: Dato- og tidsformateringstegn (a, c, d, h, m, n, p, q, s, t, w, y, /, :), numeriske formateringstegn (#, 0, %, E, e, komma, punktum) og strengformateringstegn (@, &, <, >, !).


Forhåndsdefinerede formater

Du kan også bruge følgende foruddefinerede talformater. Bortset fra "Generelt tal", returnerer alle de foruddefinerede formatkoder tallet som et decimaltal med to decimalpladser.

Hvis du bruger forud-definerede formater, skal navnet på formatet være omgivet af anførselstegn.

Kode

Beskrivelse

"<"

Konverterer udtryk til små bogstaver

">"

Konverterer udtryk til store bogstaver.

"c" or "General Date"

Returnerer det numeriske udtryk i kort datoformat, eventuelt med "T:MM:SS AM/PM". Hvis udtryk er en streng, så returneres strengen.

"n"

Returnerer minuttet for det numeriske udtryk, med 1 eller 2 cifre.

"nn"

Returnerer minuttet for det numeriske udtryk med to cifre.

"w"

Returnerer ugedagen for det numeriske udtryk. 1 er søndag og 7 er lørdag.

"General Number"

Returnerer det numeriske udtryk med 12 cifre (0.############).

"Currency"

Returnerer det numeriske udtryk i valutaen fra lokalitetsindstillingerne.

"Fixed"

Returnerer det numeriske udtryk med 2 decimaler (0,00).

"Standard"

Returnerer det numeriske udtryk med tusindtalsskilletegn og 2 decimaler (@0,00).

"Percent"

Returnerer det numeriske udtryk som procentværdi (0,00%).

"Scientific"

Returner det numeriske udtryk i videnskabelig notation (#,00E+00).

"Yes/No"

Returnerer "Ja" hvis det numeriske udtryk ikke er lig med nu, "Nej" ellers. "Ja" og "Nej" følger lokalitetsindstillingerne.

"True/False"

Returnerer "Sand" hvis det numeriske udtryk ikke er lig med nul, "Falsk" ellers. "Sand" og "Falsk" følger lokalitetsindstillingerne.

"On/Off"

Returnerer "Til" hvis det numeriske udtryk ikke er lig med 0, "Fra" ellers. "Til" og "Fra" følger lokalitetsindstillingerne.

"Long Date" or "dddddd"

Returnerer det numeriske udtryk i systemets lange datoformat (f.eks. "lørdag 1. marts 2025"), og afhænger af lokalitetsindstillingerne.

"Medium Date"

Returnerer det numeriske udtryk i datoformatet DD-MMM-ÅÅ (f.eks. 01-maj-25), og afhænger af lokalitetsindstillingerne.

"Short Date" or "ddddd"

Returnerer det numeriske udtryk i systemets korte datoformat (f.eks. "01-03-25") og afhænger af lokalitetsindstillingerne.

"Long Time" or "ttttt"

Returnerer det numeriske udtryk i systemets lange tidsformat og afhænger af lokalitetsindstillingerne ("T:MM:SS AM/PM").

"Medium Time"

Returnerer det numeriske udtryk i systemets mellemlange tidsformat og afhænger af lokalitetsindstillingerne ("TT:MM AM/PM").

"Short Time"

Returnerer det numeriske udtryk i systemets korte tidsformat og afhænger af lokalitetsindstillingerne ("TT:MM").


Lokalitetsindstillingerne styrer formatering af tal, datoer og valuta i LibreOffice Basic. Du kan vælge indstillingerne i ▸ Sprog og lokalitetsindstillinger ▸ Generelt. I Basic formatkoder bruges altid punktum (.) som pladsholder for decimaltegnet fra dine lokalitetsindstillinger. Punktum bliver erstattet med det aktuelle decimaltegn.

Det samme gælder lokalitetsindstillingerne for dato-, klokkeslæt- og valutaformater. Basic-formatkode vil blive fortolket og vist ifølge dine lokalitetsindstillinger.

Eksempel:


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

GetDefaultContext

Returnerer processen tjeneste-fabriks standard-kontekst, hvis den eksisterer, ellers returnerer den en nul-reference.

GetDefaultContext er et alternativ til metoden getComponentContext(), der er tilgængelig fra den globale variabel XSCRIPTCONTEXT eller fra modulet uno.py.

Syntaks:

svc.GetDefaultContext(): uno

Returtype

Komponentens standardkontekst bruges under instantiering af tjenester via XMultiServiceFactory. Se kapitlet Professional UNO i Udviklerens guide til api.libreoffice.org for at få mere at vide.

Eksempel:


    ctx = bas.GetDefaultContext()
  

GetGuiType

Returnerer en numerisk værdi, der angiver den grafiske brugerflade. Denne funktion leveres kun af hensyn til bagudkompatibilitet med tidligere versioner.

Se metoden system()i Python-modulet platform for at identificere operativsystemet.

Syntaks:

svc.GetGuiType(): int

Eksempel:


    n = bas.GetGuiType()
  
note

Udbyggede script-instruktioner er tilgængelige fra hjælpesiden Identifikation af operativsystemet.


tip

• ScriptForge.Platform-tjenesten giver en samling af egenskaber for det aktuelle afviklingsmiljø og -kontekst, som inkluderer identifikation af platformen.

• Omfattende identifikation af operativsystem-navnet er tilgængelig fra Calc-formlen INFO("system").


GetPathSeparator

Returnerer det operativsystem-afhængige skilletegn, der bruges til at angive stier.

Brug os.pathsep i Python-modulet os til at identificere sti-skilletegnet.

Syntaks:

svc.GetPathSeparator(): str

Eksempel:


    sep = bas.GetPathSeparator()
  

GetSystemTicks

Returnerer antallet tidsenheder, leveret afoperativsystemet. Du kan bruge denne funktion til at optimere visse processer. Brug denne metode til at skønne tid i millisekunder:

Syntaks:

svc.GetSystemTicks(): int

Eksempel:


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

GlobalScope.BasicLibraries

Returnerer det UNO-objekt, der indeholder alle delte Basic-biblioteker og -moduler.

Denne metode er Pythons svar på GlobalScope.BasicLibraries i Basic-scripts.

Syntaks:

svc.GlobalScope.BasicLibraries(): uno

Returtype

com.sun.star.script.XLibraryContainer

Eksempel:

Det følgende eksempel indlæster Basic-biblioteket Gimmicks, hvis det endnu ikke indlæst.


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

GlobalScope.DialogLibraries

Returnerer det UNO-objekt, der indeholder alle delte dialog-biblioteker.

Denne metode er Pythons svar på GlobalScope.DialogLibraries i Basic-scripts.

Syntaks:

svc.GlobalScope.DialogLibraries(): uno

Returtype

com.sun.star.comp.sfx2.DialogLibraryContainer

Eksempel:

Det følgende eksempel viser et beskedfelt med navnene på alle tilgængelige dialog-biblioteker.


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

InputBox

Syntaks:

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

Parametre:

prompt: Strengudtryk, der vises som besked i dialogfeltet.

title: Strengudtryk, vist i dialogfeltets titelbjælke.

standard: Strengudtryk, vist som standard i tekstfeltet, hvis der ikke er angivet et andet input.

xpostwips: Heltalsudtryk, der angiver dialogens vandrette placering. Placeringen er en absolut koordinat og henviser ikke til LibreOffices vindue.

ypostwips: Heltaludtryk, der angiver dialogens lodrette placering. Placeringen er en absolut koordinat og henviser ikke til LibreOffices vindue.

Hvis xpostwips og ypostwips udelades, centreres dialogen på skærmen. Position angives i twips.

Returtype

String

Eksempel:


    txt = s.Indtastningsfelt('Skriv venligst et udtryk:', "Kære bruger")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Bekræftelse af frase")
  
note

Se venligst dybtgående information Input/Output til skærmen med Python på Wiki'en.


MsgBox

Viser et dialogfelt, der indeholder en besked og returnerer en valgfri værdi.
Mb_xx-konstanter hjælper med til at specificere dialogtypen, antallet af typen af knapper, der skal vises, samt ikontypen. Ved at tilføje deres respektive værdier danner de bit-mønstre, der definerer dialogen MsgBoxs udseende.

Syntaks:

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

Parametre:

prompt: Strengudtryk, der vises som en besked i dialogfeltet. Linjeskift kan indsættes med Chr$(13).

title: Strengudtryk, der vises i titellinjen af dialogvinduet. Hvis udeladt, vises programnavnet i titellinjen.

buttons: Et heltalsudtryk, som specificerer dialogtypen foruden antallet og typen af knapper, der skal vises, og ikontypen. buttons repræsenterer en kombination af bitmønstre, hvilket betyder, at en kombination af elementer kan defineres ved at lægge deres respektive værdier sammen:

Returtype

Et valgfrit heltal som forklaret i IDxx-egenskaber ovenfor.

Eksempel:


    txt = s.Indtastningsfelt('Skriv venligst et udtryk:', "Kære bruger")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Bekræftelse af frase")
  
note

Se venligst dybtgående information Input/Output til skærmen med Python på Wiki'en.


Now

Returnerer den aktuelle system-dato og -klokkeslæt som en standard datetime.datetime Python-objekt.

Syntaks:

svc.Now(): datetime

Eksempel:


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

RGB

Returnere en heltalsværdi, bestående af røde, grønne og blå komponenter.

Syntaks:

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

Parametre:

rød: Et vilkårligt heltalsudtryk, der repræsenterer en den røde komponent (0-255) i den sammensatte farve.

grøn: Et vilkårligt heltalsudtryk, der repræsenterer den grønne komponent (0-255) i den sammensatte farve.

blå: Ethvert heltalsudtryk, der repræsenterer den blå komponent (0-255) i den sammensatte farve.

Den resulterende Long værdi beregnes med følgende formel:
Result = red×65536 + green×256 + blue.

warning

I VBA-kompatibilitetstistand (Option VBASupport 1), beregnes Long værdien som
Result = red + green×256 + blue×65536
Se RGB (funktion) [VBA]


tip

Dialogen Farvevælger hjælper med at beregne røde, grønne og blå komponenter i en sammensat farve. Ændring af tekstfarve og Tilpas farve viser dialogen Farvevælger.


Returtype

Integer

Eksempel:


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

Xray

Inspicerer UNO-objekter eller -variable.

Syntaks:

svc.Xray(obj: any)

Parametre:

obj: En variabel eller et UNO-objekt.

Eksempel:


    bas.Xray(bas.StarDesktop)
  
warning

Alle ScriptForge Basic-rutiner eller identifikatorer, der indledes med et understregstegn "_" er reserveret til internt brug. Det er ikke meningen, at de skal bruges i Basic-makroer eller Python-scripts.


Støt os venligst!