Υπηρεσία ScriptForge.Basic

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

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


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

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


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

note

Πριν να χρησιμοποιήσετε την υπηρεσία 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 .


Κατάλογος μεθόδων στην Υπηρεσία Basic

CDate
CDateFromUnoDateTime
CDateToUnoDateTime
ConvertFromUrl
ConvertToUrl
CreateUnoService
DateAdd
DateDiff
DatePart

DateValue
Format
GetDefaultContext
GetGuiType
GetPathSeparator
GetSystemTicks
GlobalScope.BasicLibraries
GlobalScope.DialogLibraries
InputBox

MsgBox
Now
RGB
ThisComponent
ThisDatabaseDocument
Xray




CDate

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

note

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


Σύνταξη:

svc.CDate(expression: any): obj

Παράμετροι:

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

Όταν μετατρέπετε έκφραση συμβολοσειράς, η ημερομηνία και η ώρα πρέπει να εισέρχονται είτε σε ένα από τα μοτίβα αποδοχής ημερομηνίας που ορίστηκαν στις τοπικές σας ρυθμίσεις (δείτε - Ρυθμίσεις γλώσσας - Γλώσσες) ή σε μορφή ημερομηνίας ISO (προς το παρόν, μόνο η μορφή ISO με ενωτικά, π.χ. "31-12-2012" είναι αποδεκτή). Στις αριθμητικές εκφράσεις, οι τιμές στα αριστερά του δεκαδικού αναπαριστούν την ημερομηνία, με έναρξη 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.


    import uno
    uno_date = uno.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')
  

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

Παράμετροι:

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

note

Η συμβολοσειρά που μεταβιβάστηκε στο DateValue πρέπει να εκφράζεται σε μία από τις μορφές ημερομηνίας που ορίζονται από τις τοπικές ρυθμίσεις (δείτε - Ρυθμίσεις γλώσσας - Γλώσσες) ή με χρήση της μορφής ημερομηνίας 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 στο - Ρυθμίσεις γλώσσας - Γλώσσες. Σε κωδικούς μορφοποίησης 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, "Επιβεβαίωση φράσης")
  
note

Για αναλυτικές πληροφορίες, ανατρέξτε στο 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, "Επιβεβαίωση φράσης")
  
note

Για αναλυτικές πληροφορίες, ανατρέξτε στο 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.

warning

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


tip

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


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

Integer

Παράδειγμα:


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

ThisComponent

Εάν το τρέχον στοιχείο αναφέρεται σε ένα έγγραφο του LibreOffice, αυτή η μέθοδος επιστρέφει το αντικείμενο UNO που αντιπροσωπεύει το έγγραφο.

Η μέθοδος θα επιστρέψει None όταν το τρέχον στοιχείο δεν αντιστοιχεί σε έγγραφο.

Σύνταξη:

svc.ThisComponent(): uno

Παράδειγμα:


    comp = bas.ThisComponent
    bas.MsgBox("\n".join(comp.getSupportedServiceNames()))
  

ThisDatabaseDocument

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

Αυτή η μέθοδος επιστρέφει διαφορετικά None.

Σύνταξη:

svc.ThisDatabaseDocument(): uno

Παράδειγμα:


    db_doc = bas.ThisDatabaseDocument
    table_names = db_doc.DataSource.getTables().getElementNames()
    bas.MsgBox("\n".join(table_names))
  
tip

Επισκεφτείτε τη σελίδα API για να μάθετε περισσότερα σχετικά με τη δομή του κύριου στοιχείου της Base OfficeDatabaseDocument (στα αγγλικά).


Xray

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

Σύνταξη:

svc.Xray(obj: any)

Παράμετροι:

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

Παράδειγμα:


    bas.Xray(bas.StarDesktop)
  
warning

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


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