Usługa ScriptForge.Basic

Usługa ScriptForge.Basic proponuje kolekcję podstawowych metod LibreOffice do wykonania w kontekście języka Python. Metody usługi Basic odtwarzają dokładną składnię i zachowanie wbudowanych funkcji języka Basic.

Typowy przykład:


   bas.MsgBox('Wyświetl ten tekst w oknie komunikatu ze skryptu języka Python')
  
warning

Usługa ScriptForge.Basic jest ograniczona do skryptów Pythona.


Wywoływanie usługi

note

Przed użyciem usługi Basic zaimportuj metodę CreateScriptService() z modułu scriptforge:



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

Właściwości

Nazwa

Tylko do odczytu

Typ

Opis

MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL

Tak

Integer

Wartości: 0, 1, 5, 4, 3

MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP

Tak

Integer

Wartości: 48, 64, 32, 16

MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3

Tak

Integer

Wartości: 2, 128, 256, 512

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

Tak

Integer

Wartości: 3, 2, 5, 7, 1, 4, 6
Stałe wskazujące wybrany przycisk MsgBox.

StarDesktop

Tak

Obiekt
UNO

Zwraca obiekt StarDesktop reprezentujący aplikację LibreOffice.

ThisComponent

Tak

Obiekt
UNO

Jeśli bieżący składnik odwołuje się do dokumentu LibreOffice, ta metoda zwraca obiekt UNO reprezentujący dokument. Ta właściwość zwraca wartość None, gdy bieżący komponent nie odpowiada dokumentowi.

ThisDatabaseDocument

Tak

Obiekt
UNO

Jeśli skrypt jest wykonywany z dokumentu Base lub któregokolwiek z jego podkomponentów, ta metoda zwraca główny komponent instancji Base. W przeciwnym razie ta właściwość zwraca None.


Lista metod w usłudze Base

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

Dla metod oznaczonych symbolem (*) istnieją alternatywy w języku Python.


CDate

Konwertuje wyrażenie liczbowe lub ciąg znaków na natywny obiekt Pythona datetime.datetime.

note

Ta metoda udostępnia wbudowaną funkcję Basic CDate skryptom Pythona.


Składnia:

svc.CDate(expression: any): obj

Parametry:

expression: wyrażenie liczbowe lub ciąg reprezentujący datę.

Podczas konwertowania wyrażenia tekstowego data i godzina muszą zostać wprowadzone zgodnie z jednym ze wzorców akceptowania daty zdefiniowanych w ustawieniach regionalnych (zobacz - Języki i ustawienia regionalne - Ogólne) lub w formacie daty ISO (chwilowo akceptowany jest tylko format ISO z dywizami, np. "2012-12-31"). W wyrażeniach numerycznych wartości po lewej stronie przecinka reprezentują datę, począwszy od 31 grudnia 1899. Wartości po prawej stronie ułamka dziesiętnego reprezentują godzinę.

Przykład:


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

CDateFromUnoDateTime

Konwertuje reprezentację daty/godziny UNO na natywny obiekt języka Python datetime.datetime.

Składnia:

svc.CDateFromUnoDateTime(unodate: uno): obj

Parametry:

unodate: obiekt daty/godziny UNO jednego z następujących typów: com.sun.star.util.DateTime, com.sun.star.util.Date lub com.sun.star.util.Time

Przykład:

Poniższy przykład tworzy obiekt com.sun.star.util.DateTime i konwertuje go na obiekt języka Python datetime.datetime.


    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

Konwertuje reprezentację daty na obiekt com.sun.star.util.DateTime.

Składnia:

svc.CDateToUnoDateTime(date: obj): uno

Parametry:

data: obiekt daty/godziny w języku Python jednego z następujących typów: datetime.datetime, datetime.date, datetime.time , float (time.time) lub time.struct_time.

Przykład:


    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

Zwraca nazwę pliku ścieżki systemowej dla podanego adresu URL file:.

Składnia:

svc.ConvertFromUrl(url: str): str

Parametry:

url: bezwzględny adres URL file:.

Typ zwracany:

Nazwa pliku ścieżki systemowej.

Przykład:


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

Metoda fileUrlToSystemPath() modułu uno zwraca ścieżkę systemową, używając identycznej składni.



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

ConvertToUrl

Zwraca adres URL file: dla podanej ścieżki systemowej.

