Περιεχόμενα

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

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

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

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

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

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

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

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

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

## Ορισμοί

### WindowName

Ένα παράθυρο μπορεί να οριστεί με διάφορους τρόπους:

- μια πλήρη διαδρομή και όνομα αρχείου

- το τελευταίο στοιχείο του πλήρους ονόματος αρχείου ή ακόμα και μόνο το τελευταίο στοιχείο χωρίς το επίθημά του

- τον τίτλο του παραθύρου

- για νέα έγγραφα, κάτι σαν "Άτιτλο 1"

- ένα από τα ειδικά παράθυρα "BASICIDE" και "WELCOMESCREEN"

Το όνομα του παραθύρου κάνει διάκριση πεζών-κεφαλαίων.

### Αντικείμενο εγγράφου

Οι μέθοδοι CreateDocument, CreateBaseDocument, GetDocument, OpenBaseDocument και OpenDocument, που περιγράφονται παρακάτω, δημιουργούν αντικείμενα εγγράφων. Όταν ένα παράθυρο περιέχει ένα έγγραφο, μια παρουσία της κλάσης Document αντιπροσωπεύει αυτό το έγγραφο. Ένα αντιπαράδειγμα της IDE Basic δεν είναι ένα έγγραφο αλλά είναι ένα παράθυρο στην ορολογία μας. Επιπλέον, ένα έγγραφο έχει έναν τύπο: Calc, Impress, Writer, ...

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

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

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

Πριν χρησιμοποιήσετε την υπηρεσία UI, πρέπει να φορτωθεί ή να εισαχθεί η βιβλιοθήκη ScriptForge:

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

##### Σε Basic

        Dim ui As Variant
        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Set ui = CreateScriptService("UI")

##### Σε Python

        from scriptforge import CreateScriptService
        ui = CreateScriptService("UI")

## Ιδιότητες

Όνομα | Μόνο για ανάγνωση | Τύπος | Περιγραφή
--- | --- | --- | ---
ActiveWindow | Ναι | String | ένα έγκυρο και μοναδικό WindowName για το τρέχον ενεργό παράθυρο. Όταν το παράθυρο δεν μπορεί να αναγνωριστεί, επιστρέφεται μια συμβολοσειρά μηδενικού μήκους.
Height | Ναι | Integer | Επιστρέφει το ύψος του ενεργού παραθύρου σε εικονοστοιχεία.
Width | Ναι | Integer | Επιστρέφει το πλάτος του ενεργού παραθύρου σε εικονοστοιχεία.
X | Ναι | Integer | Επιστρέφει τη συντεταγμένη X του ενεργού παραθύρου, που είναι η απόσταση από το αριστερό άκρο της οθόνης σε εικονοστοιχεία.
Y | Ναι | Integer | Επιστρέφει τη συντεταγμένη Y του ενεργού παραθύρου, που είναι η απόσταση από το επάνω άκρο της οθόνης σε εικονοστοιχεία. Αυτή η τιμή δεν λαμβάνει υπόψη τις διακοσμήσεις παραθύρων που έχουν προστεθεί από το λειτουργικό σας σύστημα, επομένως ακόμη και όταν το παράθυρο μεγιστοποιείται αυτή η τιμή μπορεί να μην είναι μηδενική.

## Σταθερές

Όνομα | Τιμή | Περιγραφή
--- | --- | ---
MACROEXECALWAYS | 2 | Οι μακροεντολές εκτελούνται πάντα
MACROEXECNEVER | 1 | Οι μακροεντολές δεν εκτελούνται ποτέ
MACROEXECNORMAL | 0 | Η εκτέλεση των μακροεντολών εξαρτάται από τις ρυθμίσεις του χρήστη

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

Τα παρακάτω παραδείγματα δείχνουν ένα MsgBox με τα ονόματα όλων των ανοιχτών εγγράφων.

