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.

warning

Instrukzio honek behar du modulu bateko programa-kode exekutagarriaren aurrean Option Compatible kokatzea.


Sintaxia:

Property Get instrukzioaren diagrama


         [Private | Public] Property Get name[char | As typename]
         End Property
      

Property Set instrukzioaren diagrama


         [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.

note

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


argumentu-zatia

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.

tip

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


warning

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


motaizena zatia

jatorrizko datu moten zatia


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

mota deklaratzeko karaktereak


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

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
      
tip

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
      
note

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
      

Emaguzu laguntza!