Składnia:

svc.ConvertToUrl(systempath: str): str

Parametry:

systempath: nazwa pliku systemowego jako ciąg znaków.

Typ zwracany:

Adres URL file: jako ciąg tekstowy.

Przykład:


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

Metoda systemPathToFileUrl() modułu uno zwraca adres URL pliku dla podanej ścieżki systemowej.



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

CreateUnoService

Tworzy wystąpienie usługi UNO za pomocą ProcessServiceManager.

Składnia:

svc.CreateUnoService(servicename: str): uno

Parametry:

servicename: pełna nazwa usługi, taka jak com.sun.star.ui.dialogs.FilePicker lub com.sun.star.sheet.FunctionAccess.

Przykład:


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

CreateUnoStruct

Zwraca wystąpienie struktury UNO określonego typu.

Składnia:

svc.CreateUnoStruct(unostructure: str): uno

Parametry:

unostructure: pełna nazwa struktury, taka jak com.sun.star.beans.Property lub com.sun.star.util.DateTime.

Przykład:


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

Metoda createUnoStruct() modułu uno tworzy instancję typu struktury Uno.



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

DateAdd

Dodaje datę lub przedział czasu do podanej daty/godziny kilka razy i zwraca wynikową datę.

Składnia:

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

Parametry:

interval: wyrażenie tekstowe z poniższej tabeli określające datę lub przedział czasu.

interval (wartość ciągu)

Znaczenie

yyyy

Rok

q

Kwartał

m

Miesiąc

y

Dzień roku

w

Dzień tygodnia

ww

Tydzień roku

d

Dzień

h

Godzina

n

Minuta

s

Sekunda


number: wyrażenie liczbowe określające, jak często wartość interval będzie dodawana, gdy jest dodatnia, lub odejmowana, gdy jest ujemna.

date: podana wartość datetime.datetime, wartość interval zostanie dodana number razy do tej wartości datetime.datetime.

Typ zwracany:

Wartość datetime.datetime.

Przykład:


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

DateDiff

Zwraca liczbę przedziałów daty lub godziny między dwiema podanymi wartościami daty/godziny.

Składnia:

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

Parametry:

interval: wyrażenie łańcuchowe określające przedział dat, jak opisano powyżej w metodzie DateAdd.

date1, date2: dwie wartości datetime.datetime do porównania.

firstdayofweek: opcjonalny parametr określający początkowy dzień tygodnia.

Wartość firstdayofweek

Znaczenie

0

Użyj domyślnej wartości systemowej

1

niedziela (domyślnie)

2

poniedziałek

3

wtorek

4

środa

5

czwartek

6

piątek

7

sobota


firstweekofyear: opcjonalny parametr określający początkowy tydzień roku.

Wartość firstweekofyear

Znaczenie

0

Użyj domyślnej wartości systemowej

1

Pierwszym tygodniem roku jest tydzień zawierający dzień 1 stycznia (wartość domyślna)

2

Pierwszym tygodniem roku jest pierwszy tydzień, który obejmuje co najmniej cztery dni tego roku

3

Pierwszym tygodniem roku jest pierwszy tydzień, który obejmuje wyłącznie dni nowego roku


Typ zwracany:

Liczba.

Przykład:


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

DatePart

Funkcja DatePart zwraca określoną część daty.

Składnia:

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

Parametry:

interval: wyrażenie łańcuchowe określające przedział dat, jak opisano powyżej w metodzie DateAdd.

date: data/godzina, od której obliczany jest wynik.

firstdayofweek, firstweekofyear: opcjonalne parametry, które odpowiednio określają początkowy dzień tygodnia i początkowy tydzień roku, jak opisano w powyższej metodzie DateDiff.

Typ zwracany:

Wyodrębniona część dla podanej daty/godziny.

Przykład:


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

DateValue

Oblicza wartość daty na podstawie ciągu daty.

Składnia:

svc.DateValue(date: str): datetime

Parametry:

date: ciąg zawierający datę, która zostanie przekonwertowana na obiekt Date.

note

Ciąg przekazany do DateValue musi być wyrażony w jednym z formatów daty zdefiniowanych w ustawieniach regionalnych (patrz - Języki i ustawienia regionalne - Ogólne) lub używając formatu daty ISO "yyyy-mm-dd" (rok, miesiąc i dzień oddzielone dywizami).