##### Σε Basic

         Dim openDocs As Object, strDocs As String
         Set openDocs = ui.Documents()
         strDocs = openDocs(0)
         For i = 1 To UBound(openDocs)
             strDocs = strDocs & Chr(10) & openDocs(i)
         Next i
         MsgBox strDocs

##### Σε Python

         ui = CreateScriptService("UI")
         bas = CreateScriptService("Basic")
         openDocs = ui.Documents()
         strDocs = "\n".join(openDocs)
         bas.MsgBox(strDocs)

Κατάλογος μεθόδων στην υπηρεσία UI
Activate CreateBaseDocument CreateDocument (*) Documents GetDocument | Maximize Minimize OpenBaseDocument OpenDocument (*) Resize | RunCommand SetStatusBar (*) ShowProgressBar WindowExists

Σημειώστε, κατ' εξαίρεση, ότι οι μέθοδοι με την ένδειξη (*) δεν ισχύουν για έγγραφα Base.

## Activate

Ενεργοποιεί το καθορισμένο παράθυρο. Η μέθοδος επιστρέφει True εάν το δεδομένο παράθυρο βρεθεί και μπορεί να ενεργοποιηθεί. Δεν υπάρχει αλλαγή στην πραγματική διεπαφή χρήστη εάν κανένα παράθυρο δεν ταιριάζει με την επιλογή.

### Σύνταξη:

svc.Activate(windowname: str): bool

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

windowname (όνομα παραθύρου): δείτε τους ορισμούς παραπάνω.

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

##### Σε Basic

          ui.Activate("C:\Documents\My file.odt")

##### Σε Python

          ui.Activate(r"C:\Documents\My file.odt")

## CreateBaseDocument

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

### Σύνταξη:

svc.CreateBaseDocument(filename: str, embeddeddatabase: str = 'HSQLDB', registrationname: str = '', opt calcfilename: str): svc

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

filename : Προσδιορίζει το αρχείο προς δημιουργία. Πρέπει να ακολουθεί τη σημειογραφία SF_FileSystem.FileNaming. Εάν το αρχείο υπάρχει ήδη, αντικαθίσταται χωρίς προειδοποίηση.

embeddeddatabase (ενσωματωμένη βάση δεδομένων): Είτε "HSQLDB" (προεπιλογή), "FIREBIRD" ή "CALC".

registrationname (όνομα καταχώρησης): Το όνομα που χρησιμοποιείται για την αποθήκευση της νέας βάσης δεδομένων στο μητρώο βάσεων δεδομένων. Όταν = "" (προεπιλογή), δεν πραγματοποιείται εγγραφή. Εάν το όνομα υπάρχει ήδη, αντικαθίσταται χωρίς προειδοποίηση.

filename (όνομα αρχείου calc): Μόνο όταν η embeddeddatabase = "CALC", το calcfilename αντιπροσωπεύει το αρχείο που περιέχει τους πίνακες ως φύλλα Calc. Το αρχείο πρέπει να υπάρχει διαφορετικά εμφανίζεται σφάλμα.

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

##### Σε Basic

          Dim myBase As Object, myCalcBase As Object
          Set myBase = ui.CreateBaseDocument("C:\Databases\MyBaseFile.odb", "FIREBIRD")
          Set myCalcBase = ui.CreateBaseDocument("C:\Databases\MyCalcBaseFile.odb", _
              "CALC", , "C:\Databases\MyCalcFile.ods")

##### Σε Python

         myBase = ui.CreateBaseDocument(r"C:\Databases\MyBaseFile.odb", "FIREBIRD")
         myCalcBase = ui.CreateBaseDocument(r"C:\Databases\MyCalcBaseFile.odb", \
             "CALC", calcfilename = r"C:\Databases\MyCalcFile.ods")

## CreateDocument (*)

Δημιουργήστε ένα νέο έγγραφο του LibreOffice δεδομένου τύπου ή με βάση ένα δεδομένο πρότυπο. Η μέθοδος επιστρέφει μια παρουσία της κλάσης εγγράφου ή μιας από τις υποκλάσεις των (Calc, Writer).

### Σύνταξη:

