LibreOffice 24.8 Βοήθεια
Ο κύριος σκοπός της ενότητας Services (Υπηρεσίες) είναι να παρέχει πρόσβαση στη μέθοδο CreateScriptService, η οποία μπορεί να κληθεί σε σενάρια χρήστη για να δημιουργήσει υπηρεσίες που υλοποιούνται χρησιμοποιώντας το πλαίσιο ScriptForge.
Στην ορολογία ScriptForge μια υπηρεσία είναι μια συλλογή μεθόδων και ιδιοτήτων που μπορούν να χρησιμοποιηθούν για έναν κοινό σκοπό. Για παράδειγμα, η υπηρεσία String παρέχει μεθόδους χειρισμού συμβολοσειρών, ενώ η υπηρεσία FileSystem επιτρέπει τον χειρισμό αρχείων και φακέλων.
Η ενότητα Services (Υπηρεσίες) της βιβλιοθήκης ScriptForge παρέχει πρόσθετες μεθόδους που χρησιμοποιούνται είτε εσωτερικά για την εγγραφή των διαθέσιμων υπηρεσιών, είτε από προγραμματιστές που ενδιαφέρονται να επεκτείνουν το ScriptForge δημιουργώντας νέες υπηρεσίες. Η μόνη μέθοδος που είναι σχετική με τα σενάρια χρήστη είναι η CreateScriptService.
Αυτή η μέθοδος χρησιμοποιείται για την προετοιμασία μιας υπηρεσίας ScriptForge, ώστε να μπορεί να κληθεί σε σενάρια χρήστη.
Η επιστρεφόμενη τιμή είναι ένα αντικείμενο Basic ή Nothing (Τίποτα) εάν προέκυψε σφάλμα.
svc.CreateScriptService(service: str, [arg0: any] ...): svc
service (υπηρεσία): Το όνομα της υπηρεσίας που προσδιορίζεται ως συμβολοσειρά στη μορφή "library.service":
Η library (βιβλιοθήκη) είναι μια βιβλιοθήκη Basic που πρέπει να υπάρχει στο GlobalScope. Η προεπιλεγμένη τιμή είναι "ScriptForge".
Η service (υπηρεσία) είναι μία από τις υπηρεσίες που έχουν καταχωρηθεί από τη βιβλιοθήκη ScriptForge.
arg0, ...: Ένας κατάλογος ορισμάτων που απαιτούνται από την υπηρεσία που καλείται.
Εάν το πρώτο όρισμα αναφέρεται σε έναν διαχειριστή συμβάντων, τότε το arg0 είναι υποχρεωτικό και πρέπει να είναι το αντικείμενο UNO που αντιπροσωπεύει το συμβάν που παρέχεται ως όρισμα στη μακροεντολή χρήστη.
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
' Να εκτελεστεί μια φορά
Dim svc As Object
Set svc = CreateScriptService("Array")
' Αναφέρεται στην υπηρεσία "ScriptForge.Array" ή SF_Array
Set svc = CreateScriptService("ScriptForge.Dictionary")
' Επιστρέφει μια νέα κενή παρουσία κλάσης λεξικού. Το "ScriptForge." είναι προαιρετικό
Set svc = CreateScriptService("SFDocuments.Calc")
' Αναφέρεται στην υπηρεσία Calc, που υλοποιείται στη σχετική βιβλιοθήκη SFDocuments
Set svc = CreateScriptService("Timer", True)
' Επιστρέφει μια παρουσία κλάσης Timer που ξεκινά αμέσως
Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
' Αναφέρεται στην υπηρεσία DocumentEvent που υλοποιείται στη σχετική βιβλιοθήκη SFDocuments
' Επιστρέφει την παρουσία της κλάσης Document που πυροδότησε το συμβάν
from scriptforge import CreateScriptService
svc = CreateScriptService("Array")
svc = CreateScriptService("ScriptForge.Dictionary")
svc = CreateScriptService("SFDocuments.Calc")
svc = CreateScriptService("Timer", True)
svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
Τα σενάρια Python υποστηρίζουν ορίσματα λέξεων-κλειδιών κατά την κλήση του CreateScriptService. Το παρακάτω παράδειγμα επεξηγεί αυτήν την έννοια, δημιουργώντας τις υπηρεσίες Timer και Document χρησιμοποιώντας ορίσματα λέξεων-κλειδιών.
from scriptforge import CreateScriptService
# Timer
my_timer = CreateScriptService("Timer", start = True)
# Document
my_doc = CreateScriptService("Document", windowname = "some_file.ods")
Για να κάνει τη σύνταξη σεναρίων Python πιο προσαρμόσιμη, το ScriptForge παρέχει την υπηρεσία Basic που επιτρέπει στα σενάρια Python να καλούν μια συλλογή μεθόδων με την ίδια σύνταξη και νόημα με τις ομώνυμες εγγενείς συναρτήσεις τους της Basic.
Το παρακάτω παράδειγμα δημιουργεί την υπηρεσία Basic και καλεί τη μέθοδο MsgBox, η οποία είναι ισοδύναμη με τη συνάρτηση MsgBox που είναι διαθέσιμη στη Basic:
from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello World!")
Λάβετε υπόψη ότι η υπηρεσία Basic πρέπει να δημιουργηθεί σε σενάρια Python χρησιμοποιώντας τη μέθοδο CreateScriptService.