Paggamit ng mga Variable

Inilalarawan ng sumusunod ang pangunahing paggamit ng mga variable sa LibreOffice Basic.

Mga Kumbensyon sa Pangalan para sa mga Variable Identifier

Ang isang variable na pangalan ay maaaring binubuo ng maximum na 255 character. Ang unang character ng isang variable na pangalan dapat maging isang titik AZ o az. Ang mga numero ay maaari ding gamitin sa isang variable na pangalan, ngunit ang mga simbolo ng bantas at mga espesyal na character ay hindi pinahihintulutan, maliban sa underscore na character ("_"). Sa LibreOffice ang mga pangunahing variable identifier ay hindi case-sensitive. Ang mga pangalan ng variable ay maaaring maglaman ng mga puwang ngunit dapat na nakapaloob sa mga square bracket kung mayroon sila.

Mga halimbawa para sa mga variable na identifier:


    MyNumber=5 'Tama'
    MyNumber5=15 'Tama'
    MyNumber_5=20 'Tama'
    Aking Numero=20 'Hindi wasto, ang variable na may espasyo ay dapat na nakapaloob sa mga square bracket'
    [Aking Numero]=12 'Tama'
    DĂ©jĂ Vu=25 'Hindi wasto, hindi pinapayagan ang mga espesyal na character'
    5MyNumber=12 'Hindi wasto, maaaring hindi magsimula ang variable sa isang numero'
    Number,Mine=12 'Hindi wasto, bawal ang mga bantas'

Pagdedeklara ng mga Variable

Sa LibreOffice Basic hindi mo kailangang magdeklara ng mga variable nang tahasan. Ang isang variable na deklarasyon ay maaaring isagawa gamit ang Dim pahayag. Maaari kang magdeklara ng higit sa isang variable sa isang pagkakataon sa pamamagitan ng paghihiwalay ng mga pangalan gamit ang kuwit. Upang tukuyin ang uri ng variable, gumamit ng alinman sa isang tanda ng pagpapahayag ng uri pagkatapos ng pangalan, o ang naaangkop na key word.

Mga halimbawa para sa mga variable na deklarasyon:


    Dim a$ 'Ipinapahayag ang variable na "a" bilang isang String'
    Dim a As String 'Ipinapahayag ang variable na "a" bilang isang String'
    Dim a$, b Bilang Integer 'Nagdedeklara ng isang variable bilang String at isa bilang Integer'
    Dim c Bilang Boolean 'Ipinapahayag ang c bilang Boolean variable na maaaring TAMA o MALI'
warning

Kapag naideklara mo na ang isang variable bilang isang tiyak na uri, hindi mo na maideklara muli ang variable sa ilalim ng parehong pangalan bilang ibang uri!


Kapag nagdeklara ka ng maraming variable sa isang linya ng code kailangan mong tukuyin ang uri ng bawat variable. Kung ang uri ng isang variable ay hindi tahasang tinukoy, pagkatapos ay ipapalagay ng Basic na ang variable ay sa Variant uri.


  ' Ang parehong mga variable na "a" at "b" ay nasa uri ng Integer
  Dim a As Integer, b As Integer
  ' Ang variable na "c" ay isang Variant at ang "d" ay isang Integer
  Dim c, d As Integer
  ' Ang isang variable ay maaari ding tahasang ideklara bilang isang Variant
  Dim e As Variant, f As Double
note

Ang Variant Ang uri ay isang espesyal na uri ng data na maaaring mag-imbak ng anumang uri ng halaga. Para matuto pa, sumangguni sa seksyon Ang uri ng Variant sa ibaba.


Pagpipilit sa mga Deklarasyon ng Variable

Upang pilitin ang deklarasyon ng mga variable, gamitin ang sumusunod na command:


Option Explicit

Ang Malinaw na Opsyon Ang pahayag ay dapat ang unang linya sa module, bago ang unang SUB. Sa pangkalahatan, ang mga array lang ang kailangang ideklara nang tahasan. Ang lahat ng iba pang mga variable ay idineklara ayon sa type-declaration character, o - kung tinanggal - bilang default na uri Walang asawa .

Mga Uri ng Variable

Sinusuportahan ng LibreOffice Basic ang apat na variable na klase:

Mga Integer na Variable

Ang mga variable ng integer ay mula -32768 hanggang 32767. Kung magtatalaga ka ng floating-point na value sa isang integer variable, ang mga decimal na lugar ay ipapa-round sa susunod na integer. Ang mga integer na variable ay mabilis na kinakalkula sa mga pamamaraan at angkop para sa mga counter variable sa mga loop. Ang isang integer variable ay nangangailangan lamang ng dalawang byte ng memorya. Ang "%" ay ang uri-declaration character.


Dim Variable%
Dim Variable As Integer

Mahabang Integer Variable

