Paggamit ng Mga Pamamaraan, Mga Pag-andar at Mga Katangian

Ang sumusunod ay naglalarawan sa pangunahing paggamit ng mga pamamaraan, function at katangian sa LibreOffice Basic.

note

Kapag gumawa ka ng bagong module, awtomatikong naglalagay ang LibreOffice Basic ng a Sub tinawag" Pangunahing ". Ang default na pangalan na ito ay walang kinalaman sa pagkakasunud-sunod o sa panimulang punto ng isang LibreOffice Basic na proyekto. Maaari mo ring ligtas na palitan ang pangalan nito Sub nakagawian.


note

Nalalapat ang ilang paghihigpit para sa mga pangalan ng iyong mga pampublikong variable, subroutine, function at property. Hindi mo dapat gamitin ang parehong pangalan bilang isa sa mga module ng parehong library.


Pamamaraan ( Sub mga gawain) function ( Function ) at mga katangian ( Ari-arian ) tulungan kang mapanatili ang isang nakabalangkas na pangkalahatang-ideya sa pamamagitan ng paghihiwalay ng isang programa sa mga lohikal na piraso.

Ang isang benepisyo ng mga pamamaraan, pag-andar at pag-aari ay, kapag nakabuo ka ng isang code ng programa na naglalaman ng mga bahagi ng gawain, maaari mong gamitin ang code na ito sa isa pang proyekto.

Pagpasa ng mga Variable sa Mga Procedure, Function o Properties

Ang mga variable ay maaaring ipasa sa parehong mga pamamaraan, function o katangian. Ang Sub Function o Ari-arian dapat ipahayag upang asahan ang mga parameter:


  Sub SubName(Parameter1 As TYPENAME, Parameter2 As TYPENAME,...)
      ' ang iyong code ay napupunta dito
  End Sub

Ang Sub ay tinatawag gamit ang sumusunod na syntax:


  [Call] SubName( [Parameter1:=]Value1, [Parameter2:=]Value2, ...)

Ang mga parameter ay ipinasa sa a Sub dapat magkasya sa mga tinukoy sa Sub deklarasyon.

Ang parehong proseso ay nalalapat sa a Function . Bilang karagdagan, ang mga function ay palaging nagbabalik ng isang resulta ng function. Ang resulta ng isang function ay tinukoy sa pamamagitan ng pagtatalaga ng return value sa pangalan ng function:


  Function FunctionName(Parameter1 As TYPENAME, Parameter2 As TYPENAME,...) As TYPENAME
      ' ang iyong code ay napupunta dito
      FunctionName=Result
  End Function

Ang Function ay tinatawag gamit ang sumusunod na syntax:


  Variable = FunctionName( [Parameter1:=]Value1, [Parameter2:=]Value2, ...)

Pinagsasama ng mga property ang syntax ng mga procedure at function. A Ari-arian karaniwang nangangailangan ng hanggang isang parameter.


  Private _IsApproved As TYPENAME
  Property Get IsApproved As TYPENAME
      ' ang iyong code ay napupunta dito
      IsApproved = some_computation
  End Property
  Property Let IsApproved(value As TYPENAME)
      ' ang iyong code ay napupunta dito
      _IsApproved = computed_value
  End Property

Ang Ari-arian ay tinatawag gamit ang sumusunod na syntax:


  var = IsApproved
  IsApproved = some_value
tip

Maaari mo ring gamitin ang ganap na kwalipikadong pangalan para tumawag sa isang procedure, function o property:
[Tawag] Library.Module.Macro() , saan Tumawag ay opsyonal.
Halimbawa, para tawagan ang Autotext macro mula sa Gimmicks library, gamitin ang sumusunod na command:
Gimmicks.AutoText.Main()


Pagpasa ng mga Variable ayon sa Halaga o Sanggunian

Ang mga parameter ay maaaring ipasa sa isang pamamaraan, isang function o isang ari-arian alinman sa pamamagitan ng sanggunian o sa pamamagitan ng halaga. Maliban kung tinukoy, ang isang parameter ay palaging ipinapasa sa pamamagitan ng sanggunian. Ibig sabihin, a Sub , a Function o a Ari-arian nakakakuha ng parameter at maaaring basahin at baguhin ang halaga nito.

Kung gusto mong magpasa ng parameter ayon sa halaga, ilagay ang key word ByVal sa harap ng parameter kapag tumawag ka ng a Sub , a Function o a Ari-arian , halimbawa:


  Function ReadOnlyParms(ByVal p2, ByVal p2)
      ' ang iyong code ay napupunta dito
  End Function
  result = ReadOnlyParms(parm1, parm2)

