Περιεχόμενα

# Υπηρεσία 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

Python alternatives exist for methods marked with (*).

## 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:.

### Return type:

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

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

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

uno module fileUrlToSystemPath() method returns a system path using an identical syntax.

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

## ConvertToUrl

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

### Σύνταξη:

svc.ConvertToUrl(systempath: str): str

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

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

### Return type:

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

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

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

uno module systemPathToFileUrl() method returns a file URL for the given system path.

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

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

uno module createUnoStruct() method creates an instance of a Uno structure type.

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

## 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.

### Return type:

Μια τιμή 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 η πρώτη εβδομάδα περιέχει μόνο ημέρες του νέου έτους

### Return type:

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

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

        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.

### Return type:

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

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

        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 "εεεε-μμ-ηη" (έτος, μήνας και ημέρα χωρίζονται με παύλες).

### Return type:

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

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

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

## Format

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

### Σύνταξη:

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

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

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

format: String that specifies the format code for the number. If format is omitted, the Format function works like the LibreOffice Basic Str() function.

### Return type:

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

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

In BASIC, a format code can be divided into three sections that are separated by semicolons. The first part defines the format for positive values, the second part for negative values, and the third part for zero. If you only specify one format code, it applies to all numbers.

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

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

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

Code | Description
--- | ---
0 | If expression has a digit at the position of the 0 in the format code, the digit is displayed, otherwise a zero is displayed. Εάν η expression έχει λιγότερα ψηφία από τον αριθμό των μηδενικών στον κωδικό format, (και στις δύο πλευρές του δεκαδικού), εμφανίζονται μηδενικά στην αρχή ή στο τέλος. Εάν η expression έχει περισσότερα ψηφία στα αριστερά του δεκαδικού διαχωριστικού από το ποσό των μηδενικών στον κωδικό format, τα πρόσθετα ψηφία εμφανίζονται χωρίς μορφοποίηση. Οι δεκαδικοί θέσεις στην expression στρογγυλοποιούνται σύμφωνα με τον αριθμό των μηδενικών που εμφανίζονται μετά το δεκαδικό διαχωριστικό στον κώδικα format.
# | If expression contains a digit at the position of the # placeholder in the format code, the digit is displayed, otherwise nothing is displayed at this position. Αυτό το σύμβολο λειτουργεί όπως το 0, εκτός από το ότι τα μηδενικά στην αρχή ή στο τέλος δεν εμφανίζονται εάν υπάρχουν περισσότεροι # χαρακτήρες στον κωδικό format από ψηφία στην expression. Εμφανίζονται μόνο τα σχετικά ψηφία της expression.
. (period) | The decimal placeholder determines the number of decimal places to the left and right of the decimal separator. Εάν ο κωδικός format περιέχει μόνο # σύμβολα κράτησης θέσης στα αριστερά αυτού του συμβόλου, οι αριθμοί που είναι μικρότεροι από 1 ξεκινούν με δεκαδικό διαχωριστικό. Για να εμφανίζεται πάντα ένα μηδενικό στην αρχή με κλασματικούς αριθμούς, χρησιμοποιήστε το 0 ως σύμβολο κράτησης θέσης για το πρώτο ψηφίο στα αριστερά του δεκαδικού διαχωριστικού. Η χρήση της τελείας ως διαχωριστικού χιλιάδων και υποδιαστολής εξαρτάται από τις τοπικές ρυθμίσεις του συστήματός σας. Όταν εισάγετε έναν αριθμό άμεσα στο πηγαίο κώδικα της Basic, χρησιμοποιείτε πάντα μια τελεία ως υποδιαστολή. Ο χαρακτήρας που εμφανίζεται στην πραγματικότητα ως υποδιαστολή εξαρτάται από την μορφή του αριθμού στις τοπικές σας ρυθμίσεις. Τα παραδείγματα που παρουσιάζονται εδώ υποθέτουν ότι οι τοπικές ρυθμίσεις είναι US (Η.Π.Α.).
% | Multiplies the expressionby 100 and inserts the percent sign (%) where the expression appears in the format code.
E- E+ e- e+ | If the format code contains at least one digit placeholder (0 or #) to the right of the symbol E-, E+, e-, or e+, the expression is formatted in the scientific or exponential format. The letter E or e is inserted between the number and the exponent. The number of placeholders for digits to the right of the symbol determines the number of digits in the exponent. Αν ο εκθέτης είναι αρνητικός, εμφανίζεται ένα αρνητικό πρόσημο μπροστά από έναν εκθέτη με E-, E+, e-, e+. Αν ο εκθέτης είναι θετικός, τότε εμφανίζεται θετικό πρόσημο μόνο μπροστά από εκθέτες με E+ ή e+.
- + $ ( ) space | : A plus (+), minus (-), dollar ($), space, or brackets entered directly in the format code is displayed as a literal character.
\ | Για την εμφάνιση χαρακτήρων που δεν αναφέρονται σε αυτή τη λίστα, θα πρέπει να προηγείται του χαρακτήρα μια ανάστροφη κάθετος (\), ή να περικλείεται σε αγγλικά εισαγωγικά (" "). The backslash displays the next character in the format code. Οι χαρακτήρες στον κώδικα format (μορφή) που έχουν ειδική σημασία μπορούν να εμφανίζονται ως κυριολεκτικοί χαρακτήρες μόνο εάν προηγείται ανάστροφη κάθετος. Η ίδια η ανάστροφη κάθετος δεν εμφανίζεται, εκτός εάν εισαγάγετε διπλή κάθετο (\\) στον κώδικα μορφής. Οι χαρακτήρες μπροστά από τους οποίους θα πρέπει να υπάρχει μια ανάστροφη κάθετος στον κώδικα μορφής ώστε να εμφανίζονται ως ρητοί χαρακτήρες είναι οι χαρακτήρες ημερομηνίας και χρόνου (a, c, d, h, m, n, p, q, s, t, w, y, /, :), οι χαρακτήρες αριθμητικής μορφοποίησης (#, 0, %, E, e, κόμμα, τελεία) και οι χαρακτήρες μορφοποίησης συμβολοσειράς (@, &, <, >, !).

### Predefined formats

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

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

Code | Description
--- | ---
"<" | Convert expression to lower case
">" | Convert expression to upper case.
"c" or "General Date" | Returns the numeric expression in short date format, optionally with "H:MM:SS AM/PM". If expression is a string, returns the string.
"n" | Returns the minute of the numeric expression, with 1 or 2 digits.
"nn" | Returns the minute of the numeric expression with two digits.
"w" | Returns the week day of the numeric expression. 1 is Sunday and 7 is Saturday.
"General Number" | Returns the numeric expression with 12 digits (0.############).
"Currency" | Returns the numeric expression in the currency of the locale.
"Fixed" | Returns the numeric expression with 2 decimal places (0.00).
"Standard" | Returns the numeric expression with thousands separators and 2 decimals (@0.00).
"Percent" | Returns the numeric expression as percent value (0.00%).
"Scientific" | Returns the numeric expression in scientific notation (#.00E+00);
"Yes/No" | Returns "Yes" if the numeric expression is not equal to zero, "No" otherwise. "Yes" and "No" are localized.
"True/False" | Returns "True" if the numeric expression is not equal to zero, "False" otherwise. "True" and "False" are localized.
"On/Off" | Returns "On" if the numeric expression is not equal to zero, "Off" otherwise. "On" and "Off" are localized.
"Long Date" or "dddddd" | Returns the numeric expression in system long date format, and depends on the locale.
"Medium Date" | Returns the numeric expression in date format DD-MMM-YY, and depends on the locale.
"Short Date" or "ddddd" | Returns the numeric expression in system short date format, and depends on the locale.
"Long Time" or "ttttt" | Returns the numeric expression in system long time format, and depends on the locale("H:MM:SS AM/PM").
"Medium Time" | Returns the numeric expression in system medium time format, and depends on the locale (HH:MM AM/PM)
"Short Time" | Returns the numeric expression in system short time format, and depends on the locale (HH:MM).

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

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

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

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

## GetDefaultContext

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

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

### Σύνταξη:

svc.GetDefaultContext(): uno

### Return type:

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

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

        ctx = bas.GetDefaultContext()

## GetGuiType

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

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

### Σύνταξη:

svc.GetGuiType(): int

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

        n = bas.GetGuiType()

Wiser script instructions are available from Identifying the operating system help page.

• ScriptForge.Platform service provides a collection of properties about the current execution environment and context, that include platform detection.
• Extensive operating system name identification is available from INFO("system") Calc formula.

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

### Return type:

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

### Return type:

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.

### Return type:

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: String expression displayed as a message in the dialog box. Line breaks can be inserted with Chr$(13).

title: String expression displayed in the title bar of the dialog. If omitted, the title bar displays the name of the respective application.

buttons: Any integer expression that specifies the dialog type, as well as the number and type of buttons to display, and the icon type. buttons represents a combination of bit patterns, that is, a combination of elements can be defined by adding their respective values:

### Return type:

Ένας προαιρετικός ακέραιος όπως περιγράφεται στις παραπάνω ιδιότητες 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]

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

### Return type:

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