Ang mga mahahabang variable ng integer ay mula -2147483648 hanggang 2147483647. Kung magtatalaga ka ng isang floating-point na halaga sa isang mahabang integer variable, ang mga decimal na lugar ay ipapa-round sa susunod na integer. Ang mga mahahabang variable na integer ay mabilis na kinakalkula sa mga pamamaraan at angkop para sa mga counter variable sa mga loop para sa malalaking halaga. Ang isang mahabang integer variable ay nangangailangan ng apat na byte ng memorya. Ang "&" ay ang uri-declaration character.


Dim Variable&
Dim Variable As Long

Mga Desimal na Variable

Ang mga desimal na variable ay maaaring tumagal ng positibo o negatibong mga numero o zero. Ang katumpakan ay hanggang 29 na numero.

Maaari kang gumamit ng mga tandang plus (+) o minus (-) bilang mga prefix para sa mga decimal na numero (may mga puwang o walang).

Kung ang isang decimal na numero ay itinalaga sa isang integer variable, ang LibreOffice Basic ay nagbi-round sa figure pataas o pababa.

Nag-iisang Variable

Ang mga solong variable ay maaaring kumuha ng positibo o negatibong mga halaga mula 3.402823 x 10E38 hanggang 1.401298 x 10E-45. Ang mga solong variable ay mga variable na floating-point, kung saan bumababa ang katumpakan ng decimal habang tumataas ang di-decimal na bahagi ng numero. Ang mga solong variable ay angkop para sa mathematical na mga kalkulasyon ng average na katumpakan. Ang mga kalkulasyon ay nangangailangan ng mas maraming oras kaysa sa mga variable ng Integer, ngunit mas mabilis kaysa sa mga kalkulasyon na may Double variable. Ang isang solong variable ay nangangailangan ng 4 na bait ng memorya. Ang uri-declaration character ay "!".


Dim Variable!
Dim Variable As Single

Dobleng Variable

Ang mga dobleng variable ay maaaring kumuha ng positibo o negatibong mga halaga mula sa 1.79769313486232 x 10E308 hanggang 4.94065645841247 x 10E-324. Ang mga double variable ay mga floating-point variable, kung saan bumababa ang katumpakan ng decimal habang tumataas ang di-decimal na bahagi ng numero. Ang mga dobleng variable ay angkop para sa tumpak na mga kalkulasyon. Ang mga kalkulasyon ay nangangailangan ng mas maraming oras kaysa para sa Single variable. Ang isang Double variable ay nangangailangan ng 8 bytes ng memorya. Ang uri-declaration character ay "#".


Dim Variable#
Dim Variable As Double

Mga Variable ng Pera

Ang mga variable ng currency ay panloob na naka-imbak bilang 64-bit na mga numero (8 Bytes) at ipinapakita bilang isang fixed-decimal na numero na may 15 non-decimal at 4 na decimal na lugar. Ang mga halaga ay mula sa -922337203685477.5808 hanggang +922337203685477.5807. Ginagamit ang mga variable ng pera upang kalkulahin ang mga halaga ng pera na may mataas na katumpakan. Ang character na type-declaration ay "@".


Dim Variable@
Dim Variable As Currency

Literal para sa mga integer

Maaaring i-encode ang mga numero gamit ang octal at hexadecimal form.


  xi = &o13 '    8 + 3
  ci = &h65 ' 6*16 + 5
  MAX_Integer =  &o77777 '  32767 = &h7FFF
  MIN_Integer = &o100000 ' -32768 = &h8000
  MAX_Long = &h7fffffff '  2147483647 = &o17777777777
  MIN_Long = &h80000000 ' -2147483648 = &o20000000000

Mga String Variable

Ang mga variable ng string ay maaaring maglaman ng mga string ng character na may hanggang 2,147,483,648 character. Ang bawat karakter ay nakaimbak bilang katumbas na halaga ng Unicode. Ang mga string variable ay angkop para sa pagpoproseso ng salita sa loob ng mga programa at para sa pansamantalang imbakan ng anumang hindi napi-print na character hanggang sa maximum na haba na 2 Gbytes. Ang memorya na kinakailangan para sa pag-iimbak ng mga variable ng string ay depende sa bilang ng mga character sa variable. Ang character ng type-declaration ay "$".

tip

Sa BASIC String function, ang unang character ng string ay may index 1.



Dim Variable$
Dim Variable As String

Mga Boolean Variable

Ang mga variable ng Boolean ay nag-iimbak lamang ng isa sa dalawang halaga: TRUE o FALSE. Ang isang numero 0 ay nagsusuri sa FALSE, ang bawat iba pang halaga ay nagsusuri sa TRUE.


Dim Variable As Boolean

Mga Variable ng Petsa