Sa kasong ito, ang orihinal na nilalaman ng parameter ay hindi mababago ng Function dahil nakukuha lamang nito ang halaga at hindi ang parameter mismo.

Pagtukoy sa Mga Opsyonal na Parameter

Maaaring tukuyin ang mga function, procedure o property gamit ang mga opsyonal na parameter, halimbawa:


  Sub Rounding(number, Optional decimals, Optional format)
      ' ang iyong code ay napupunta dito
  End Sub

Mga Pangangatwiran sa Posisyon o Keyword

Kapag tumawag ka ng isang function o isang subroutine, maaari mong ipasa ang mga argumento nito sa pamamagitan ng posisyon o sa pamamagitan ng pangalan. Ang pagpasa sa posisyon ay nangangahulugang paglilista lamang ng mga argumento sa pagkakasunud-sunod kung saan tinukoy ang mga parameter sa function o subroutine. Ang pagpasa sa pangalan ay nangangailangan sa iyo na i-prefix ang argument na may pangalan ng katumbas na parameter na sinusundan ng isang tutuldok at isang katumbas na tanda ( := ). Maaaring lumitaw ang mga argumento ng keyword sa anumang pagkakasunud-sunod. Sumangguni sa Basic Replace() function para sa mga ganitong halimbawa.

Kapag kailangang magpasa ng mas kaunting mga parameter, gumamit ng mga argumento ng keyword. Ang pagpasa ng mga halaga para sa mas kaunting mga parameter ayon sa posisyon ay nangangailangan ng mga halaga para sa lahat ng mga parameter bago ang mga ito, opsyonal o hindi. Tinitiyak nito na ang mga halaga ay nasa tamang posisyon. Kung ipapasa mo ang mga parameter sa pamamagitan ng pangalan - gamit ang mga argumento ng keyword - maaari mong alisin ang lahat ng iba pang intermediate na argumento.

Saklaw ng mga Variable

Isang variable na tinukoy sa loob ng a Sub , a Function o a Ari-arian , nananatiling wasto lamang hanggang sa lumabas ang pamamaraan. Ito ay kilala bilang isang "lokal" na variable. Sa maraming kaso, kailangan mo ng variable upang maging wasto sa lahat ng mga pamamaraan, sa bawat module ng lahat ng mga aklatan, o pagkatapos ng isang Sub , a Function o a Ari-arian ay lumabas.

Pagdedeklara ng mga Variable sa Labas a Sub a Function o a Ari-arian


Global VarName As TYPENAME

Ang variable ay wasto hangga't tumatagal ang LibreOffice session.


Public VarName As TYPENAME

Ang variable ay may bisa sa lahat ng mga module.


Private VarName As TYPENAME

Ang variable ay valid lamang sa modyul na ito.


Dim VarName As TYPENAME

Ang variable ay valid lamang sa modyul na ito.

Halimbawa para sa mga pribadong variable

Ipatupad ang mga pribadong variable na maging pribado sa mga module sa pamamagitan ng pagtatakda CompatibilityMode(Totoo) .


  ' ***** Module1 *****
  Private myText As String
  Sub initMyText
      myText = "Hello"
      I-print ang "Sa module1 : ", myText
  End Sub
   
  ' ***** Module2 *****
  'Option Explicit
  Sub demoBug
      CompatibilityMode( True )
      initMyText
      ' Ngayon ay nagbabalik ng walang laman na string
      ' (o nagpapataas ng error para sa Option Explicit)
      I-print ang "Now in module2 : ", myText
  End Sub

Pag-save ng Variable Content pagkatapos Lumabas a Sub a Function o a Ari-arian


  Static VarName As TYPENAME

Ang variable ay nagpapanatili ng halaga nito hanggang sa susunod na pagkakataon ang a Function , Sub o Ari-arian ay ipinasok. Ang deklarasyon ay dapat na umiiral sa loob ng a Sub , a Function o a Ari-arian .

Pagtukoy sa Uri ng Return Value ng a Function o a Ari-arian

Tulad ng sa mga variable, isama ang isang uri-declaration character pagkatapos ng pangalan ng function, o ang uri na ipinahiwatig ng Bilang at ang kaukulang uri ng data sa dulo ng listahan ng parameter upang tukuyin ang uri ng function o return value ng property, halimbawa:


  Function WordCount(WordText As String) As Integer

Mangyaring suportahan kami!