Περιεχόμενα

# Η βιβλιοθήκη ScriptForge

Για να έχετε πρόσβαση σε αυτήν τη λειτουργία...

Ανοίξτε Εργαλεία - Μακροεντολές - LibreOffice Basic - Επεξεργασία και επιλέξτε τον περιέκτη Μακροεντολές εφαρμογής.

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

• Οι μακροεντολές Basic απαιτούν τη φόρτωση της βιβλιοθήκης ScriptForge χρησιμοποιώντας την ακόλουθη πρόταση:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Τα σενάρια Python απαιτούν εισαγωγή από την ενότητα scriptforge:
από το scriptforge import CreateScriptService

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

## Kλση υπηρεσιών ScriptForge

Οι περιγραφόμενες μονάδες και κλάσεις καλούνται από τα σενάρια χρήστη ως "Υπηρεσίες". Ένας γενικός κατασκευαστής αυτών των υπηρεσιών έχει σχεδιαστεί για αυτόν τον σκοπό για κάθε γλώσσα.

Η μέθοδος Dispose (Απόρριψη)είναι διαθέσιμη σε όλες τις υπηρεσίες και θα πρέπει να καλείται να ελευθερώσει πόρους μετά τη χρήση:

##### Σε Basic

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
        ' ...
        oSvc.Dispose()

##### Σε Python

        from scriptforge import CreateScriptService
        svc = CreateScriptService('servicename'[, arg0, arg1, ...])
        # ...
        svc.Dispose()

## Υπηρεσίες που παρέχονται από τη βιβλιοθήκη ScriptForge

Κατηγορία | Υπηρεσίες
--- | ---
LibreOffice Basic | Array Dictionary | Exception FileSystem | String TextStream
Περιεχόμενο εγγράφου | Base Calc Chart | Database Dataset Datasheet | Document FormDocument Writer
Διεπαφή χρήστη | Dialog DialogControl Form | FormControl Menu PopupMenu | Toolbar ToolbarButton UI
Βοηθητικά προγράμματα | Basic L10N Platform | Region Services Session | Timer UnitTest

## ScriptForge.Υπηρεσία Πίνακας

Παρέχει μια συλλογή μεθόδων για το χειρισμό και τον μετασχηματισμό πινάκων μιας διάστασης (διανύσματα) και πινάκων δύο διαστάσεων (πίνακες). Αυτό περιλαμβάνει πράξεις συνόλων, ταξινόμηση, εισαγωγή από και εξαγωγή σε αρχεία κειμένου.

Πίνακες με περισσότερες από δύο διαστάσεις δεν μπορούν να χρησιμοποιηθούν με τις μεθόδους αυτής της υπηρεσίας, η μόνη εξαίρεση είναι η μέθοδος CountDims που δέχεται Πίνακες με οποιονδήποτε αριθμό διαστάσεων.

## Υπηρεσία SFDocuments.Base

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

Αυτή η υπηρεσία σχετίζεται στενά με την υπηρεσία Document, η οποία παρέχει γενικές μεθόδους για το χειρισμό εγγράφων του LibreOffice, συμπεριλαμβανομένων των εγγράφων Base. Ως εκ τούτου, η υπηρεσία Base επεκτείνει την υπηρεσία Document και παρέχει πρόσθετες μεθόδους που είναι ειδικές για έγγραφα Base, επιτρέποντας στους χρήστες να:

- Αποκτήστε πρόσβαση στη βάση δεδομένων που περιέχεται σε ένα έγγραφο Base.

- Άνοιγμα εγγράφων φόρμας που είναι αποθηκευμένα σε ένα έγγραφο Base.

- Ελέγξτε εάν ένα έγγραφο φόρμας από ένα έγγραφο Base έχει φορτωθεί αυτήν τη στιγμή.

## Υπηρεσία ScriptForge.Basic

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

## Υπηρεσία SFDocuments.Calc

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

Η υπηρεσία SFDocuments.Calc είναι μια υποκατηγορία της υπηρεσίας SFDocuments.Document . Όλες οι μέθοδοι και οι ιδιότητες που ορίζονται για την υπηρεσία Document μπορούν επίσης να προσπελαστούν χρησιμοποιώντας μια παρουσία υπηρεσίας Calc.

Η υπηρεσία Calc επικεντρώνεται σε:

