Edukiak

# Property instrukzioa

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.

### Sintaxia:

             [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

### Parametroak:

name: Propietatearen izena.

argument: Property ezarle-errutinari pasatuko zaion balioa.

Property ezarleek sarritan argumentu bakarra darabilte. Argumentu anitz ere onartzen dira.

##### argumentu-zatia

          {[Optional [ByRef|ByVal]]|ParamArray} argument {{As typename|char}[ = expression]|[()]As Variant}

##### Parametroak

Optional: Argumentua ez da derrigorrezkoa.

ByRef: Argumentua erreferentzia gisa pasatzen da. ByRef da aukera lehenetsia.

ByVal: Argumentua balio gisa pasatzen da. Balio hori deitutako errutinak soilik aldatu dezake.

char: Mota deklaratzeko karakterea.

motaizena: Jatorrizko datu-moten izena. Liburutegiekin edo moduluekin definitutako motak ere zehaztu daitezke.

= expression: Zehaztu balio lehenetsi bat argumenturako. Deklaratutako motarekin bat egin behar dy. Optional erabiltzea beharrezkoa da balio lehenetsi bat zehazten duen argumentu bakoitzerako.

ParamArray: Erabili ParamArray parametro kopurua zehaztu gabe dagoenean. Egoera tipiko bat erabiltzaileak definitutako Calc funtzioak dira. ParamArray erabiltzea errutina baten azken argumentura mugatu beharko litzateke.

ParamArray edo = expression erabiltzeko, Option Compatible kokatu behar da moduluaren programa-kode exekutagarriaren aurrean.

Option VBASupport 1 erabiltzean, balio lehenetsirik gabeko (= expression) Optional argumentuak beren datu motaren arabera hasieratzen dira, Variant kasuan salbu.

##### motaizena zatia

          {Boolean|Byte|Currency|Date|Double|Integer|Long|Object|Single|String|Variant}

##### karaktere-zatia

          { % | & | ! | # | $ | @ }

## Adibideak

          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

Erlazionatutako gaiak

Azpierrutinen oinarrizkoak

Prozedurak, funtzioak eta propietateak erabiltzea

Function instrukzioa

Sub instrukzioa

End, Exit instrukzioak

Option ClassModule instrukzioa

Option Compatible instrukzioa