Υπηρεσία ScriptForge.Services

Ο κύριος σκοπός της ενότητας Services (Υπηρεσίες) είναι να παρέχει πρόσβαση στη μέθοδο CreateScriptService, η οποία μπορεί να κληθεί σε σενάρια χρήστη για να δημιουργήσει υπηρεσίες που υλοποιούνται χρησιμοποιώντας το πλαίσιο ScriptForge.

Στην ορολογία ScriptForge μια υπηρεσία είναι μια συλλογή μεθόδων και ιδιοτήτων που μπορούν να χρησιμοποιηθούν για έναν κοινό σκοπό. Για παράδειγμα, η υπηρεσία String παρέχει μεθόδους χειρισμού συμβολοσειρών, ενώ η υπηρεσία FileSystem επιτρέπει τον χειρισμό αρχείων και φακέλων.

tip

Η ενότητα Services (Υπηρεσίες) της βιβλιοθήκης ScriptForge παρέχει πρόσθετες μεθόδους που χρησιμοποιούνται είτε εσωτερικά για την εγγραφή των διαθέσιμων υπηρεσιών, είτε από προγραμματιστές που ενδιαφέρονται να επεκτείνουν το ScriptForge δημιουργώντας νέες υπηρεσίες. Η μόνη μέθοδος που είναι σχετική με τα σενάρια χρήστη είναι η CreateScriptService.


CreateScriptService

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

Η επιστρεφόμενη τιμή είναι ένα αντικείμενο Basic ή Nothing (Τίποτα) εάν προέκυψε σφάλμα.

Σύνταξη:

svc.CreateScriptService(service: str, [arg0: any] ...): svc

Παράμετροι:

service (υπηρεσία): Το όνομα της υπηρεσίας που προσδιορίζεται ως συμβολοσειρά στη μορφή "library.service":

arg0, ...: Ένας κατάλογος ορισμάτων που απαιτούνται από την υπηρεσία που καλείται.

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

Παράδειγμα:

Σε Basic

    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 που πυροδότησε το συμβάν
  
Σε Python

    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")
  
tip

Για να κάνει τη σύνταξη σεναρίων Python πιο προσαρμόσιμη, το ScriptForge παρέχει την υπηρεσία Basic που επιτρέπει στα σενάρια Python να καλούν μια συλλογή μεθόδων με την ίδια σύνταξη και νόημα με τις ομώνυμες εγγενείς συναρτήσεις τους της Basic.


Το παρακάτω παράδειγμα δημιουργεί την υπηρεσία Basic και καλεί τη μέθοδο MsgBox, η οποία είναι ισοδύναμη με τη συνάρτηση MsgBox που είναι διαθέσιμη στη Basic:


    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
    bas.MsgBox("Hello World!")
  
note

Προσέξτε ότι η υπηρεσία Basic πρέπει να δημιουργηθεί σε σενάρια Python χρησιμοποιώντας τη μέθοδο CreateScriptService.


warning

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


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