- Χειρισμός φύλλων σε έγγραφο Calc (αντιγραφή, εισαγωγή, μετακίνηση κ.λπ.)

- Ανταλλαγή δεδομένων μεταξύ δομών δεδομένων Basic και περιοχών Calc

- Αντιγραφή και εισαγωγή μαζικών ποσοτήτων δεδομένων

## SFDocuments. Υπηρεσία Chart

Η υπηρεσία Chart παρέχει ένα σύνολο ιδιοτήτων και μεθόδων χειρισμού γραφημάτων σε έγγραφα Calc. Με αυτήν την υπηρεσία είναι δυνατό να:

- Να προσπελάσετε σε αντικείμενα γραφήματος σε έγγραφα Calc και να χειριστείτε τις ιδιοτήτες τους.

- Να δημιουργήσετε και να εισαγάγετε νέα γραφήματα σε ένα έγγραφο Calc.

- Να εξάγετε γραφημάτα ως αρχεία εικόνας.

## Υπηρεσία SFDatabases.Database

Η υπηρεσία Database (Βάση δεδομένων) παρέχει πρόσβαση σε βάσεις δεδομένων είτε ενσωματωμένες, είτε περιγράφονται στα έγγραφα Base. Αυτή η υπηρεσία παρέχει μεθόδους για:

- Λήψη πρόσβασης σε δεδομένα σε πίνακες βάσης δεδομένων.

- Εκτέλεση ερωτημάτων SELECT και εκτέλεση συγκεντρωτικών συναρτήσεων.

- Εκτέλεση δηλώσεων ενεργειών SQL όπως INSERT, UPDATE, DELETE κ.λπ.

## ΥπηρεσίαSFDatabases.Dataset

Η υπηρεσία Dataset χρησιμοποιείται για την αναπαράσταση δεδομένων σε πίνακα που παράγονται από μια βάση δεδομένων. Με αυτήν την υπηρεσία είναι δυνατά τα:

- Πλοήγηση και πρόσβαση στα δεδομένα σε ένα σύνολο δεδομένων.

- Ενημέρωση, εισαγωγή και κατάργηση εγγραφών σε ένα σύνολο δεδομένων.

## Υπηρεσία SFDatabases.Datasheet

Η υπηρεσία Datasheet επιτρέπει την οπτικοποίηση των περιεχομένων των πινάκων της βάσης δεδομένων, καθώς και των αποτελεσμάτων των ερωτημάτων και των προτάσεων SQL χρησιμοποιώντας την προβολή δεδομένων της Base. Επιπλέον, αυτή η υπηρεσία επιτρέπει:

- Προσθήκη προσαρμοσμένων μενού στην προβολή δεδομένων.

- Πρόσβαση τιμών σε συγκεκριμένες θέσεις της προβολής δεδομένων.

- Τοποθέτηση του δρομέα σε ένα συγκεκριμένο κελί της προβολής δεδομένων.

## SFDialogs. Υπηρεσία Διάλογος

Η υπηρεσία Dialog συμβάλλει στη διαχείριση των διαλόγων που δημιουργούνται με το Επεξεργαστής διαλόγου της Basic, ή των διαλόγων που δημιουργούνται άμεσα . Κάθε παρουσία της τρέχουσας κλάσης αντιπροσωπεύει ένα ενιαίο πλαίσιο διαλόγου που εμφανίζεται στον χρήστη.

## Υπηρεσία SFDialogs.DialogControl

Η υπηρεσία DialogControl διαχειρίζεται τα στοιχεία ελέγχου που ανήκουν σε ένα παράθυρο διαλόγου που ορίζεται με τη Basic Dialog Editor. Κάθε παρουσία της τρέχουσας υπηρεσίας αντιπροσωπεύει ένα μόνο στοιχείο ελέγχου μέσα σε ένα πλαίσιο διαλόγου.

Η εστίαση τίθεται στη λήψη και τη ρύθμιση των τιμών που εμφανίζονται από τα χειριστήρια του πλαισίου διαλόγου. Η μορφοποίηση είναι προσβάσιμη μέσω των ιδιοτήτων XControlModel και XControlView.

Σημειώστε ότι το μοναδικό περιεχόμενο της ιδιότητας DialogControl.Value ποικίλλει ανάλογα με τον τύπο ελέγχου.

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

