Περιεχόμενα

# Υπηρεσία ScriptForge.Basic

Η υπηρεσία ScriptForge.Basic προτείνει μια συλλογή μεθόδων του LibreOffice Basic που θα εκτελεστούν σε περιβάλλον Python. Οι μέθοδοι υπηρεσίας Basic αναπαράγουν την ακριβή σύνταξη και συμπεριφορά των ενσωματωμένων συναρτήσεων Basic.

Τυπικό παράδειγμα:

       bas.MsgBox('Display this text in a message box from a Python script')

Η χρήση της υπηρεσίας ScriptForge.Basic περιορίζεται σε σενάρια Python.

## Κλήση υπηρεσίας

Πριν να χρησιμοποιήσετε την υπηρεσία Basic, εισαγάγετε τη μέθοδο CreateScriptService() από τη λειτουργική μονάδα scriptforge:

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

## Ιδιότητες

Όνομα | Μόνο για ανάγνωση | Τύπος | Περιγραφή
--- | --- | --- | ---
MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL | Ναι | Integer | Τιμές: 0, 1, 5, 4, 3
MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP | Ναι | Integer | Τιμές: 48, 64, 32, 16
MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3 | Ναι | Integer | Τιμές: 2, 128, 256, 512
IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES | Ναι | Integer | Τιμές: 3, 2, 5, 7, 1, 4, 6 Σταθερές που υποδεικνύουν το επιλεγμένο πλήκτρο MsgBox.
StarDesktop | Ναι | Αντικείμενο UNO | Επιστρέφει το αντικείμενο StarDesktop που αντιπροσωπεύει την εφαρμογή LibreOffice.
ThisComponent | Ναι | Αντικείμενο UNO | Εάν το τρέχον στοιχείο αναφέρεται σε έγγραφο του LibreOffice, αυτή η μέθοδος επιστρέφει το αντικείμενο UNO που αντιπροσωπεύει το έγγραφο. Αυτή η ιδιότητα επιστρέφει None, όταν το τρέχον στοιχείο δεν αντιστοιχεί σε έγγραφο.
ThisDatabaseDocument | Ναι | Αντικείμενο UNO | Εάν η δέσμη ενεργειών εκτελείται από ένα έγγραφο Base ή οποιοδήποτε από τα υποσυστατικά του, αυτή η μέθοδος επιστρέφει το κύριο στοιχείο της παρουσίας Base. Αυτή η ιδιότητα επιστρέφει διαφορετικά None.

Κατάλογος μεθόδων στην Υπηρεσία 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

## CDate

Μετατρέπει μια αριθμητική έκφραση ή μια συμβολοσειρά σε εγγενές αντικείμενο Python του τύπου datetime.datetime.

Αυτή η μέθοδος εκθέτει την ενσωματωμένη συνάρτηση Basic CDate σε σενάρια Python.

### Σύνταξη:

svc.CDate(expression: any): obj

### Παράμετροι:

expression: (έκφραση) μια αριθμητική έκφραση ή μια συμβολοσειρά που αντιπροσωπεύει μια ημερομηνία.

Όταν μετατρέπετε μια έκφραση συμβολοσειράς, η ημερομηνία και η ώρα πρέπει να εισαχθούν είτε σε ένα από τα μοτίβα αποδοχής ημερομηνίας που έχουν οριστεί για τις τοπικές ρυθμίσεις (δείτε LibreOffice - ΠροτιμήσειςΕργαλεία - Επιλογές - Γλώσσες και τοπικές ρυθμίσεις - Γενικά), ή σε μορφή ημερομηνίας ISO (προς το παρόν, γίνεται αποδεκτή μόνο η μορφή ISO με παύλες, π.χ. "2012-12-31"). Στις αριθμητικές εκφράσεις, οι τιμές στα αριστερά του δεκαδικού αντιπροσωπεύουν την ημερομηνία, ξεκινώντας από τις 31 Δεκεμβρίου 1899. Οι τιμές στα δεξιά του δεκαδικού αντιπροσωπεύουν την ώρα.

### Παράδειγμα:

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

## CDateFromUnoDateTime

