Περιεχόμενα

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

Υπάρχουν εναλλακτικές λύσεις σε Python για μεθόδους που σημειώνονται με (*).

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

Η μέθοδος uno module επιστρέφει μια διαδρομή συστήματος χρησιμοποιώντας μια ταυτόσημη σύνταξη.

        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 (διαδρομή συστήματος): Ένα όνομα αρχείου συστήματος ως συμβολοσειρά.

### Τύπος επιστροφής:

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

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

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

Η μέθοδος uno module επιστρέφει μια διεύθυνση URL αρχείου για τη δεδομένη διαδρομή συστήματος.

        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() δημιουργεί μια παρουσία ενός τύπου δομής Uno.

        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.

### Τύπος επιστροφής:

Μια τιμή 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().

### Τύπος επιστροφής:

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

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

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

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

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

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

Κώδικας | Περιγραφή
--- | ---
0 | Εάν η expression έχει ένα ψηφίο στη θέση του 0 στον κώδικα format, εμφανίζεται το ψηφίο, διαφορετικά εμφανίζεται ένα μηδέν. Εάν η expression έχει λιγότερα ψηφία από τον αριθμό των μηδενικών στον κωδικό format, (και στις δύο πλευρές του δεκαδικού), εμφανίζονται μηδενικά στην αρχή ή στο τέλος. Εάν η expression έχει περισσότερα ψηφία στα αριστερά του δεκαδικού διαχωριστικού από το ποσό των μηδενικών στον κωδικό format, τα πρόσθετα ψηφία εμφανίζονται χωρίς μορφοποίηση. Οι δεκαδικοί θέσεις στην expression στρογγυλοποιούνται σύμφωνα με τον αριθμό των μηδενικών που εμφανίζονται μετά το δεκαδικό διαχωριστικό στον κώδικα format.
# | Εάν η expression περιέχει ένα ψηφίο στη θέση του συμβόλου κράτησης θέσης # στον κώδικα forma, εμφανίζεται το ψηφίο, διαφορετικά δεν εμφανίζεται τίποτα σε αυτήν τη θέση. Αυτό το σύμβολο λειτουργεί όπως το 0, εκτός από το ότι τα μηδενικά στην αρχή ή στο τέλος δεν εμφανίζονται εάν υπάρχουν περισσότεροι # χαρακτήρες στον κωδικό format από ψηφία στην expression. Εμφανίζονται μόνο τα σχετικά ψηφία της expression.
. (period) | Το δεκαδικό σύμβολο θέσης καθορίζει τον αριθμό των δεκαδικών ψηφίων αριστερά και δεξιά του διαχωριστικού δεκαδικών. Εάν ο κωδικός format περιέχει μόνο # σύμβολα κράτησης θέσης στα αριστερά αυτού του συμβόλου, οι αριθμοί που είναι μικρότεροι από 1 ξεκινούν με δεκαδικό διαχωριστικό. Για να εμφανίζεται πάντα ένα μηδενικό στην αρχή με κλασματικούς αριθμούς, χρησιμοποιήστε το 0 ως σύμβολο κράτησης θέσης για το πρώτο ψηφίο στα αριστερά του δεκαδικού διαχωριστικού. Η χρήση της τελείας ως διαχωριστικού χιλιάδων και υποδιαστολής εξαρτάται από τις τοπικές ρυθμίσεις του συστήματός σας. Όταν εισάγετε έναν αριθμό άμεσα στο πηγαίο κώδικα της Basic, χρησιμοποιείτε πάντα μια τελεία ως υποδιαστολή. Ο χαρακτήρας που εμφανίζεται στην πραγματικότητα ως υποδιαστολή εξαρτάται από την μορφή του αριθμού στις τοπικές σας ρυθμίσεις. Τα παραδείγματα που παρουσιάζονται εδώ υποθέτουν ότι οι τοπικές ρυθμίσεις είναι US (Η.Π.Α.).
% | Πολλαπλασιάζει την expression (έκφραση) επί 100 και εισάγει το σύμβολο του ποσοστού (%) όπου εμφανίζεται η expression (έκφραση) στον κώδικα format.
E- E+ e- e+ | Εάν ο κώδικας format περιέχει τουλάχιστον ένα ψηφίο κράτησης θέσης (0 ή #) στα δεξιά του συμβόλου E-, E+, e- ή e+, η expression μορφοποιείται σε επιστημονική ή εκθετική μορφή. Το γράμμα E ή e εισάγεται μεταξύ του αριθμού και του εκθέτη. Ο αριθμός των θέσεων δέσμευσης για τα ψηφία στα δεξιά του συμβόλου καθορίζει τον αριθμό των ψηφίων στον εκθέτη. Αν ο εκθέτης είναι αρνητικός, εμφανίζεται ένα αρνητικό πρόσημο μπροστά από έναν εκθέτη με 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.
\ | Για την εμφάνιση χαρακτήρων που δεν αναφέρονται σε αυτή τη λίστα, θα πρέπει να προηγείται του χαρακτήρα μια ανάστροφη κάθετος (\), ή να περικλείεται σε αγγλικά εισαγωγικά (" "). Η ανάστροφη κάθετος εμφανίζει τον επόμενο χαρακτήρα στον κώδικα format. Οι χαρακτήρες στον κώδικα format (μορφή) που έχουν ειδική σημασία μπορούν να εμφανίζονται ως κυριολεκτικοί χαρακτήρες μόνο εάν προηγείται ανάστροφη κάθετος. Η ίδια η ανάστροφη κάθετος δεν εμφανίζεται, εκτός εάν εισαγάγετε διπλή κάθετο (\\) στον κώδικα μορφής. Οι χαρακτήρες μπροστά από τους οποίους θα πρέπει να υπάρχει μια ανάστροφη κάθετος στον κώδικα μορφής ώστε να εμφανίζονται ως ρητοί χαρακτήρες είναι οι χαρακτήρες ημερομηνίας και χρόνου (a, c, d, h, m, n, p, q, s, t, w, y, /, :), οι χαρακτήρες αριθμητικής μορφοποίησης (#, 0, %, E, e, κόμμα, τελεία) και οι χαρακτήρες μορφοποίησης συμβολοσειράς (@, &, <, >, !).

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

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

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

Κώδικας | Περιγραφή
--- | ---
"<" | Convert expression to lower case.
">" | Μετατροπή της expression (έκφρασης) σε κεφαλαία γράμματα.
"c" or "General Date" | Επιστρέφει την αριθμητική expression (έκφραση) σε σύντομη μορφή ημερομηνίας, προαιρετικά με "Ω:ΜΜ:ΔΣ ΠΜ/ΜΜ". Εάν η expression (έκφραση) είναι συμβολοσειρά, επιστρέφει τη συμβολοσειρά.
"n" | Επιστρέφει το λεπτό της αριθμητικής παράστασης, με 1 ή 2 ψηφία.
"nn" | Επιστρέφει το λεπτό της αριθμητικής παράστασης με δύο ψηφία.
"w" | Επιστρέφει την ημέρα της εβδομάδας της αριθμητικής παράστασης. Το 1 είναι η Κυριακή και το 7 είναι το Σάββατο.
"General Number" | Επιστρέφει την αριθμητική παράσταση με 12 ψηφία (0.#############).
"Currency" | Επιστρέφει την αριθμητική έκφραση στο νόμισμα της τοπικής ρύθμισης.
"Fixed" | Επιστρέφει την αριθμητική παράσταση με 2 δεκαδικά ψηφία (0,00).
"Standard" | Επιστρέφει την αριθμητική παράσταση με διαχωριστικά χιλιάδων και 2 δεκαδικά ψηφία (@0,00).
"Percent" | Επιστρέφει την αριθμητική έκφραση ως ποσοστιαία τιμή (0,00%).
"Scientific" | Returns the numeric expression in scientific notation (#.00E+00).
"Yes/No" | Επιστρέφει "Ναι" εάν η αριθμητική έκφραση δεν είναι ίση με μηδέν, διαφορετικά επιστρέφει "Όχι". Τα "Ναι" και "Όχι" είναι σε τοπικές ρυθμίσεις.
"True/False" | Επιστρέφει την τιμή "True" εάν η αριθμητική έκφραση δεν είναι ίση με μηδέν, διαφορετικά επιστρέφει την τιμή "False". Οι τιμές "True" και "False" είναι σε τοπικές ρυθμίσεις.
"On/Off" | Επιστρέφει "Ενεργοποιημένο" εάν η αριθμητική έκφραση δεν είναι ίση με μηδέν, διαφορετικά επιστρέφει "Απενεργοποιημένο". Τα "Ενεργοποιημένο" και "Απενεργοποιημένο" είναι σε τοπικές ρυθμίσεις.
"Long Date" or "dddddd" | Επιστρέφει την αριθμητική έκφραση σε μορφή μεγάλης ημερομηνίας συστήματος και εξαρτάται από τις τοπικές ρυθμίσεις.
"Medium Date" | Επιστρέφει την αριθμητική έκφραση σε μορφή ημερομηνίας ΗΗ-ΜΜΜ-ΕΕ και εξαρτάται από τις τοπικές ρυθμίσεις.
"Short Date" or "ddddd" | Επιστρέφει την αριθμητική έκφραση σε μορφή σύντομης ημερομηνίας συστήματος και εξαρτάται από τις τοπικές ρυθμίσεις.
"Long Time" or "ttttt" | Επιστρέφει την αριθμητική έκφραση σε μορφή μεγάλου χρόνου συστήματος και εξαρτάται από τις τοπικές ρυθμίσεις ("Ω:ΛΛ:ΔΔ ΠΜ/ΜΜ").
"Medium Time" | Returns the numeric expression in system medium time format, and depends on the locale (HH:MM AM/PM).
"Short Time" | Επιστρέφει την αριθμητική έκφραση σε μορφή σύντομης ώρας συστήματος και εξαρτάται από τις τοπικές ρυθμίσεις (ΩΩ:ΛΛ).

Μπορείτε να ορίσετε την τοπική ρύθμιση που χρησιμοποιείται για τον έλεγχο της μορφοποίησης αριθμών, ημερομηνιών και νομισμάτων στο 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()

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

Η υπηρεσία ScriptForge.Platform παρέχει μια συλλογή ιδιοτήτων σχετικά με το τρέχον περιβάλλον εκτέλεσης και το περιεχόμενο, που περιλαμβάνει την ανίχνευση πλατφόρμας.
• Εκτεταμένη αναγνώριση ονόματος λειτουργικού συστήματος είναι διαθέσιμη από τον τύπο Calc INFO("system") .

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

## Wait

Convenient function to replicate the Basic Wait() function in Python scripts

This method is normally not necessary. But constructions like:

            import time
            while True:
                time.sleep(1)

have the drawback to often freeze the LibreOffice user interface. While the following code might be a good alternative:

            basic = CreateScriptService('Basic')
            while True:
                basic.Wait(1000)

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

millisec: the amount of time (in milliseconds) to wait before the program is continued.

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

Παρακαλούμε, υποστηρίξτε μας!