Spis treści

# 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')

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

## Wywoływanie usługi

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

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.

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 LibreOffice - Preferencje Narzędzia - Opcje - 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)

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)

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')

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.

Ciąg przekazany do DateValue musi być wyrażony w jednym z formatów daty zdefiniowanych w ustawieniach regionalnych (patrz LibreOffice - Preferencje Narzędzia - Opcje - 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: LibreOffice - Preferencje Narzędzia - Opcje - 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 format 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, zależnym 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: LibreOffice - Preferencje Narzędzia - Opcje - 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()

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

• 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")

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")

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.

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

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)

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.

Tematy pokrewne

Specyfikator GlobalScope

Programowanie za pomocą skryptów Pythona

uno.fileUrlToSystemPath()

uno.systemPathToFileUrl()

Input/Output to Screen with Python na Wiki

XSCRIPTCONTEXT.getComponentContext()

uno.getComponentContext()

platform.system()

os.pathsep()

Prosimy o wsparcie!