Μετατρέπει μια αναπαράσταση ημερομηνίας/ώρας UNO σε ένα εγγενές αντικείμενο της Python του τύπου datetime.datetime.

### Σύνταξη:

svc.CDateFromUnoDateTime(unodate: uno): obj

### Παράμετροι:

unodate: Ένα αντικείμενο UNO ημερομηνίας/ώρας ενός από τους ακόλουθους τύπους: com.sun.star.util.DateTime, com.sun.star.util. Ημερομηνία ή com.sun.star.util.Time

### Παράδειγμα:

Το παρακάτω παράδειγμα δημιουργεί ένα αντικείμενο com.sun.star.util.DateTime και το μετατρέπει σε αντικείμενο 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

Μετατρέπει μια αναπαράσταση ημερομηνίας σε αντικείμενο com.sun.star.util.DateTime.

### Σύνταξη:

svc.CDateToUnoDateTime(date: obj): uno

### Παράμετροι:

date (ημερομηνία): Ένα αντικείμενο ημερομηνίας/ώρας Python ενός από τους ακόλουθους τύπους: datetime.datetime, datetime.date, datetime.time , float (time.time) ή time.struct_time.

### Παράδειγμα:

        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

Επιστρέφει ένα όνομα αρχείου διαδρομής συστήματος για τη δεδομένη διεύθυνση URL file: (αρχείο).

### Σύνταξη:

svc.ConvertFromUrl(url: str): str

### Παράμετροι:

url: Μια απόλυτη διεύθυνση URL file:.

### Επιστρεφόμενη τιμή:

Όνομα αρχείου διαδρομής συστήματος.

### Παράδειγμα:

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

## ConvertToUrl

Επιστρέφει μια διεύθυνση URL file: (αρχείου)για τη δεδομένη διαδρομή συστήματος.

### Σύνταξη:

svc.ConvertToUrl(systempath: str): str

### Παράμετροι:

systempath (διαδρομή συστήματος): Ένα όνομα αρχείου συστήματος ως συμβολοσειρά.

### Επιστρεφόμενη τιμή:

URL ενός file: (αρχείου) ως συμβολοσειρά.

### Παράδειγμα:

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

## CreateUnoService

Δημιουργεί μια υπηρεσία UNO με το ProcessServiceManager.

### Σύνταξη:

svc.CreateUnoService(servicename: str): uno

### Παράμετροι:

servicename (όνομα υπηρεσίας): Ένα πλήρως πιστοποιημένο όνομα υπηρεσίας όπως com.sun.star.ui.dialogs.FilePicker ή com.sun.star.sheet.FunctionAccess.

### Παράδειγμα:

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

## CreateUnoStruct

Επιστρέφει μια παρουσία μιας δομής UNO του καθορισμένου τύπου.

### Σύνταξη:

svc.CreateUnoStruct(unostructure: str): uno

### Παράμετροι:

unostructure: Ένα πλήρως αναγνωρισμένο όνομα δομής όπως com.sun.star.beans.Property, ή com.sun.star.util.DateTime.

### Παράδειγμα:

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

## DateAdd

Προσθέτει μια ημερομηνία ή ένα χρονικό διάστημα σε μια δεδομένη ημερομηνία/χρόνο αρκετές φορές και επιστρέφει την ημερομηνία που προκύπτει.

### Σύνταξη:

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

### Παράμετροι:

interval (διάστημα): Μια έκφραση συμβολοσειράς από τον παρακάτω πίνακα, που καθορίζει την ημερομηνία ή το χρονικό διάστημα.

interval (τιμή συμβολοσειράς) | Εξήγηση
--- | ---
yyyy | Έτος
q | Τέταρτο
m | Μήνας
y | Ημέρα του έτους
w | Μέρα της εβδομάδος
ww | Εβδομάδα του έτους
d | Μέρα
h | Ώρα
n | Λεπτά
s | Δευτερόλεπτά

number (αριθμός): Μια αριθμητική έκφραση που καθορίζει πόσο συχνά θα προστίθεται η τιμή interval όταν είναι θετική ή θα αφαιρείται όταν είναι αρνητική.