Ang mga variable ng petsa ay maaari lamang maglaman ng mga halaga ng petsa at oras na nakaimbak sa isang panloob na format. Mga value na itinalaga sa mga variable ng Petsa na may Dateserial , Halaga ng petsa , Timeserial o Halaga ng oras ay awtomatikong na-convert sa panloob na format. Ang mga variable ng petsa ay na-convert sa mga normal na numero sa pamamagitan ng paggamit ng Araw , buwan , taon o ang Oras , minuto , Pangalawa function. Ang panloob na format ay nagbibigay-daan sa isang paghahambing ng mga halaga ng petsa/oras sa pamamagitan ng pagkalkula ng pagkakaiba sa pagitan ng dalawang numero. Ang mga variable na ito ay maaari lamang ipahayag gamit ang pangunahing salita Petsa .


Dim Variable As Date

Mga Literal para sa Mga Petsa

Binibigyang-daan ng mga literal ng petsa na tukuyin ang mga hindi malabo na variable ng petsa na independiyente sa kasalukuyang wika. Ang mga literal ay nakapaloob sa pagitan ng mga hash sign # . Ang mga posibleng format ay:


  start_date = #12/30/1899# ' = 1
  dob = #2010-09-28#

Ang uri ng Variant

Ang mga variable ay idineklara bilang Variant maaaring pangasiwaan ang anumang uri ng data. Nangangahulugan ito na ang aktwal na uri ng data ay tinukoy sa panahon ng runtime bilang isang halaga ay itinalaga sa variable.

Mayroong tatlong pangunahing paraan upang lumikha ng a Variant variable, tulad ng ipinapakita sa ibaba:


  Dim varA ' Ang uri ay hindi tinukoy, kaya ang variable ay isang Variant
  Dim varB bilang Variant ' Ang variable ay tahasang idineklara bilang Variant
  varC = "abc" ' Ang mga dating hindi nadeklarang variable ay itinuturing bilang Mga Variant

Ang halimbawa sa ibaba ay gumagamit ng TypeName function upang ipakita kung paano ang uri ng a Variant variable na pagbabago sa pagtatalaga.


  Dim myVar As Variant
  MsgBox TypeName(myVar) ' Empty
  myVar = "Hello!"
  MsgBox TypeName(myVar) ' String
  myVar = 10
  MsgBox TypeName(myVar) ' Integer
note

A Variant variable ay pinasimulan sa Walang laman espesyal na uri ng data. Maaari mong gamitin ang IsEmpty function upang subukan kung ang isang variable ay isang Walang laman na Variant .


Maaari mo ring gamitin ang keyword Anuman upang ideklara ang isang variable bilang a Variant . gayunpaman, Anuman ay hindi na ginagamit at available para sa backward compatibility.

warning

Mga argumento na may uri Variant o Anuman Ang mga naipasa sa mga tawag sa function ay hindi sinusuri para sa kanilang mga uri.



  Dim myVar Bilang Anumang ' Variable "myVar" ay isang Variant

Mga Paunang Variable Value

Sa sandaling naideklara na ang variable, awtomatiko itong itatakda sa halagang "Null". Pansinin ang mga sumusunod na kombensiyon:

Numeric ang mga variable ay awtomatikong itinalaga ang halagang "0" sa sandaling ideklara ang mga ito.

Mga variable ng petsa ay itinalaga ang halaga 0 sa loob; katumbas ng pag-convert ng value sa "0" gamit ang Araw , buwan , taon o ang Oras , minuto , Pangalawa function.

Mga variable ng string ay itinalaga ng isang walang laman na string ("") kapag sila ay idineklara.

Mga array

Alam ng LibreOffice Basic ang isa- o multi-dimensional na array, na tinukoy ng isang tinukoy na uri ng variable. Ang mga array ay angkop para sa pag-edit ng mga listahan at talahanayan sa mga programa. Ang mga indibidwal na elemento ng isang array ay maaaring matugunan sa pamamagitan ng isang numeric index.

Mga array dapat ipahayag kasama ang Dim pahayag. Mayroong ilang mga paraan upang tukuyin ang hanay ng index ng isang array:


    Dim Text$(20) '21 elemento na may bilang mula 0 hanggang 20'
    Dim Text$(5,4) '30 elements (isang matrix ng 6 x 5 elements)'
    Dim Text$(5 To 25) '21 elemento na may bilang mula 5 hanggang 25'
    Dim Text$(-15 Hanggang 5) '21 elemento (kabilang ang 0), na may bilang mula -15 hanggang 5'

Ang hanay ng index ay maaaring magsama ng positibo at negatibong mga numero.

Mga Constant

Ang mga constant ay may nakapirming halaga. Isang beses lang tinukoy ang mga ito sa programa at hindi na muling tukuyin sa ibang pagkakataon:


Const ConstName=Expression

Mangyaring suportahan kami!