Περιεχόμενα

# Υπηρεσία 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 για το τρέχον ενεργό παράθυρο. Όταν το παράθυρο δεν μπορεί να αναγνωριστεί, επιστρέφεται μια συμβολοσειρά μηδενικού μήκους.
Documents | Ναι | String array | Ο κατάλογος με τα τρέχοντα ανοιχτά έγγραφα. Τα ειδικά παράθυρα αγνοούνται. Αυτός ο κατάλογος αποτελείται από έναν μηδενικό μονοδιάστατο πίνακα είτε ονομάτων αρχείων (σε σημειογραφία SF_FileSystem.FileNaming), είτε από τίτλους παραθύρων για μη αποθηκευμένα έγγραφα.
Height | Yes | Integer | Returns the height of the active window in pixels.
Width | Yes | Integer | Returns the width of the active window in pixels.
X | Yes | Integer | Returns the X coordinate of the active window, which is the distance to the left edge of the screen in pixels.
Y | Yes | Integer | Returns the Y coordinate of the active window, which is the distance to the top edge of the screen in pixels. This value does not consider window decorations added by your operating system, so even when the window is maximized this value may not be zero.

## Σταθερές

Όνομα | Τιμή | Περιγραφή
--- | --- | ---
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 (*) 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 συγκεκριμένου τύπου ή με βάση ένα δεδομένο πρότυπο. Η μέθοδος επιστρέφει ένα αντικείμενο εγγράφου.

### Σύνταξη:

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

## GetDocument

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

### Σύνταξη:

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. Η μέθοδος επιστρέφει ένα αντικείμενο εγγράφου.

### Σύνταξη:

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

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

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

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

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

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

##### Σε Basic

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

##### Σε Python

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

To improve code readability you can use predefined constants for the macroexecution argument, as in the examples above.

## OpenDocument (*)

Opens an existing LibreOffice document with the given options. Returns a document object or one of its subclasses. The method returns Nothing (in BASIC) or None (in Python) if the opening failed, even when the failure is caused by a user decision.

### Σύνταξη:

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 = οι μακροεντολές είναι εκτελέσιμες.

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

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

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

##### Σε Basic

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

##### Σε Python

         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(, ,500, 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: str = -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