svc.CreateDocument(documenttype: str = '', templatefile: str = '', hidden: bool = False): svc

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

documenttype (τύπος εγγράφου): "Calc", "Writer" κ.λπ. Εάν δεν υπάρχει, πρέπει να υπάρχει το όρισμα templatefile.

templatefile (αρχείο προτύπου): Το πλήρες FileName (Όνομα αρχείου) του προτύπου για τη δημιουργία του νέου εγγράφου. Εάν το αρχείο δεν υπάρχει, το όρισμα αγνοείται. Η υπηρεσία FileSystem παρέχει τις ιδιότητες TemplatesFolder και UserTemplatesFolder για να βοηθήσει στη δημιουργία του ορίσματος.

hidden (κρυφό): εάν είναι True, ανοίξτε το νέο έγγραφο στο παρασκήνιο (προεπιλογή = False). Να χρησιμοποιείται με προσοχή: η ενεργοποίηση ή το κλείσιμο κατόπιν, μπορεί να γίνει μόνο μέσω προγραμματισμού.

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

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

##### Σε Basic

          Dim myDoc1 As Object, myDoc2 As Object, FSO As Object
          Set myDoc1 = ui.CreateDocument("Calc")
          Set FSO = CreateScriptService("FileSystem")
          Set myDoc2 = ui.CreateDocument(, FSO.BuildPath(FSO.TemplatesFolder, "personal/CV.ott"))

##### Σε Python

         myDoc1 = ui.CreateDocument("Calc")
         fs = CreateScriptService("FileSystem")
         myDoc2 = ui.CreateDocument(templatefile = fs.BuildPath(fs.TemplatesFolder, "personal/CV.ott"))

## Documents

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

### Σύνταξη:

svc.Documents(): str[1..*]

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

Και στα δύο παρακάτω παραδείγματα, η μέθοδος μπορεί να επιστρέψει έναν κενό πίνακα εάν δεν υπάρχουν ανοιχτά έγγραφα.

##### Σε Basic

          Dim docList As Variant
          docList = ui.Documents

##### Σε Python

         docList = ui.Documents()

## GetDocument

Επιστρέφει μια παρουσία της κλάσης Document, ή μία από τις υποκλάσεις των (Calc, Writer, Base, FormDocument) που αναφέρεται είτε σε ένα δεδομένο παράθυρο, είτε στο ενεργό έγγραφο.

### Σύνταξη:

svc.GetDocument(windowname: str = ''): svc

svc.GetDocument(windowname: uno): svc

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

windowname (όνομα παραθύρου): Δείτε τους παραπάνω ορισμούς. Εάν αυτό το όρισμα απουσιάζει, χρησιμοποιείται το ενεργό παράθυρο. Γίνονται επίσης αποδεκτά αντικείμενα UNO των τύπων com.sun.star.lang.XComponent ή com.sun.star.comp.dba.ODatabaseDocument. Έτσι, μεταβιβάζοντας το ThisComponent ή το ThisDatabaseDocument ως όρισμα δημιουργείται μια νέα υπηρεσία SFDocuments.Document, Base ή Calc.

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

##### Σε Basic

          Dim myDoc As Object
          Set myDoc = ui.GetDocument("C:\Documents\My file.odt")
          Set myBase = ui.GetDocument(ThisDatabaseDocument)

##### Σε Python

         from scriptforge import CreateScriptService
         bas = CreateScriptService("Basic")
         myDoc = ui.GetDocument(r"C:\Documents\My file.odt")
         myDoc = ui.GetDocument(bas.ThisComponent)

Για πρόσβαση στο όνομα του ενεργού παραθύρου, ανατρέξτε στην ιδιότητα ActiveWindow.

## Maximize

Μεγιστοποιεί το ενεργό παράθυρο ή το δεδομένο παράθυρο.

### Σύνταξη:

svc.Maximize(windowname: str)

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

windowname (όνομα παραθύρου): δείτε τους ορισμούς παραπάνω. Εάν αυτό το όρισμα απουσιάζει, το ενεργό παράθυρο μεγιστοποιείται.

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