Typ zwracany:

Obliczona data.

Przykład:


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

Format

Konwertuje liczbę na ciąg, a następnie formatuje go zgodnie z określonym formatem.

Składnia:

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

Parametry:

expression: Wyrażenie numeryczne, które chcesz przekonwertować na sformatowany ciąg.

format: ciąg określający kod formatu dla liczby. Jeśli format zostanie pominięty, funkcja Format działa jak funkcja LibreOffice Basic Str().

Typ zwracany:

Ciąg tekstowy.

Kody formatowania

W BASIC kod format można podzielić na trzy sekcje rozdzielone średnikami. Pierwsza część definiuje format dla wartości dodatnich, druga część dla wartości ujemnych, a trzecia część dla zera. Jeśli określisz tylko jeden kod format, będzie on stosowany do wszystkich liczb.

Ustawienia regionalne dotyczące formatowania liczb, dat i walut w programie LibreOffice Basic można zmienić w następującej ścieżce: - Języki i ustawienia regionalne - Ogólne. W kodach formatowania Basic kropka dziesiętna (.) jest zawsze używana jako symbol zastępczy separatora dziesiętnego zdefiniowanego w ustawieniach regionalnych i będzie zastępowana przez odpowiadający jej znak.

To samo dotyczy regionalnych ustawień formatu daty, godziny i waluty. Kod formatowania Basic jest interpretowany i wyświetlany zgodnie z ustawieniami regionalnymi.

Poniższa lista opisuje kody, których można użyć do formatowania wyrażenia numerycznego:

Kod

Opis

0

Jeżeli expression ma cyfrę na pozycji 0 w kodzie format, cyfra ta jest wyświetlana, w przeciwnym razie wyświetlane jest zero.

Jeśli expression ma mniej cyfr niż liczba zer w kodzie format (po obu stronach dziesiętnych), wyświetlane są zera wiodące lub spuszczające. Jeśli expression ma więcej cyfr po lewej stronie separatora dziesiętnego niż liczbę zer w kodzie format, dodatkowe cyfry są wyświetlane bez formatowania.

Miejsca dziesiętne w expression są zaokrąglone zgodnie z liczbą zer, które pojawiają się po dziesiętnym separatorze w kodzie format.

#

Jeżeli expression zawiera cyfrę na pozycji symbolu zastępczego # w kodzie format, cyfra ta jest wyświetlana. W przeciwnym razie w tej pozycji nie jest wyświetlane nic.

Ten symbol działa jak 0, z wyjątkiem tego, że zera wiodące lub spuszczające nie są wyświetlane, jeśli w kodzie format jest więcej # znaków niż cyfr w expression. Wyświetlane są tylko odpowiednie cyfry expression.

. (period)

Symbol zastępczy dziesiętny określa liczbę miejsc dziesiętnych po lewej i prawej stronie separatora dziesiętnego.

Jeśli kod format zawiera tylko symbole zastępcze # po lewej stronie tego symbolu, liczby mniejsze niż 1 zaczynają się od separatora dziesiętnego. Aby zawsze wyświetlać wiodące zero z liczbami ułamkowymi, użyj 0 jako symbol zastępczy dla pierwszej cyfry po lewej stronie separatora dziesiętnego.

Użycie kropki jako separatora tysięcy i przecinka dziesiętnego zależy od ustawień regionalnych. W przypadku wprowadzania liczb bezpośrednio w kodzie źródłowym Basic jako separatora dziesiętnego należy zawsze używać kropki. Rzeczywisty znak wyświetlany jako separator dziesiętny zależy od formatu liczb w ustawieniach systemowych.

%

Mnoży expression przez 100 i wstawia znak procentu (%) tam, gdzie expression pojawia się w kodzie format.

E- E+ e- e+

