Contents
Index 🔎︎

# Gargaaramuu adeemsaa fi fankishinoota

Kanneen armaan gadii tajaajila guddaa adeemsii fi fankishinootaa bu`uura LibreOffice keessattii ibsu.

Yeroo mojuulii haaraa uumtu, bu`uuri LibreOffice ofumaan SUB "Main" jedhamu saagi. Maqaan durtii tartiiba yookiin tuqaa eegalii projektii bu`uura LibreOffice wajjin waan tokkolee hojjetu hin qabu. SUB kanas ofeegannoon maqaa isaa jijjiiruun ni danda`ama.

Some restrictions apply for the names of your public variables, subs, and functions. You must not use the same name as one of the modules of the same library.

Adeemsi (SUBS) fi fankishinootni (FUNCTIONS) ilaalcha guddaa qaamotaa sagantaa isaanii loogikii xixiqqoon addanbasee akka eegnu nugargaru.

Tajaajili adeemsaa fi fankishinii inni tokko, lakkadda sagantaa kutaalee hojiif uumame qabu tokko, projektii biroo keessatti gargaaramuun ni danda`ama.

## Jijjiiramaawwan gara adeemsaa (SUB) fi fankishinii (FUNCTION)tti dabarsuu

Jijjiiramaawwan gara adeemsaa fi fankishinootaatti dadarbbuu ni danda`u. SUBiin yookiin FUNCTIONiin dirqama ulaagaalee barbaadameetti ibsamuu qabu.

    Sub SubName(Parameter1 As Type, Parameter2 As Type,...)
    Lakkaddaa sagantaa
    End Sub

SUBiin caasimaa armaaan gadii gargaaramuun waamama:

    SubName(Value1, Value2,...)

Ulaagaaleen SUBtti darban dirqama hiika SUB ifteessame taasisuu qabu.

Haala walfakaatuun FUNCTIONS irrattis ni boba`a. Dabalataanni,fankishiniin yeroo hundaa bu`aa fankishinii kenna.Bu`aan fankishinii kan hiikamu gatii deebii maqaa fankishinii ramadammuuni:

    Function FunctionName(Parameter1 As Type, Parameter2 As Type,...) As Type
    Lakkaddaa sagantaa
    FunctionName=Result
    End Function

SUBiin caasimaa armaaan gadii gargaaramuun waamama:

    Variable=FunctionName(Parameter1, Parameter2,...)

Adeemsa yookiin fankishinii waamuuf maqaa beekamoo:
Library.Module.Macro()
gargaaramuun ni danda`ama Fakeenyaaf, maakroo BarruuUfmaa Manbarroo Gimmicksii keesaa waamuuf, ajaja armaan gadii:
Gimmicks.AutoText.Main() gargaarami.

## jijjiiramaawwan gatiidhaan yookiin Barreefamaan dabarsuu

Ulaagaaleen ilaalchaan yookiin gatiidhaan gara SUBtti yookiin FUNCTIONtti darbuu ni danda`u. Ulaagaan ifteessamuu yoo baatan yeroo hundaa ilaalchaan darbu. Kana jechuun SUBiin yookiin FUNCTIONiin gatii ulaagaa argachuu fi dubbisuu fi jijjiiruu ni danda`a.

SUB yookiin FUNCTION waamuudhaan yeroo gatiidhaan ulaaagaa dabarsuu barbaadu jifuraa "ByVal" fuuldura ulaagaa saagi, fakkeenyaaf:

    Result = Function(ByVal Parameter)

Akkaataa kanaan, qabeentoon xabboo ulaagaa sababa gatii ulaagaa malee ulaagaa mataasaa hin arganneef FUNCTIONitiin hin jijjiiramu.

## Qabatama jijjiiramaawwanii

Jijjiiramaan SUB yookiin FUNCTION keessatti hiikama, gataa`aa ta`uudhaan hanga adeemsi bahutti tura.Kunis jijjiiramaa "local" jedhama. Sababa baay`eedhaan, adeemsa hundaa keessaatti , manbarroo hundaaf mojuulii kamiyyuu keessatti, yookiin SUB yookiin FUNCTIONiin erga bahee booda jijjiiramaan gataa`aa akka ta`uu ni barbaadama.

### Jijjiiiramaawwan SUBii yookiin FUNCTIONii ala ibsuu

    GLOBAL VarName As TYPENAME

Jijjiiramaan dhuma hiramuu LibreOfficetti gataa`aa dha.

    PUBLIC VarName As TYPENAME

jijjiiiramaan mojuulii hundaa keessatti gataa`aa dha.

    PUBLIC VarName As TYPENAME

Jijjiiramaan mojuulii kana keessatti qofa gataa`aa dha.

    PUBLIC VarName As TYPENAME

Jijjiiramaan mojuulii kana keessatti qofa gataa`aa dha.

### Fakkeenya jijjiiramaawwan dhuunfaaf

Jijjiiramaawwan dhuunfaa CompatibilityMode(true)tiin kaa`uudhaan akka naannoo mojuulii dhuunfaa ta`an dhiibbaa gochuu.

    ' ***** Module1 *****
    Private myText As String
    Sub initMyText
        myText = "Hello"
        print "in module1 : ", myText
    End Sub

    ' ***** Module2 *****
    'Option Explicit
    Sub demoBug
        CompatibilityMode( true )
        initMyText
        ' Now returns empty string
        ' (or raises error for Option Explicit)
        print "Now in module2 : ", myText
    End Sub

### SUB yookiin FUNCTION erga basanii qabeetoo jijjiiramaa olkaa`uu

    STATIC VarName As TYPENAME

Jijjiiramaan hanga FUNCTIONiin yookiin SUBiin yeroo itti aanu seenutti gatii isaa qabaqa. Ibsi kuni dirqama SUB yookiin FUNCTION keessa jiraachuu qaba.

## Specifying the Return Value Type of a FUNCTION

Akkaataa jijjiiramaawwaniin, maqaa fankishinii booda arfii ibsa akaakuu, yookiin akaakuu "As"tiin argisiifamee fi jefuraa walgittaa dhuma ulaagaa irratti tarreeffaman akaakuu fankishinii gatii deebisan ibsan qabata, fakeenyaaf:

    Function WordCount(WordText As String) As Integer