##### Σε Basic

          ui.Maximize("Untitled 1")

##### Σε Python

         ui.Maximize("Untitled 1")

## Minimize

Ελαχιστοποιεί το ενεργό παράθυρο, ή το δεδομένο παράθυρο.

### Σύνταξη:

svc.Minimize(windowname: str)

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

windowname (όνομα παραθύρου): δείτε τους ορισμούς πιο πάνω. Εάν αυτό το όρισμα απουσιάζει, το ενεργό παράθυρο ελαχιστοποιείται.

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

##### Σε Basic

         ui.Minimize()

##### Σε Python

         ui.Minimize()

## OpenBaseDocument

Ανοίξτε ένα υπάρχον έγγραφο του LibreOffice Base. Η μέθοδος επιστρέφει ένα αντικείμενο Base.

### Σύνταξη:

svc.OpenBaseDocument(filename: str = '', registrationname: str = '', macroexecution: int = 0): svc

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

filename (όνομα αρχείου): Προσδιορίζει το αρχείο που θα ανοίξει. Πρέπει να ακολουθεί τη σημειογραφία SF_FileSystem.FileNaming.

registrationname (όνομα καταχώρησης): Το όνομα που θα χρησιμοποιηθεί για την εύρεση της βάσης δεδομένων στο μητρώο βάσεων δεδομένων. Αγνοείται εάν FileName <> "".

macroexecution: 0 = η συμπεριφορά ορίζεται από τη διαμόρφωση του χρήστη, 1 = οι μακροεντολές δεν είναι εκτελέσιμες, 2 = οι μακροεντολές είναι εκτελέσιμες. Η προεπιλογή είναι 0.

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

##### Σε Basic

          Dim myBase As Object
          Set myBase = ui.OpenBaseDocument("C:\Documents\myDB.odb", MacroExecution := ui.MACROEXECALWAYS)

##### Σε Python

         myBase = ui.OpenBaseDocument(r"C:\Documents\myDB.odb", macroexecution = ui.MACROEXECALWAYS)

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

## OpenDocument (*)

Ανοίγει ένα υπάρχον έγγραφο του LibreOffice με τις δεδομένες επιλογές. Επιστρέφει ένα αντικείμενο εγγράφου, ή μία από τις υποκλάσεις του. Η μέθοδος επιστρέφει Nothing (στη BASIC), ή None (στην Python) εάν το άνοιγμα απέτυχε, ακόμη και όταν η αποτυχία προκαλείται από απόφαση του χρήστη.

### Σύνταξη:

svc.Opendocument(filename: str, password: str = '', readonly: bool = False, hidden: bool = False, macroexecution: int = 0, filtername: str = '', filteroptions: str = ''): svc

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

filename (όνομα αρχείου): Προσδιορίζει το αρχείο που θα ανοίξει. Πρέπει να ακολουθεί τη σημειογραφία FileNaming της υπηρεσίας FileSystem.

password (κωδικός πρόσβασης): Για χρήση όταν το έγγραφο είναι προστατευμένο. Εάν είναι λάθος ή απουσιάζει ενώ το έγγραφο είναι προστατευμένο, θα ζητηθεί από τον χρήστη να εισαγάγει έναν κωδικό πρόσβασης.

readonly (μόνο για ανάγνωση): Προεπιλογή = False.

hidden (κρυφό): εάν είναι True, ανοίξτε το νέο έγγραφο στο παρασκήνιο (προεπιλογή = False). Να χρησιμοποιείται με προσοχή: η ενεργοποίηση ή το κλείσιμο κατόπιν, μπορεί να γίνει μόνο μέσω προγραμματισμού.

macroexecution: 0 = η συμπεριφορά ορίζεται από τη διαμόρφωση του χρήστη, 1 = οι μακροεντολές δεν είναι εκτελέσιμες, 2 = οι μακροεντολές είναι εκτελέσιμες. Η προεπιλογή είναι 0.