date (ημερομηνία): Μια δεδομένη τιμή datetime.datetime, η τιμή interval θα προστεθεί number (αριθμός) φορών σε αυτήν την τιμή datetime.datetime.

### Επιστρεφόμενη τιμή:

Μια τιμή datetime.datetime.

### Παράδειγμα:

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

## DateDiff

Επιστρέφει τον αριθμό των διαστημάτων ημερομηνίας ή χρόνου μεταξύ δύο δεδομένων τιμών ημερομηνίας/χρόνου.

### Σύνταξη:

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

### Παράμετροι:

interval (διάστημα): Μια έκφραση συμβολοσειράς που καθορίζει το διάστημα ημερομηνίας, όπως περιγράφεται στην παραπάνω μέθοδο DateAdd.

date1, date2 (ημερομηνία1, ημερομηνία2): Οι δύο τιμές datetime.datetime προς σύγκριση.

firstdayofweek: Μια προαιρετική παράμετρος που καθορίζει την ημέρα έναρξης μιας εβδομάδας.

τιμή firstdayofweek | Εξήγηση
--- | ---
0 | Χρήση προκαθορισμένων τιμών συστήματος
1 | Κυριακή (προεπιλογή)
2 | Δευτέρα
3 | Τρίτη
4 | Τετάρτη
5 | Πέμπτη
6 | Παρασκευή
7 | Σάββατο

firstweekofyear: Μια προαιρετική παράμετρος που καθορίζει την εβδομάδα έναρξης ενός έτους.

τιμή firstweekofyear | Εξήγηση
--- | ---
0 | Χρήση προκαθορισμένων τιμών συστήματος
1 | Η εβδομάδα 1 είναι η εβδομάδα με την 1η Ιανουαρίου, (προεπιλογή)
2 | Η εβδομάδα 1 είναι η πρώτη εβδομάδα που περιέχει τέσσερις ή περισσότερες ημέρες εκείνου του έτους
3 | Η εβδομάδα 1 η πρώτη εβδομάδα περιέχει μόνο ημέρες του νέου έτους

### Επιστρεφόμενη τιμή:

Ένας αριθμός.

### Παράδειγμα:

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

## DatePart

Η συνάρτηση DatePart επιστρέφει ένα καθορισμένο τμήμα μιας ημερομηνίας.

### Σύνταξη:

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

### Παράμετροι:

interval (διάστημα): Μια έκφραση συμβολοσειράς που καθορίζει το διάστημα ημερομηνίας, όπως περιγράφεται στην παραπάνω μέθοδο DateAdd.

date (ημερομηνία): Η ημερομηνία/χρόνος από την οποία υπολογίζεται το αποτέλεσμα.

firstdayofweek, firstweekofyear (πρώτη ημέρα της εβδομάδας, πρώτη εβδομάδα του έτους): προαιρετικές παράμετροι που καθορίζουν αντίστοιχα την ημέρα έναρξης μιας εβδομάδας και την εβδομάδα έναρξης ενός έτους, όπως περιγράφεται παραπάνω στη μέθοδο DateDiff.

### Επιστρεφόμενη τιμή:

Το εξαγόμενο τμήμα για τη δεδομένη ημερομηνία/χρόνο.

### Παράδειγμα:

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

## DateValue

Υπολογίζει μια τιμή ημερομηνίας από μια συμβολοσειρά ημερομηνίας.

### Σύνταξη:

svc.DateValue(date: str): datetime

### Παράμετροι:

ημερομηνία: Μια συμβολοσειρά που περιέχει την ημερομηνία που θα μετατραπεί σε αντικείμενο Ημερομηνίας.

Η συμβολοσειρά που μεταβιβάστηκε στο DateValue πρέπει να εκφράζεται σε μία από τις μορφές ημερομηνίας που ορίζονται από την τοπική ρύθμιση (δείτε LibreOffice - ΠροτιμήσειςΕργαλεία - Επιλογές - Γλώσσες και τοπικές ρυθμίσεις - Γενικά), ή χρήση της μορφής ημερομηνίας ISO "εεεε-μμ-ηη" (έτος, μήνας και ημέρα χωρίζονται με παύλες).

### Επιστρεφόμενη τιμή:

