LibreOffice 24.8 laguntza
Propietate batek (eremu edo atributu ere deitua) objektu bat edo informazio-zati bat karakterizatzen du. Propietateak datuen atzitzea kontrolatzeko erabili daitezke. Normala da haiek instrukzioak sartzea propietateak ezartzeko edo irakurtzeko unean. Kodea mota askotakoa izan daiteke, esleipen sinpleetatik testuinguruaren araberako errutina konplexuetaraino. Get, Let eta Set atzigailuek propietateen koherentzia behartzen dute, beharrrezkoa denean.
Instrukzio honek behar du modulu bateko programa-kode exekutagarriaren aurrean Option Compatible kokatzea.
[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: Propietatearen izena.
argument: Property ezarle-errutinari pasatuko zaion balioa.
Property ezarleek sarritan argumentu bakarra darabilte. Argumentu anitz ere onartzen dira.
Option Compatible
Sub Main
ProductName = "Office"
Print ProductName ' «LibreOffice» bistaratzen du
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
Property Let edo Property Set falta bada, Property Get atzigailuak informazio babestua, kanpoko modulu batek nahi gabe aldatu behar ez duena, definitzen laguntzen du:
Option Compatible
Public Property Get PathDelimiter As String ' Irakurtzeko soilik den aldagaia
Static this As String
If this = "" Then : Select Case GetGuiType()
Case 1 : this = ";" ' Windows
Case 4 : this = ":" ' Linux edo macOS
Case Else : Error 423 ' Propietatea edo metodoa ez dago definituta: PathDelimiter
End Select : End If
PathDelimiter = this
End Property ' irakurtzeko soilik den PathDelimiter
Sub Main
PathDelimiter = "esaldi bat" ' ez du ezer egiten
End Sub
Erabili Let edo Set UNO zerbitzuak edo klase-objektuak maneiatzean:
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