filtername (όνομα φίλτρου): Το όνομα ενός φίλτρου που πρέπει να χρησιμοποιηθεί για τη φόρτωση του εγγράφου. Εάν υπάρχει, το φίλτρο πρέπει να υπάρχει.

filteroptions (επιλογές φίλτρου): Μια προαιρετική συμβολοσειρά επιλογών που σχετίζεται με το φίλτρο.

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

##### Σε Basic

          Dim myDoc As Object, FSO As Object
          Set myDoc = ui.OpenDocument("C:\Documents\myFile.odt", ReadOnly := True)

##### Σε Python

         myDoc = ui.OpenDocument(r"C:\Documents\myFile.odt", readonly = True)

## Resize

Αλλάζει το μέγεθος και/ή μετακινεί το ενεργό παράθυρο. Τα απόντα και τα αρνητικά ορίσματα αγνοούνται. Εάν το παράθυρο ελαχιστοποιηθεί ή μεγιστοποιηθεί, η κλήση του Resize (Αλλαγή μεγέθους) χωρίς ορίσματα το επαναφέρει.

### Σύνταξη:

svc.Resize(left: int = -1, top: int = -1, width: int = -1, height: int = -1)

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

left, top (αριστερά, επάνω): Οι αποστάσεις της επάνω αριστερής γωνίας από το επάνω και το αριστερό άκρο της οθόνης, σε εικονοστοιχεία.

width, height (πλάτος, ύψος): Νέες διαστάσεις του παραθύρου, σε εικονοστοιχεία.

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

Στα παρακάτω παραδείγματα, το width (πλάτος)και το height (ύψος) του παραθύρου αλλάζουν, ενώ τα top (επάνω) και left (αριστερά) παραμένουν αμετάβλητα.

##### Σε Basic

          ui.Resize(Width := 500, Height := 500)

##### Σε Python

         ui.Resize(width = 500, height = 500)

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

## RunCommand

Εκτελεί μια εντολή UNO στο τρέχον παράθυρο. Μερικές τυπικές εντολές είναι: Save, SaveAs, ExportToPDF, Undo, Copy, Paste, κ.λπ.

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

Για έναν πλήρη κατάλογο εντολών UNO που μπορούν να εκτελεστούν στο LibreOffice, ανατρέξτε στη σελίδα Wiki Development/DispatchCommands.

### Σύνταξη:

svc.RunCommand(command: str, [args: any])

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

command (εντολή): συμβολοσειρά με διάκριση πεζών-κεφαλαίων που περιέχει το όνομα εντολής UNO. Η συμπερίληψη του προθέματος ".uno:" στην εντολή είναι προαιρετική. Η ίδια η εντολή δεν ελέγχεται για ορθότητα. Εάν δεν συμβεί τίποτα μετά την κλήση της εντολής, τότε η εντολή είναι πιθανώς λάθος.

args (ορίσματα): Για κάθε όρισμα που θα μεταβιβαστεί στην εντολή, καθορίστε ένα ζεύγος που περιέχει το όνομα και την τιμή του ορίσματος.

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

##### Σε Basic

Το ακόλουθο παράδειγμα εκτελεί την εντολή .uno:About στο τρέχον παράθυρο.

        Set ui = CreateScriptService("UI")
        ui.RunCommand("About")

Παρακάτω είναι ένα παράδειγμα που εκτελεί την εντολή UNO .uno:BasicIDEAappear και μεταβιβάζει τα ορίσματα που απαιτούνται για το άνοιγμα της IDE Basic σε μια συγκεκριμένη γραμμή μιας λειτουργικής μονάδας.

        ' Τα ορίσματα πέρασαν στην εντολή:
        ' Document  = "LibreOffice Macros & Dialogs"
        ' LibName = "ScriptForge"
        ' Name = "SF_Session"
        ' Line = 600
        ui.RunCommand(".uno:BasicIDEAppear", "Document", "LibreOffice Macros & Dialogs", _
                      "LibName", "ScriptForge", "Name", "SF_Session", "Line", 600)