Η υπολογιζόμενη ημερομηνία.

### Παράδειγμα:

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

## Format

Μετατρέπει έναν αριθμό σε συμβολοσειρά και, στη συνέχεια, τον μορφοποιεί σύμφωνα με τη μορφή που καθορίζετε.

### Σύνταξη:

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

### Παράμετροι:

expression (έκφραση): Αριθμητική έκφραση που θέλετε να μετατρέψετε σε μορφοποιημένη συμβολοσειρά.

format (μορφή): Συμβολοσειρά που καθορίζει τον κωδικό μορφής για τον αριθμό. Εάν η format παραλειφθεί, η συνάρτηση Format λειτουργεί όπως η συνάρτηση LibreOffice Basic Str().

### Επιστρεφόμενη τιμή:

Συμβολοσειρά κειμένου.

### Κώδικες μορφοποίησης

Ο παρακάτω κατάλογος περιγράφει τους κωδικούς που μπορείτε να χρησιμοποιήσετε για τη μορφοποίηση μιας αριθμητικής παράστασης:

0: Εάν η expression έχει ένα ψηφίο στη θέση του 0 στον κωδικό format, το ψηφίο εμφανίζεται, διαφορετικά εμφανίζεται ένα μηδέν.

Εάν η expression έχει λιγότερα ψηφία από τον αριθμό των μηδενικών στον κωδικό format, (και στις δύο πλευρές του δεκαδικού), εμφανίζονται μηδενικά στην αρχή ή στο τέλος. Εάν η expression έχει περισσότερα ψηφία στα αριστερά του δεκαδικού διαχωριστικού από το ποσό των μηδενικών στον κωδικό format, τα πρόσθετα ψηφία εμφανίζονται χωρίς μορφοποίηση.

Οι δεκαδικοί θέσεις στην expression στρογγυλοποιούνται σύμφωνα με τον αριθμό των μηδενικών που εμφανίζονται μετά το δεκαδικό διαχωριστικό στον κώδικα format.

#: Εάν η expression περιέχει ένα ψηφίο στη θέση του σύμβολο κράτησης θέσης # στον κωδικό format, το ψηφίο εμφανίζεται, διαφορετικά δεν εμφανίζεται τίποτα σε αυτήν τη θέση.

Αυτό το σύμβολο λειτουργεί όπως το 0, εκτός από το ότι τα μηδενικά στην αρχή ή στο τέλος δεν εμφανίζονται εάν υπάρχουν περισσότεροι # χαρακτήρες στον κωδικό format από ψηφία στην expression. Εμφανίζονται μόνο τα σχετικά ψηφία της expression.

.: Το δεκαδικό σύμβολο κράτησης θέσης καθορίζει το πλήθος των δεκαδικών ψηφίων δεξιά και αριστερά της υποδιαστολής.

Εάν ο κωδικός format περιέχει μόνο # σύμβολα κράτησης θέσης στα αριστερά αυτού του συμβόλου, οι αριθμοί που είναι μικρότεροι από 1 ξεκινούν με δεκαδικό διαχωριστικό. Για να εμφανίζεται πάντα ένα μηδενικό στην αρχή με κλασματικούς αριθμούς, χρησιμοποιήστε το 0 ως σύμβολο κράτησης θέσης για το πρώτο ψηφίο στα αριστερά του δεκαδικού διαχωριστικού.

%: Πολλαπλασιάζει την expressionεπί 100 και εισάγει το σύμβολο ποσοστού (%) όπου η expression εμφανίζεται στον κώδικα format.