## Υπηρεσία ScriptForge.Dictionary

Ένα λεξικό είναι μια συλλογή από ζεύγη κλειδιών-στοιχείων

- The key is a string. In Basic scripts, the case sensitivity of the key is determined at Dictionary creation. In Python scripts, the key is always case-sensitive.

- Τα στοιχεία μπορεί να είναι οποιουδήποτε τύπου

## Υπηρεσία SFDocuments.Document

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

Μέθοδοι που ισχύουν για όλους τους τύπους εγγράφων (Έγγραφα κειμένου, Φύλλα, Παρουσιάσεις, κ.λπ.) παρέχονται από την υπηρεσία SFDocuments.Document. Μερικά παραδείγματα είναι:

- Άνοιγμα, κλείσιμο και αποθήκευση εγγράφων

- Πρόσβαση σε τυπικές ή προσαρμοσμένες ιδιότητες εγγράφων

## Υπηρεσία ScriptForge.Exception

Η υπηρεσία Exception (εξαίρεση) είναι μια συλλογή μεθόδων που βοηθούν στην αποσφαλμάτωση κώδικα σε σενάρια Basic και Python και στον χειρισμό σφαλμάτων στα σενάρια Basic.

Στα Basic scripts (σενάρια Basic), όταν παρουσιάζεται ένα σφάλμα χρόνου εκτέλεσης, οι μέθοδοι και οι ιδιότητες της υπηρεσίαςException> βοηθούν στον εντοπισμό του περιβάλλοντος του σφάλματος και επιτρέπουν τον χειρισμό του.

## Υπηρεσία ScriptForge.FileSystem

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

- Επιβεβαίωση ύπαρξης αρχείου ή φακέλου.

- Δημιουργία και διαγραφή φακέλων και αρχείων.

- Εκκίνηση πλαισίων διαλόγου φια άνοιγμα/αποθήκευση αρχείων.

- Πρόσβαση στον κατάλογο αρχείων σε έναν φάκελο, κλπ.

## ΥπηρεσίαSFDocuments.Form

Η υπηρεσία Form παρέχει μεθόδους και ιδιότητες για τη διαχείριση φορμών σε έγγραφα του LibreOffice. Αυτή η υπηρεσία υποστηρίζει φόρμες σε έγγραφα Base, Calc και Writer και επιτρέπει:

- Άνοιγμα και ενεργοποίηση φορμών.

- Πλοήγηση στις εγγραφές που εμφανίζονται από τη φόρμα.

- Απόκτηση πρόσβασης στα στοιχεία ελέγχου μέσα στη φόρμα.

- Απόκτηση πρόσβασης σε υποφόρμες μιας γονικής φόρμας.

## Υπηρεσία SFDocuments.FormControl

Η υπηρεσία FormControl παρέχει πρόσβαση στα στοιχεία ελέγχου που ανήκουν σε μια φόρμα, μια υποφόρμα ή ένα στοιχείο ελέγχου πίνακα ενός FormDocument. Κάθε παρουσία της υπηρεσίας FormControl αναφέρεται σε ένα μόνο στοιχείο ελέγχου στη φόρμα. Αυτή η υπηρεσία επιτρέπει στους χρήστες να:

- Να λάβουν και να ορίζουν τις ιδιότητες του στοιχείου ελέγχου που αντιπροσωπεύεται από την παρουσία του FormControl.

- Πρόσβαση στην τρέχουσα τιμή που εμφανίζεται από το στοιχείο ελέγχου.

- Ρυθμίζει την εστίαση στο επιθυμητό στοιχείο ελέγχου.

## SFDocument. Υπηρεσία FormDocument

Η υπηρεσία FormDocument επιτρέπει την πρόσβαση σε έγγραφα φόρμας που είναι αποθηκευμένα στα έγγραφα του LibreOffice Base.

Σε ένα έγγραφο Base, τα υπάρχοντα έγγραφα φόρμας μπορούν να προβληθούν επιλέγοντας Προβολή - Φόρμες στη διεπαφή χρήστη. Κάθε έγγραφο φόρμας μπορεί να αποτελείται από μία ή περισσότερες φόρμες, συμπεριλαμβανομένης της κύριας φόρμας και άλλων υποφορμών.

## Υπηρεσία ScriptForge.L10N

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