Jeśli kod format zawiera co najmniej jeden symbol zastępczy cyfry (0 lub #) po prawej stronie symbolu E-, E+, e- lub e+, expression jest formatowany w formacie naukowym lub wykładniczym. Litera E lub e jest wstawiana między liczbą a wykładnikiem. Liczba symboli zastępczych cyfr po prawej stronie symbolu określa liczbę cyfr w wykładniku.

W przypadku zastosowania symboli E-, E+, e-, e+, jeśli wykładnik jest ujemny, bezpośrednio przez wykładnikiem jest wyświetlany znak minus. Jeśli wykładnik jest dodatni, znak plus jest wyświetlany przez wykładnikiem tylko w przypadku zastosowania symboli E+ lub e+.

- + $ ( ) space

: Znak plus (+), minus (-), dolar ($), spacja lub nawias wpisany bezpośrednio w kodzie formatu jest wyświetlany jako znak dosłowny.

\

Aby wyświetlić znaki inne niż wymienione powyżej, należy poprzedzić je odwróconą kreską ukośną (\) lub umieścić w cudzysłowie (" ").

Ukośnik odwrotny wyświetla następny znak w kodzie format.

Znaki w kodzie format, które mają szczególne znaczenie, mogą być wyświetlane jako literalne znaki, jeśli są poprzedzone ukośnikiem wstecznym. Sam ukośnik wsteczny nie jest wyświetlany, chyba że wprowadzisz podwójny ukośnik wsteczny (\\) w kodzie formatu.

Znaki wymagające poprzedzenia ich odwróconą kreską ukośną w kodzie formatu to: literały znaków formatowania daty i godziny (a, c, d, h, m, n, p, q, s, t, w, y, /, :), znaki formatowania liczb (#, 0, %, E, e, przecinek, kropka) oraz znaki formatowania ciągów (@, &, <, >, !).


Wstępnie zdefiniowane formaty

Możesz także użyć następujących predefiniowanych formatów liczb. Z wyjątkiem "General Number", wszystkie predefiniowane kody formatu zwracają liczbę jako liczbę dziesiętną z dwoma miejscami dziesiętnymi.

W przypadku korzystania ze wstępnie zdefiniowanych formatów nazwa formatu musi zostać ujęta w cudzysłów.

Kod

Opis

"<"

Zamień wyrażenie na małe litery

">"

Zamień wyrażenie na duże litery

"c" or "General Date"

Zwraca numeryczne wyrażenie w krótkim formacie daty, opcjonalnie z „H:MM:SS AM/PM”. Jeśli wyrażenie jest ciągiem, zwraca ciąg.

"n"

Zwraca minutę wyrażenia liczbowego, za pomocą 1 lub 2 cyfr.

"nn"

Zwraca minutę wyrażenia liczbowego z dwiema cyframi.

"w"

Zwraca dzień tygodnia wyrażenia liczbowego. 1 oznacza niedzielę, a 7 oznacza sobotę.

"General Number"

Zwraca wyrażenie liczbowe składające się z 12 cyfr (0.#############).

"Currency"

Zwraca wyrażenie liczbowe w walucie danych ustawień regionalnych.

"Fixed"

Zwraca wyrażenie liczbowe z 2 miejscami po przecinku (0,00).

"Standard"

Zwraca wyrażenie liczbowe z separatorami tysięcy i 2 miejscami po przecinku (@0,00).

"Percent"

Zwraca wyrażenie liczbowe jako wartość procentową (0,00%).

"Scientific"

Zwraca wyrażenie liczbowe w notacji naukowej (#,00E+00);

"Yes/No"

Zwraca „Yes” jeśli numeryczne wyrażenie nie jest równe zero, w przeciwnym wypadku zwraca „No”. „Yes” i „No” są zlokalizowane.

"True/False"

Zwraca „True”, jeśli numeryczne wyrażenie nie jest równe zero, w przeciwnym wypadku zwraca „False”. „True” i „False” są zlokalizowane.

"On/Off"

Zwraca „On”, jeśli numeryczne wyrażenie nie jest równe zero, w przeciwnym wypadku zwraca „Off”. „On” i „Off” są zlokalizowane.

"Long Date" or "dddddd"

Zwraca wyrażenie liczbowe w formacie długiej daty systemowej, zależnie od ustawień regionalnych.

"Medium Date"

Zwraca wyrażenie liczbowe w formacie daty DD-MMM-RR i zależy od ustawień regionalnych.

"Short Date" or "ddddd"

Zwraca wyrażenie liczbowe w krótkim formacie daty systemowej i zależy od ustawień regionalnych.

"Long Time" or "ttttt"

Zwraca wyrażenie liczbowe w długim formacie czasu systemowego i zależy od ustawień regionalnych („G:MM:SS AM/PM”).

"Medium Time"

Zwraca wyrażenie liczbowe w formacie czasu średniego systemu i zależy od ustawień regionalnych (GG:MM AM/PM)

"Short Time"

Zwraca wyrażenie liczbowe w krótkim formacie systemowym i zależy od ustawień regionalnych (GG:MM).


Ustawienia regionalne dotyczące formatowania liczb, dat i walut w programie LibreOffice Basic można zmienić w następującej ścieżce: - Języki i ustawienia regionalne - Ogólne. W kodach formatowania Basic kropka dziesiętna (.) jest zawsze używana jako symbol zastępczy separatora dziesiętnego zdefiniowanego w ustawieniach regionalnych i będzie zastępowana przez odpowiadający jej znak.

To samo dotyczy regionalnych ustawień formatu daty, godziny i waluty. Kod formatowania Basic jest interpretowany i wyświetlany zgodnie z ustawieniami regionalnymi.

Przykład:


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

GetDefaultContext

Zwraca domyślny kontekst "Process Service Factory", jeśli istnieje, w przeciwnym razie zwraca odwołanie o wartości null.

GetDefaultContext jest alternatywą dla metody getComponentContext() dostępnej ze zmiennej globalnej XSCRIPTCONTEXT lub z modułu uno.py.

Składnia:

svc.GetDefaultContext(): uno

Typ zwracany:

Domyślny kontekst komponentu jest używany podczas tworzenia instancji usług przez XMultiServiceFactory. Więcej informacji znajdziesz w rozdziale Professional UNO w Przewodniku programisty pod adresem api.libreoffice.org.

Przykład:


    ctx = bas.GetDefaultContext()
  

GetGuiType

Zwraca wartość liczbową określającą graficzny interfejs użytkownika. Ta funkcja jest dostępna tylko w celu zapewnienia kompatybilności wstecznej z poprzednimi wersjami.

Zapoznaj się z metodą system() z modułu platform Pythona, aby zidentyfikować system operacyjny.

Składnia:

svc.GetGuiType(): int

Przykład:


    n = bas.GetGuiType()
  
note

Instrukcje dotyczące skryptów Wiser są dostępne na stronie pomocy Identyfikacja systemu operacyjnego.


tip

• Usługa ScriptForge.Platform zapewnia zbiór właściwości dotyczących bieżącego środowiska wykonawczego i kontekstu, które obejmują wykrywanie platformy.

• Szczegółowa identyfikacja nazwy systemu operacyjnego jest dostępna we wzorze Calc INFO("system").


GetPathSeparator

Zwraca separator katalogów zależny od systemu operacyjnego używany do określania ścieżek plików.

Użyj os.pathsep z modułu os Pythona, aby zidentyfikować separator ścieżki.

Składnia:

svc.GetPathSeparator(): str

Przykład:


    sep = bas.GetPathSeparator()
  

GetSystemTicks

Zwraca liczbę taktów systemowych dostarczonych przez system operacyjny. Możesz użyć tej funkcji do optymalizacji niektórych procesów. Użyj tej metody, aby oszacować czas w milisekundach:

Składnia:

svc.GetSystemTicks(): int

Przykład:


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

GlobalScope.BasicLibraries

Zwraca obiekt UNO zawierający wszystkie współdzielone biblioteki i moduły Basic.

Ta metoda jest odpowiednikiem języka Python GlobalScope.BasicLibraries w skryptach Basic.

Składnia:

svc.GlobalScope.BasicLibraries(): uno

Typ zwracany:

com.sun.star.script.XLibraryContainer

Przykład:

Poniższy przykład ładuje bibliotekę Basic Gimmicks, jeśli nie została jeszcze załadowana.


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

GlobalScope.DialogLibraries

Zwraca obiekt UNO zawierający wszystkie udostępnione biblioteki okien dialogowych.

Ta metoda jest odpowiednikiem języka Python GlobalScope.DialogLibraries w skryptach Basic.

Składnia:

svc.GlobalScope.DialogLibraries(): uno

Typ zwracany:

com.sun.star.comp.sfx2.DialogLibraryContainer

Przykład:

Poniższy przykład wyświetla okno dialogowe z nazwami wszystkich dostępnych bibliotek okien dialogowych.


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

InputBox

Składnia:

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

Parametry:

prompt: Wyrażenie w postaci ciągu wyświetlane jako komunikat w oknie dialogowym.

title: Wyrażenie w postaci ciągu wyświetlane na pasku tytułowym okna dialogowego.

default: Wyrażenie w postaci ciągu wyświetlane w polu tekstowym jako domyślne, jeśli nie podano innych danych wejściowych.

xpostwips: Wyrażenie całkowite określające poziome położenie okna dialogowego. Pozycja jest współrzędną bezwzględną i nie odnosi się do okna LibreOffice.

ypostwips: Wyrażenie całkowite określające pionową pozycję okna dialogowego. Pozycja jest współrzędną bezwzględną i nie odnosi się do okna LibreOffice.

Jeśli pominięto xpostwips i ypostwips, okno dialogowe jest wyśrodkowane na ekranie. Pozycja jest określona w twips.

Typ zwracany:

String

Przykład:


    txt = s.InputBox('Wpisz frazę:', "Drogi użytkowniku")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Potwierdzenie frazy")
  
note

Aby uzyskać szczegółowe informacje, zobacz Input/Output to Screen with Python na Wiki.


MsgBox

Wyświetla okno dialogowe zawierające komunikat i zwraca opcjonalną wartość.
Stałe MB_xx pomagają określić typ okna dialogowego, liczbę i typ wyświetlanych przycisków oraz typ ikony. Dodając odpowiednie wartości, tworzą wzorce bitowe, które definiują wygląd okna dialogowego MsgBox.

Składnia:

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

Parametry:

prompt: wyrażenie w postaci ciągu wyświetlane jako komunikat w oknie dialogowym. Znak Chr$(13) w ciągu powoduje podział wiersza.

title: ciąg wyświetlany w postaci komunikatu w oknie dialogowym. W przypadku braku tego ciągu na pasku tytułowym jest wyświetlana nazwa odpowiedniej aplikacji.

buttons: dowolne wyrażenie w postaci liczby całkowitej określające typ okna dialogowego, a także typ i liczbę wyświetlanych przycisków oraz typ ikony. buttons oznacza kombinację ciągów binarnych czyli kombinację elementów definiowanych poprzez dodanie odpowiadających im wartości:

Typ zwracany:

Opcjonalna liczba całkowita, jak opisano powyżej we właściwościach IDxx.

Przykład:


    txt = s.InputBox('Wpisz frazę:', "Drogi użytkowniku")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Potwierdzenie frazy")
  
note

Aby uzyskać szczegółowe informacje, zobacz Input/Output to Screen with Python na Wiki.


Now

Zwraca bieżącą datę i godzinę systemową jako natywny obiekt Pythona datetime.datetime.

Składnia:

svc.Now(): datetime

Przykład:


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

RGB

Zwraca całkowitą wartość koloru składającą się ze składników czerwonego, zielonego i niebieskiego.

Składnia:

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

Parametry:

red: dowolne wyrażenie całkowite, które reprezentuje składową czerwieni (0-255) koloru złożonego.

green: dowolne wyrażenie całkowite, które reprezentuje składową zieleni (0-255) koloru złożonego.

blue: dowolne wyrażenie całkowite, które reprezentuje składową niebieskiego (0-255) koloru złożonego.

Wynikowa wartość Long jest obliczana za pomocą następującego wzoru:
Wynik = red×65536 + green×256 + blue.

warning

W trybie zgodności z VBA (Option VBASupport 1) wartość Long jest obliczana jako
Wynik = red + green×256 + blue×65536
Zobacz funkcję RGB [VBA]


tip

Okno wyboru koloru pomaga obliczyć składowe czerwonego, zielonego i niebieskiego koloru złożonego. Zmiana koloru tekstu i wybranie koloru niestandardowego powoduje wyświetlenie okna wyboru koloru.


Typ zwracany:

Integer

Przykład:


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

Xray

Sprawdź obiekty lub zmienne UNO.

Składnia:

svc.Xray(obj: any)

Parametry:

obj: zmienna lub obiekt UNO.

Przykład:


    bas.Xray(bas.StarDesktop)
  
warning

Wszystkie podstawowe procedury lub identyfikatory ScriptForge poprzedzone znakiem podkreślenia „_” są zarezerwowane do użytku wewnętrznego. Nie należy ich używać w makrach Basic ani skryptach Pythona.


Prosimy o wsparcie!