E- E+ e- e+ : Εάν ο κώδικας format περιέχει τουλάχιστον ένα σύμβολο κράτησης θέσης ψηφίου (0 ή #) στα δεξιά του συμβόλου E-, E+, e-, ή e+, η expression (έκφραση) μορφοποιείται σε επιστημονική ή εκθετική μορφή. Το γράμμα E ή e παρεμβάλλεται μεταξύ του αριθμού και του εκθέτη. Ο αριθμός των δεσμευτικών θέσης για ψηφία στα δεξιά του συμβόλου καθορίζει τον αριθμό των ψηφίων στον εκθέτη.

Αν ο εκθέτης είναι αρνητικός, εμφανίζεται ένα αρνητικό πρόσημο μπροστά από έναν εκθέτη με E-, E+, e-, e+. Αν ο εκθέτης είναι θετικός, τότε εμφανίζεται θετικό πρόσημο μόνο μπροστά από εκθέτες με E+ ή e+.

Ο οριοθέτης χιλιάδων εμφανίζεται εάν ο κωδικός format (μορφή) περιέχει τον οριοθέτη που περικλείεται από σύμβολα κράτησης θέσης ψηφίων (0 ή #).

Η χρήση της τελείας ως διαχωριστικού χιλιάδων και υποδιαστολής εξαρτάται από τις τοπικές ρυθμίσεις του συστήματός σας. Όταν εισάγετε έναν αριθμό άμεσα στο πηγαίο κώδικα της Basic, χρησιμοποιείτε πάντα μια τελεία ως υποδιαστολή. Ο χαρακτήρας που εμφανίζεται στην πραγματικότητα ως υποδιαστολή εξαρτάται από την μορφή του αριθμού στις τοπικές σας ρυθμίσεις. Τα παραδείγματα που παρουσιάζονται εδώ υποθέτουν ότι οι τοπικές ρυθμίσεις είναι US (Η.Π.Α.).

- + $ ( ) space: (διάστημα) Ένα συν (+), μείον (-), δολάριο ($), κενό διάστημα ή αγκύλες που εισάγονται απευθείας στον κώδικα format (μορφή) εμφανίζονται ως ένας κυριολεκτικός χαρακτήρας.

Για την εμφάνιση χαρακτήρων που δεν αναφέρονται σε αυτή τη λίστα, θα πρέπει να προηγείται του χαρακτήρα μια ανάστροφη κάθετος (\), ή να περικλείεται σε αγγλικά εισαγωγικά (" ").

\ : Η ανάστροφη κάθετος εμφανίζει τον επόμενο χαρακτήρα στον κώδικα format (μορφή).

Οι χαρακτήρες στον κώδικα format (μορφή) που έχουν ειδική σημασία μπορούν να εμφανίζονται ως κυριολεκτικοί χαρακτήρες μόνο εάν προηγείται ανάστροφη κάθετος. Η ίδια η ανάστροφη κάθετος δεν εμφανίζεται, εκτός εάν εισαγάγετε διπλή κάθετο (\\) στον κώδικα μορφής.

Οι χαρακτήρες μπροστά από τους οποίους θα πρέπει να υπάρχει μια ανάστροφη κάθετος στον κώδικα μορφής ώστε να εμφανίζονται ως ρητοί χαρακτήρες είναι οι χαρακτήρες ημερομηνίας και χρόνου (a, c, d, h, m, n, p, q, s, t, w, y, /, :), οι χαρακτήρες αριθμητικής μορφοποίησης (#, 0, %, E, e, κόμμα, τελεία) και οι χαρακτήρες μορφοποίησης συμβολοσειράς (@, &, <, >, !).

Μπορείτε επίσης να χρησιμοποιήσετε τις ακόλουθες προκαθορισμένες μορφές αριθμών. Εκτός από τον "General Number" (Γενικό αριθμό), όλοι οι προκαθορισμένοι κώδικες μορφής επιστρέφουν τον αριθμό ως δεκαδικό αριθμό με δύο δεκαδικά ψηφία.

Αν χρησιμοποιείτε προκαθορισμένες μορφές, το όνομα της μορφής θα πρέπει να περικλείεται σε αγγλικά εισαγωγικά.

### Προκαθορισμένες μορφές

General Number: Οι αριθμοί εμφανίζονται όπως έχουν εισαχθεί.

Currency: Μπροστά από τον αριθμό τοποθετείται ένα σύμβολο δολαρίου. Οι αρνητικό αριθμοί περικλείονται σε παρενθέσεις.

Fixed: Εμφανίζεται τουλάχιστον ένα ψηφίο μπροστά από την υποδιαστολή.

Standard: Εμφανίζει αριθμούς με διαχωριστικό χιλιάδων.

Percent: Ο αριθμός πολλαπλασιάζεται επί 100 και στον αριθμό προστίθεται ένα ποσοστιαίο σύμβολο.

Scientific: Εμφανίζει αριθμούς σε εκθετική μορφή (π.χ. 1,00E+03 για 1000).

Ένας κώδικας format (μορφή) μπορεί να χωριστεί σε τρεις ενότητες που χωρίζονται με ;. Το πρώτο μέρος ορίζει τη μορφή για τις θετικές τιμές, το δεύτερο μέρος για τις αρνητικές τιμές και το τρίτο μέρος για το μηδέν. Εάν καθορίσετε μόνο έναν κώδικα format (μορφής), ισχύει για όλους τους αριθμούς.

Μπορείτε να ορίσετε την τοπική ρύθμιση που χρησιμοποιείται για τον έλεγχο της μορφοποίησης αριθμών, ημερομηνιών και νομισμάτων στο LibreOffice Basic στο LibreOffice - ΠροτιμήσειςΕργαλεία - Επιλογές - Γλώσσες και τοπικές ρυθμίσεις - Γενικά. Στους κωδικούς μορφής Basic, το σημείο υποδιαστολής (.) χρησιμοποιείται πάντα ως δεσμευτικό θέσης για το δεκαδικό διαχωριστικό που ορίζεται στις τοπικές ρυθμίσεις σας και θα αντικατασταθεί από τον αντίστοιχο χαρακτήρα.

Το ίδιο ισχύει και για τις τοπικές ρυθμίσεις για την μορφή της ημερομηνίας, ώρας και νομίσματος. Ο κώδικας μορφοποίησης της Basic θα ερμηνευθεί και θα εμφανισθεί σύμφωνα με τις τοπικές ρυθμίσεις σας.

### Παράδειγμα:

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

## GetDefaultContext

Επιστρέφει το προεπιλεγμένο περιεχόμενο του εργοστασίου υπηρεσιών διαδικασίας, εάν υπάρχει, αλλιώς επιστρέφει μια μηδενική αναφορά.

Το GetDefaultContext είναι μια εναλλακτική λύση στη μέθοδο getComponentContext() που διατίθεται από τηνκαθολική μεταβλητή XSCRIPTCONTEXT ή από την ενότητα uno.py.

### Σύνταξη:

svc.GetDefaultContext(): uno

### Επιστρεφόμενη τιμή:

Χρησιμοποιείται το προεπιλεγμένο περιβάλλον στοιχείου, κατά την προετοιμασία υπηρεσιών μέσω του XMultiServiceFactory. Δείτε το κεφάλαιο Professional UNO στον Οδηγό προγραμματιστών στο api.libreoffice.org για περισσότερες πληροφορίες.

### Παράδειγμα:

        ctx = bas.GetDefaultContext()

## GetGuiType

Επιστρέφει μια αριθμητική τιμή που καθορίζει τη γραφική διεπαφή χρήστη. Αυτή η λειτουργία παρέχεται μόνο για συμβατότητα προς τα πίσω με προηγούμενες εκδόσεις.

Ανατρέξτε στη μέθοδο system() από την ενότητα platform Python για να προσδιορίστε το λειτουργικό σύστημα.

### Σύνταξη:

svc.GetGuiType(): int

### Παράδειγμα:

        n = bas.GetGuiType()

## GetPathSeparator

Επιστρέφει το διαχωριστικό καταλόγου που εξαρτάται από το χρησιμοποιούμενο λειτουργικό σύστημα για να καθορίσει τις διαδρομές αρχείου.

Χρησιμοποιήστε το os.pathsep από την ενότητα os του Python για να προσδιορίστε το διαχωριστικό διαδρομής.

### Σύνταξη:

svc.GetPathSeparator(): str

### Παράδειγμα:

        sep = bas.GetPathSeparator()

## GetSystemTicks

Επιστρέφει τον αριθμό των σημείων συστήματος που παρέχονται από το λειτουργικό σύστημα. Μπορείτε να χρησιμοποιήσετε αυτήν τη λειτουργία για να βελτιστοποιήσετε ορισμένες διαδικασίες. Χρησιμοποιήστε αυτήν τη μέθοδο για να υπολογίσετε το χρόνο σε χιλιοστά του δευτερολέπτου:

### Σύνταξη:

svc.GetSystemTicks(): int

### Παράδειγμα:

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

## GlobalScope.BasicLibraries

Επιστρέφει το αντικείμενο UNO που περιέχει όλες τις κοινόχρηστες βιβλιοθήκες Basic και τις λειτουργικές μονάδες.

Αυτή η μέθοδος είναι η ισοδύναμη Python με το GlobalScope.BasicLibraries στα βασικά σενάρια.

### Σύνταξη:

svc.GlobalScope.BasicLibraries(): uno

### Επιστρεφόμενη τιμή:

com.sun.star.script.XLibraryContainer

### Παράδειγμα:

Το ακόλουθο παράδειγμα φορτώνει τη βιβλιοθήκη Gimmicks Basic εάν δεν έχει φορτωθεί ακόμα.

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

## GlobalScope.DialogLibraries

Επιστρέφει το αντικείμενο UNO που περιέχει όλες τις κοινόχρηστες βιβλιοθήκες διαλόγου.

Αυτή η μέθοδος είναι η ισοδύναμη Python με το GlobalScope.DialogLibraries στα σενάρια Basic.

### Σύνταξη:

svc.GlobalScope.DialogLibraries(): uno

### Επιστρεφόμενη τιμή:

com.sun.star.comp.sfx2.DialogLibraryContainer

### Παράδειγμα:

Το ακόλουθο παράδειγμα δείχνει ένα πλαίσιο μηνύματος με τα ονόματα όλων των διαθέσιμων βιβλιοθηκών διαλόγου.

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

## InputBox

### Σύνταξη:

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

### Παράμετροι:

prompt (προτροπή): Η έκφραση συμβολοσειράς εμφανίζεται ως μήνυμα στο πλαίσιο διαλόγου.

title (τίτλος): Έκφραση συμβολοσειράς που εμφανίζεται στη γραμμή τίτλου του πλαισίου διαλόγου.

default (προεπιλογή): Η έκφραση συμβολοσειράς που εμφανίζεται στο πλαίσιο κειμένου ως προεπιλογή εάν δεν δοθεί άλλη είσοδος.

xpostwips: Παράσταση ακέραιου αριθμού που καθορίζει την οριζόντια θέση του διαλόγου. Η θέση είναι απόλυτη συντεταγμένη και δεν αναφέρεται στο παράθυρο του LibreOffice.

ypostwips: Παράσταση ακέραιου αριθμού που καθορίζει την κατακόρυφη θέση του διαλόγου. Η θέση είναι απόλυτη συντεταγμένη και δεν αναφέρεται στο παράθυρο του LibreOffice.

Εάν παραληφθούν τα xpostwips και ypostwips, το παράθυρο διαλόγου κεντράρεται στην οθόνη. Η θέση καθορίζεται στο twips.

### Επιστρεφόμενη τιμή:

String

### Παράδειγμα:

        txt = s.InputBox('Παρακαλούμε εισάγετε μια φράση, "Αγαπητέ χρήστη")
        s.MsgBox(txt, s.MB_ICONINFORMATION, "Επιβεβαίωση φράσης")

Για αναλυτικές πληροφορίες, ανατρέξτε στο Input/Output to Screen with Python στο Wiki.

## MsgBox

Εμφανίζει ένα πλαίσιο διαλόγου που περιέχει ένα μήνυμα και επιστρέφει μια προαιρετική τιμή.
Οι σταθερές MB_xx βοηθούν στον καθορισμό του τύπου διαλόγου, του αριθμού και του τύπου των πλήκτρων που θα εμφανίζονται, καθώς και του τύπου εικονιδίου. Προσθέτοντας τις αντίστοιχες τιμές τους σχηματίζουν μοτίβα bit, που ορίζουν την εμφάνιση διαλόγου MsgBox.

### Σύνταξη:

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

### Παράμετροι:

prompt (προτροπή): Η έκφραση συμβολοσειράς εμφανίζεται ως μήνυμα στο πλαίσιο διαλόγου. Οι αλλαγές γραμμής μπορούν να εισαχθούν με το Chr$(13).

title (τίτλος): Έκφραση συμβολοσειράς που εμφανίζεται στη γραμμή τίτλου του διαλόγου. Εάν παραλειφθεί, η γραμμή τίτλου εμφανίζει το όνομα της αντίστοιχης εφαρμογής.

buttons (πλήκτρα): Οποιαδήποτε ακέραια έκφραση που καθορίζει τον τύπο διαλόγου, καθώς και τον αριθμό και τον τύπο των πλήκτρων που θα εμφανίζονται και τον τύπο εικονιδίου. Τα buttons αντιπροσωπεύουν έναν συνδυασμό μοτίβων bit, δηλαδή, ένας συνδυασμός στοιχείων μπορεί να οριστεί προσθέτοντας τις αντίστοιχες τιμές τους:

### Επιστρεφόμενη τιμή:

Ένας προαιρετικός ακέραιος όπως περιγράφεται στις παραπάνω ιδιότητες IDxx.

### Παράδειγμα:

        txt = s.InputBox('Παρακαλούμε εισάγετε μια φράση, "Αγαπητέ χρήστη")
        s.MsgBox(txt, s.MB_ICONINFORMATION, "Επιβεβαίωση φράσης")

Για αναλυτικές πληροφορίες, ανατρέξτε στο Input/Output to Screen with Python στο Wiki.

## Now

Επιστρέφει την τρέχουσα ημερομηνία και χρόνο του συστήματος ως εγγενές αντικείμενο Python datetime.datetime.

### Σύνταξη:

svc.Now(): datetime

### Παράδειγμα:

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

## RGB

Επιστρέφει μια ακέραια τιμή χρώματος που αποτελείται από κόκκινο, πράσινο και γάλαζιο.

### Σύνταξη:

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

### Παράμετροι:

red (κόκκινο): Οποιαδήποτε ακέραια παράσταση που αντιπροσωπεύει το κόκκινο συστατικό (0-255) του σύνθετου χρώματος.

green (πράσινο): Οποιαδήποτε ακέραια παράσταση που αντιπροσωπεύει το πράσινο στοιχείο (0-255) του σύνθετου χρώματος.

blue (γαλάζιο): Οποιαδήποτε ακέραια παράσταση που αντιπροσωπεύει το μπλε στοιχείο (0-255) του σύνθετου χρώματος.

Η τιμή Long που προκύπτει υπολογίζεται με τον ακόλουθο τύπο:
Result = red×65536 + green×256 + blue.

Στη λειτουργία συμβατότητας VBA (Επιλογή VBASupport 1), η τιμή Long υπολογίζεται ως
Result = red + green×256 + blue×65536
Δείτε Συνάρτηση RGB [VBA]

Ο διάλογος επιλογέα χρώματος βοηθά τον υπολογισμό του κόκκινου, πράσινου και του γαλάζιου συστατικού σύνθετου χρώματος. Η Αλλαγή χρώματος κειμένου και η επιλογή Προσαρμοσμένου χρώματος εμφανίζει τον διάλογο επιλογέα χρώματος.

### Επιστρεφόμενη τιμή:

Integer

### Παράδειγμα:

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

## Xray

Επιθεώρηση αντικειμένων ή μεταβλητών Uno.

### Σύνταξη:

svc.Xray(obj: any)

### Παράμετροι:

obj: Μεταβλητή ή αντικείμενο UNO.

### Παράδειγμα:

        bas.Xray(bas.StarDesktop)

Όλες οι ρουτίνες ή αναγνωριστικά του ScriptForge στη Basic που έχουν το πρόθεμα χαρακτήρα υπογράμμισης "_" δεσμεύονται για εσωτερική χρήση. Δεν προορίζονται να χρησιμοποιηθούν σε μακροεντολές Basic ή σενάρια Python.

Σχετικά θέματα

Προσδιοριστής GlobalScope

Προγραμματισμός με σενάρια Python

uno.fileUrlToSystemPath()

uno.systemPathToFileUrl()

Input/Output to Screen with Python στο wiki

XSCRIPTCONTEXT.getComponentContext()

uno.getComponentContext()

platform.system()

os.pathsep()