- Δημιουργήστε αρχεία POT που μπορούν να χρησιμοποιηθούν ως πρότυπα για τη μετάφραση όλων των συμβολοσειρών του προγράμματος.

- Λάβετε μεταφρασμένες συμβολοσειρές κατά το χρόνο εκτέλεσης για τη γλώσσα που ορίζεται στην ιδιότητα Locale (τοπικές ρυθμίσεις).

## Υπηρεσία SFWidgets.Menu

Η υπηρεσία Μενού μπορεί να χρησιμοποιηθεί για τη δημιουργία και την αφαίρεση μενού από τη γραμμή μενού ενός παραθύρου εγγράφου του LibreOffice. Κάθε καταχώρηση μενού μπορεί να συσχετιστεί με ένα σενάριο ή με μια εντολή UNO. Αυτή η υπηρεσία παρέχει τις ακόλουθες δυνατότητες:

- Δημιουργία μενού με προσαρμοσμένες καταχωρήσεις, πλαίσια ελέγχου, κουμπιά επιλογής και διαχωριστικά.

- Διακόσμηση στοιχείων μενού με εικονίδια και συμβουλές οθόνης.

## ΥπηρεσίαScriptForge.Platform

Η υπηρεσία Platform παρέχει μια συλλογή ιδιοτήτων σχετικά με το τρέχον περιβάλλον εκτέλεσης και το περιεχόμενο, όπως:

- Το σύστημα υλικού (αρχιτεκτονική, αριθμός CPU, τύπος μηχανής, κ.λπ.)

- Πληροφορίες λειτουργικού συστήματος (τύπος λειτουργικού συστήματος, έκδοση, κ.λπ.)

- Η έκδοση του LibreOffice

- Το τρέχον όνομα χρήστη

## ΥπηρεσίαSFWidgets.PopupMenu

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

- Δημιουργία αναδυόμενων μενού με προσαρμοσμένες καταχωρήσεις, πλαίσια ελέγχου και κουμπιά επιλογής.

- Διακόσμηση στοιχείων μενού με εικονίδια και συμβουλές οθόνης.

## Υπηρεσία ScriptForge.Region

Η υπηρεσία Region (Περιοχή) παρέχει μια συλλογή ιδιοτήτων και μεθόδων για τον χειρισμό πτυχών προγραμματισμού που σχετίζονται με τις τοπικές ρυθμίσεις και την περιοχή, όπως:

- Πρόσβαση σε τοπικές ρυθμίσεις και ρυθμίσεις που εξαρτώνται από την περιοχή, όπως η μορφοποίηση αριθμών, το νόμισμα και οι ζώνες χρόνου.

- Μετατροπή ζωνών χρόνου και υπολογισμός αλλαγών θερινής ώρας (DST).

- Μετατροπή αριθμών σε κείμενο σε οποιαδήποτε υποστηριζόμενη γλώσσα.

## Υπηρεσία ScriptForge.Services

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

## Υπηρεσία ScriptForge.Session

Η υπηρεσία Session συγκεντρώνει διάφορες μεθόδους γενικής χρήσης σχετικές με:

- το περιβάλλον εγκατάστασης ή εκτέλεσης

- Ενδοσκόπηση UNO

- την επίκληση εξωτερικών σεναρίων ή προγραμμάτων

## Υπηρεσία ScriptForge.String

Η υπηρεσία String παρέχει μια συλλογή μεθόδων για την επεξεργασία συμβολοσειρών. Αυτές οι μέθοδοι μπορούν να χρησιμοποιηθούν για:

- Επικύρωση των περιεχόμενων των συμβολοσειρών

- Μορφοποίηση συμβολοσειρών με αποκοπή, πλήρη στοίχιση ή αναδίπλωση του περιεχόμενό τους

- Χρήση κανονικών εκφράσεων για αναζήτηση και αντικατάσταση δευτερευουσών συμβολοσειρών

- Εφαρμογή αλγορίθμων κατακερματισμού σε συμβολοσειρές κ.λπ.

## Υπηρεσία ScriptForge.TextStream

Η υπηρεσία TextStream χρησιμοποιείται για τη διαδοχική ανάγνωση και εγγραφή σε αρχεία που ανοίγονται ή δημιουργούνται χρησιμοποιώντας την υπηρεσία ScriptForge.FileSystem.

