Collabora Office 24.04 Βοήθεια
Μια ιδιότητα, που ονομάζεται επίσης πεδίο ή γνώρισμα, χαρακτηρίζει ένα δεδομένο αντικείμενο, ή μια πληροφορία. Οι ιδιότητες μπορούν να χρησιμοποιηθούν για να ελέγχουν την πρόσβαση στα δεδομένα. Μια συνηθισμένη χρήση είναι να περιλαμβάνουν οδηγίες για τη ρύθμιση ή ανάγνωση χρόνου των ιδιοτήτων. Ο κώδικας μπορεί να ποικίλλει από απλή εκχώριση μέχρι σύνθετο περιεχόμενο ανάλογα με τις ρουτίνες. Η χρήση των στοιχείων πρόσβασης Get, Let ή Set ενδυναμώνει τη συνέπεια των ιδιοτήτων όταν απαιτείται.
Αυτή η πρόταση απαιτεί η Option Compatible να τοποθετηθεί πριν το εκτελέσιμο κώδικα προγράμματος σε ένα άρθρωμα.
[Private | Public] Property Get name[char | As typename]
End Property
[Private | Public] Property [Let | Set] name[char] [([Optional [ByRef | ByVal]]value[char | As typename])] [As typename]
End Property
name: Το όνομα της ιδιότητας.
argument: Η τιμή που θα περάσει στη ρουτίνα ορισμού (setter routine) της Property.
Οι ορισμοί της Property χρησιμοποιούν συχνά ένα μοναδικό όρισμα. Εξίσου αποδεκτά γίνονται και πολλαπλά ορίσματα.
Option Compatible
Sub Main
ProductName = "Office"
Print ProductName ' εμφανίζει "Collabora Office"
End Sub
Private _office As String
Property Get ProductName As String
ProductName = _office
End Property
Property Let ProductName(value As String)
_office = "Libre"& value
End Property
Απουσία των ιδιοτήτων Let ή Set, η ιδιότητα Get βοηθά στον καθορισμό προστατευμένων πληροφοριών, που δεν μπορούν να αλλαχθούν τυχαία από ένα ξένο άρθρωμα:
Option Compatible
Public Property Get PathDelimiter As String ' μεταβλητή μόνο για ανάγνωση
Static this As String
If this = "" Then : Select Case GetGuiType()
Case 1 : this = ";" ' Windows
Case 4 : this = ":" ' Linux ή macOS
Case Else : Error 423 ' Μη ορισμένη ιδιότητα ή μέθοδος: PathDelimiter
End Select : End If
PathDelimiter = this
End Property ' PathDelimiter μόνο για νάγνωση
Sub Main
PathDelimiter = "a sentence" ' δεν κάνει τίποτα
End Sub
Χρησιμοποιήστε Let ή Set κατά τη διαχείριση υπηρεσιών UNO ή αντικειμένων κλάσης:
Option Compatible
Sub Main
'Set anObject = CreateUnoService( "com.sun.star.frame.Desktop" )
anObject = CreateUnoService( "com.sun.star.frame.Desktop" )
Print anObject.SupportedServiceNames(0) ' displays "com.sun.star.frame.Frame"
End Sub
Property Get anObject As Object
Set anObject = _obj
End Property
Private _obj As Object
'Property Set anObject(value As Object)
'Set _obj = value.CurrentFrame
'End Property
Property Let anObject(value As Object)
Set _obj = value.CurrentFrame
End Property