• Public
  • Protsedura va funksiyaning harakat sohasi




    Download 3,88 Mb.
    bet48/101
    Sana24.01.2024
    Hajmi3,88 Mb.
    #145014
    1   ...   44   45   46   47   48   49   50   51   ...   101
    Bog'liq
    Access 2 лотин (2)

    Protsedura va funksiyaning harakat sohasi
    Protsedura va funksiyalar faqat ikita darajali harakat sohasiga ega:Modul darajasi va loyiha darajasi.
    Loyiha darajasi yashirincha foydalaniladi. Shunday qilib protsedura yoki funksiya ixtiyoriy boshqa protsedura yoki funksiya orqali chaqirilishi mumkin bu loyihada.
    Protsedura va funksiya tavifida loyiha darajasida nomajburiy kalit so‘zi Publicdan foydalanish mumkin. Bu so‘zning bor yoki yo‘qligi ta’sir ko‘rsatmaydi.
    Agar faqat modul darajasida protsedura tavsif etilishi kerak bo‘lsa buning uchun kalit so‘zi Private qo‘llaniladi. E’tiborga oling, bunday tavsif faqatgina protseduraning harakat sohasini toraytiribgina qolmay, lekin va uning mustaqil protsedura sifatida foydalanishni taqiqlaydi-uni faqat boshqa protseduradan chaqirish mumkin. Nixoyat, protsedura yoki funksiyaning tavsifida kalit so‘zi Static dan foydalanish mumkin. Bu hech protsedura harakat sohasiga ta’sir qilmaydi, lekin hamma o‘zgaruvchiga ta’sir qiladi, shu protsedura yoki funksiyaning ichida tavsif qilingan.
    Bu xolatda hamma lokal o‘zgaruvchilar Static statusini oladi va shu bilan protsedura tugagandan so‘nguning xotirasida qoladi va chaqirilganda avvalgi qiymatini saqlab qoladi.
    Quyidagicha boshlanadigan modul misolini ko‘rib chiqamiz:

    Public Al As String Private A2 As Integer


    Dim A3 As Single
    Sub Prod ()
    Dim A4 As Integer
    Static A5 As Integer
    Al = "Tekstovaya stroka 1"
    A2= 2
    A3 = 3.14
    A4 = A4 + 4
    A5 = A5 + 5
    MsgBox A4
    MsgBox A5
    End Sub
    Sub Proc2 () Procl
    MsgBox Al
    MsgBox A2
    MsgBox A3
    MsgBox A4
    MsgBox A5
    Procl End Sub

    Bu misolda o‘zgaruvchi A1 butun loyiha darajastda aniqlangan(kalit so‘zi Public foydalanilgan) o‘zgaruvchilar A1 va A3 modul darajasida aniqlangan,, o‘zgaruvchi A4 faqat protsedura Proc1, darajasida, o‘zgaruvchi A5 protsedura tanasida aniqlangan Proc1, lekin statik o‘zgaruvchidek tavsif qilingan.


    Protsedura Proc2 chaqirilganda quyidagi sodir bo‘ladi: bu protseduradan o‘z navbatida protsedura Proc1 chaqiriladi, u hamma 5 o‘zgaruvchining kuymatini tayinlaydi A1, A2, A3, A4, A5 so‘ng o‘zgaruvchi A4 va A5 -ning joriy qiymatini ko‘rsatadi dialog oynasida.

    Bu protseduraning yakunidan so‘ng o‘zgaruvchining joriy qiymati A1-A5 protsedura Proc2 dan chiqariladi.


    Bunda o‘zgaruvchilar A1-A3 o‘z qiymatlarini saqlab qoladi, chunki ular modul darajasida tavsif etilgan o‘zgaruvchilar A4 va A5 esa bo‘sh qiymat qabul qiladi, chunki bu o‘zgaruvchilarning harakat sohasi protseduradir, ular u yerda foydalaniladi. Protseduralar birining ichidagi bu o‘zgaruvchilarning o‘zgarishlari shu o‘zgaruvchilarga mos boshqa protseduralardagi o‘zgaruvchilarga bog‘liq emas-aslini olganda bular xar xil o‘zgaruvchilardir, faqatgina ularning nomlari bir xil. so‘ngProc1 protsedurasini yana bir chaqirilish codir bo‘ladi va u yana A4 A5 qiymatini o‘zgartirib ekranga chiqaradi.

    Bunda o‘zgaruvchi A4 yana 4 qiymatini oladi, chunki protseduraning yangi chaqirig‘ida bu o‘zgaruvchi uchun boshqatdan xotira ajratiladi va u initsiyalizatsiyalanadi bo‘sh qiymatda.


    A4 dan farqliroq o‘zgaruvchi A5-statik o‘zgaruvchidek tavsif etilgan, o‘zining oldingi qiymatini saqlaydi. Protseduraning oldingi chaqirig‘idan, buning oqibatida uning qiymati qayta chaqiriqda 10ga teng bo‘ladi.

    Download 3,88 Mb.
    1   ...   44   45   46   47   48   49   50   51   ...   101




    Download 3,88 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Protsedura va funksiyaning harakat sohasi

    Download 3,88 Mb.