LibreOffice 7.6 Hjelp
Ein eigenskap (property), ogsÄ kalla felt eller attributt, karakteriserer eit gjeve objekt eller ein opplysning. Eigenskapar kan brukast til Ä kontrollera tilgangen til data. Det er vanleg Ä ta med instruksjonar nÄr eigenskapane vert sette eller lesne. Kodane kan vera alt frÄ enkle tildelingar til komplekse innhaldsavhengige rutinar. Bruk av Get, Let eller Set tvingar konsistensen for eigenskapen nÄr det er nÞdvendig.
Dette uttrykket krev at Option Compatible vert sett framfĂžre programkoden i ein modul.
[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
namn: Namnet pÄ eigenskapen.
argument: Verdi som skal overfĂžrast til rutinen Property.
Property brukar ofte eitt enkelt argument. Fleire argument kan likevel brukast samstundes.
Option Compatible
Sub Main
ProductName = "Office"
Print ProductName ' viser "LibreOffice"
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
NÄr eigenskapen Let eller Set manglar, hjelper Get til med Ä verna informasjon som ikkje mÄ endrast av ein annan modul ved eit uhell.
Option Compatible
Public Property Get PathDelimiter As String ' Skriveverna variabel
Static this As String
If this = "" Then : Select Case GetGuiType()
Case 1 : this = ";" ' Windows
Case 4 : this = ":" ' Linux eller macOS
Case Else : Error 423 ' Eigenskap eller metode ikkje definert: PathDelimiter
End Select : End If
PathDelimiter = this
End Property ' skriveverna PathDelimiter
Sub Main
PathDelimiter = "a sentence" ' gjer ingenting
End Sub
Bruk Let eller Set nÄr du handsamar UNO-tenester eller klasseobjekt:
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