Οι μέθοδοι OpenTextFile και CreateTextFile από την υπηρεσία FileSystem επιστρέφουν μια παρουσία της υπηρεσίας TextStream.

## Υπηρεσία ScriptForge.Timer

Η υπηρεσία Timer μετρά τον χρόνο που απαιτείται για την εκτέλεση των σεναρίων χρήστη.

Ένα Timer (Χρονόμετρο) μετρά τις durations (διάρκειες). Μπορεί να είναι:

- Started (εκκίνηση), για να υποδείξετε πότε θα ξεκινήσει η μέτρηση του χρόνου.

- Suspended (Σε αναστολή), για παύση της μέτρησης του χρόνου λειτουργίας.

- Resumed (Συνέχεια), για να συνεχιστεί η παρακολούθηση του χρόνου εκτέλεσης μετά την αναστολή του χρονοδιακόπτη.

- Restarted (Επανεκκίνηση), η οποία θα ακυρώσει τις προηγούμενες μετρήσεις και θα ξεκινήσει το Timer στο μηδέν.

## Υπηρεσία SFWidgets.Toolbar

Η υπηρεσία Toolbar επιτρέπει την ανάκτηση πληροφοριών που σχετίζονται με τις γραμμές εργαλείων που είναι διαθέσιμες για ένα συγκεκριμένο παράθυρο εγγράφου. Με αυτήν την υπηρεσία είναι δυνατά τα παρακάτω:

- Εναλλαγή της ορατότητας συγκεκριμένων γραμμών εργαλείων.

- Πρόσβαση σε πληροφορίες σχετικά με τα πλήκτρα που είναι διαθέσιμα σε κάθε γραμμή εργαλείων.

## Υπηρεσία SFWidgets.ToolbarButton

Η υπηρεσία ToolbarButton επιτρέπει την ανάκτηση πληροφοριών που σχετίζονται με τα πλήκτρα της γραμμής εργαλείων που είναι διαθέσιμα σε μια δεδομένη γραμμή εργαλείων. Με αυτήν την υπηρεσία είναι δυνατή:

- Η εναλλαγή της ορατότητας των στοιχείων της γραμμής εργαλείων.

- Η εκτέλεση της εντολής που σχετίζεται με ένα συγκεκριμένο πλήκτρο της γραμμής εργαλείων.

## Υπηρεσία ScriptForge.UI

Η υπηρεσία UI (διεπαφή χρήστη) απλοποιεί την αναγνώριση και τον χειρισμό των διαφορετικών παραθύρων που συνθέτουν ολόκληρη την εφαρμογή του LibreOffice:

- Επιλογή παραθύρων

- Μετακίνηση και αυξομείωση των παραθύρων

- Ρυθμίσεις γραμμής κατάστασης

- Εμφάνιση αιωρούμενης γραμμής προόδου

- Δημιουργία νέων παραθύρων

- Πρόσβαση στα υποκείμενα "έγγραφα"

## Υπηρεσία SFUnitTests. UnitTest

Η υπηρεσία UnitTest παρέχει ένα πλαίσιο για την αυτοματοποίηση δοκιμών μονάδας χρησιμοποιώντας τη γλώσσα Basic, συμπεριλαμβανομένης της δυνατότητας να:

- Συγκεντρώσετε τις περιπτώσεις δοκιμών σε σειρές δοκιμών και δοκιμές μονάδων.

- Μοιραστείτε τον κωδικό εγκατάστασης και τερματισμού λειτουργίας μεταξύ των δοκιμαστικών περιπτώσεων.

- Αναφέρετε τα αποτελέσματα των δοκιμών χρησιμοποιώντας την Console.

## Υπηρεσία SFDocuments.Writer

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

Ορισμένες μέθοδοι είναι γενικές για όλους τους τύπους εγγράφων και κληρονομούνται από την ενότητα SF_Document, ενώ άλλες μέθοδοι που είναι ειδικές για έγγραφα Writer ορίζονται στην ενότητα SF_Writer.

Σημείωση: Άλλες μη περιγραφόμενες λειτουργικές μονάδες ScriptForge προορίζονται για εσωτερική χρήση. Το περιεχόμενό τους υπόκειται σε αλλαγές χωρίς προειδοποίηση.

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

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