Σημειώστε ότι η κλήση της εντολής BasicIDEAappear χωρίς ορίσματα, θα ανοίξει απλώς το IDE Basic.

##### Σε Python

        ui = CreateScriptService("UI")
        ui.RunCommand("About")

        ui.RunCommand(".uno:BasicIDEAppear", "Document", "LibreOffice Macros & Dialogs", \
                      "LibName", "ScriptForge", "Name", "SF_Session", "Line", 600)

Στην Python είναι επίσης δυνατό να καλέσετε το RunCommand χρησιμοποιώντας ορίσματα λέξεων-κλειδιών:

        ui.RunCommand(".uno:BasicIDEAppear", Document = "LibreOffice Macros & Dialogs", \
                      LibName = "ScriptForge", Name = "SF_Session", Line = 600)

Κάθε στοιχείο του LibreOffice έχει διαθέσιμο το δικό του σύνολο εντολών. Ένας εύκολος τρόπος για να μάθετε εντολές είναι να μεταβείτε στα Εργαλεία - Προσαρμογή - Πληκτρολόγιο. Όταν τοποθετείτε το ποντίκι σας πάνω από μια συνάρτηση στον κατάλογο Function (συναρτήσεις), θα εμφανιστεί μια επεξήγηση με την αντίστοιχη εντολή UNO.

## SetStatusbar (*)

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

### Σύνταξη:

svc.SetStatusbar(text: str = '', percentage: int = -1)

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

text (κείμενο): Ένα προαιρετικό κείμενο που θα εμφανίζεται μπροστά από τη γραμμή προόδου.

percentage (ποσοστό): ένας προαιρετικός βαθμός προόδου μεταξύ 0 και 100.

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

##### Σε Basic

          Dim i As Integer
          For i = 0 To 100
              ui.SetStatusbar("Progress ...", i)
              Wait 50
          Next i
          ' Επαναφέρει τη γραμμή κατάστασης
          ui.SetStatusbar

##### Σε Python

         from time import sleep
         for i in range(101):
             ui.SetStatusbar("Test:", i)
             sleep(0.05)
         ui.SetStatusbar()

## ShowProgressBar

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

### Σύνταξη:

svc.ShowProgressBar(title: str = '', text: str = '', percentage: int = -1)

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

title (τίτλος): Ο τίτλος που εμφανίζεται στην κορυφή του πλαισίου διαλόγου. Προεπιλογή = "ScriptForge".

text (κείμενο): Ένα προαιρετικό κείμενο που θα εμφανίζεται πάνω από τη γραμμή προόδου.

percentage (ποσοστό): ένας προαιρετικός βαθμός προόδου μεταξύ 0 και 100.

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

##### Σε Basic

          Dim i As Integer
          For i = 0 To 100
              ui.ShowProgressBar("Window Title", "Progress ..." & i & "/100", i)
              Wait 50
          Next i
          ' Κλείνει το παράθυρο της γραμμής προόδου
          ui.ShowProgressBar

##### Σε Python

         from time import sleep
         for i in range(101):
             ui.ShowProgressBar("Window Title", "Progress ... " + str(i) + "/100", i)
             sleep(0.05)
         # Κλείνει το παράθυρο της γραμμής προόδου
         ui.ShowProgressBar()

## WindowExists

Επιστρέφει True εάν το δεδομένο παράθυρο μπορεί να αναγνωριστεί.

### Σύνταξη:

svc.WindowExists(windowname: str): bool

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

windowname (όνομα παραθύρου): δείτε τους ορισμούς παραπάνω.

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

##### Σε Basic

          If ui.WindowExists("C:\Document\My file.odt") Then
              ' ...

##### Σε Python

         if ui.WindowExists(r"C:\Document\My file.odt"):
             # ...

Σχετικά θέματα

Υπηρεσία ScriptForge.Basic

Υπηρεσία SFDocuments.Calc

Υπηρεσία SFDocuments.Document