• End Sub
  • Sətri funksiyalar .
  • Daxiletmə və çıxarma funksiyaları .
  • “ Biliyin yoxlanması” layihəsi
  • Tarix və vaxt funksiyaları .
  • Visual Basic dilinin qrafik imkanları .
  • “ Funksiyanın qrafikinin qurulması” layihəsi.
  • “ Dairənin hərəkəti” layihəsi.
  • Prose durların görünmə oblastı .
  • Visual Basic dilindəki funksiyalar




    Download 1,13 Mb.
    bet26/63
    Sana29.12.2019
    Hajmi1,13 Mb.
    #6039
    1   ...   22   23   24   25   26   27   28   29   ...   63

    Visual Basic dilindəki funksiyalar.


    Proqramlaşdırma dilindəki funksiya anlayışı riyaziyyatdakı funksiya anlayışına yaxındır. Funksiyanın bir ya bir neçə arqumenti ola bilər. Çoxarqumentli funksiyada arqumentlər vergüllə ayrılır: FunksiyaAdı (ArqumentlərSiyahısı).

    Arqumentlərin hər yığımına funksiyanın bir qiyməti uyğun gəlir. Aqumentlərin qiymətləri verildikdə proqramlaşdırmada deyirlər ki, funksiya öz qiymətini alır (qaytarır).



    106 əgər mənimsətmə operatorunun qarşısında, yəni bərabərliyin sağ tərəfində hesablanacaq ifadə varsa, hesablamanın nəticəsi

    Funksiyalar adətən ifadələrin tərkibinə daxil olur. Funksiyaların müxtəlif tipləri vardır: verilən tiplərinin dəyişdirilməsi funksiyaları, riyazi funksiyalar, sətri funksiyalar, maliyyə funksiyaları, tarix funksiyaları s. Funksiyanın tipi arqumentin funksiyanın özünün aldığı mümkün qiymətlərlə təyin edilir.



    Verilən tiplərinin dəyişdirilməsi funksiyaları. Bunlar veriləni bir tipdən başqa tipə çevirir.

    Val funksiyası. Bu, trin qiymətini ədə çevirir. Val (Sətir$) kimi yazılır. Yəni bunun arqumenti sətir, qiyməti i ədəddir. Məsələn, Val (2012‖) funksiyasının qiyməti 2012-dir. Bu funksiya mətn sahərinin Text xassəsinin sətri qiymətlərini ədədə çevirmək və onların üzərində hesabi əməllər aparmaq üçün istifaedilir.

    İndi Val funksiyasından istifa etməklə, adi kalkulyator‖ proqram əlavəsi yarat- mağa çalışaq. Bu proqram əlavəsi 10-luq tam ədədlər ürin hesab əməlləri icra etməli və nətiləri formanın mətn saləri çıxarmalıdır. Sö gedən proqram əlavəsinin qrafik interfeysini yaratmaq üçün forma üzərində 3 mətn sahəsi107 toplama, çıxma, vurma, bölmə və işin bitməsi kimi əməlləri reallaşran 5 hadisəvi prosedur düymələri yerləşdirək.

    Bunun üçün:


      1. Yeni layihə yaratmalı. Forma üzərində 3 mətn sahəsi və 5 düymə yerləşdirib aşağıdakı adları mənimsətməli: txt1, txt2, txt3, cmdPlus, cmdUmn, cmdDelen, cmdExit.

    cmdPlus_Click proseduru txt1 txt2 mətn sahələrindəki Text xassəsinin ədədi qiymətlərini toplayıb txt3 mətn sahəsinə çıxarmalıdır. Bu, aşağıdakı proqram kodu ilə reallaşdırılır:

    Sub cmdPlus_Click

    Txt3.Text = Val(txt1.Text)+Val(txt2.Text) End Sub

    Çıxma, vurma və bölmə prosedurları da buna analojidir.



      1. Hər bir düymə üçün hadisəvi prosedur proqramı tərtib etməli.

      2. Mətn sahələrinin Alignement (düzləndirmə) xassəsi üçün Right Justufy qiyməti verilməlidir.

      3. Layihəni icraya buraxmalı. Soldakı iki mətn sahəsinə ədəd daxil edib müvafiq hesab əməli düyməsini basmalı. Sağdakı mətn sahəsində nəticə görünəcəkdir.



    107 ikisi daxil ediləcək ədədlər üçün, biri nəticə üçün

    Layihəni \textbook\VB\prjVB3\ adı ilə saxlamalı.



    Val funksiyasının arqumentləri olan sətri ifadələr 8-lik say sistemində &O, 16-q say sistemində isə &H zö i verilir. Məsələn, Val (&O3720‖) Val (&H7D0‖) funsiyalarının ədədi qiyməti 10-luq say sistemində 2000 ədədidir.

    Str, Hex, Oct funksiyaları. Bu funksiyalar 10-luq, 16-lıq və 8-lik ədədləri sətrə çevirir. Məsələn, Str(2000), Oct (2000), Hex (2000) 10-luqdakı 2000 ədədidir ki, bunu da Oct funksiyası 3720-yə, Hex funksiyası H7D0-a çevirir. Yəni bu funksiyalar Val funksiyasının əksinə işləyir.

    İndi tam ədədləri 10-luqdan 8-liyə və 16-lığa və əksinə çevirən layihə yaradaq. Bunun üçün:



    1. Yeni layi yaratmalı. Forma üzərin ədədləri daxil etmək ticəni çıxarmaq üçün txtDec, txtOct, txtHex ad 3 mətn sahəsi cmdDecOct, cmdDecHex, cmdOctDec cmdHexDec adlı 4 əmr yməsi mətn sahələri üzərində izahedici metkalar (lblDec, lblOct, lblHex) yaratmalı. txtOct və txtHex mətn sahələri tri formada daxil ediləcək ədədlərə konkatenasiya (sətrlərin birləşdirilməsi) əməlinin tətbiqi i &O &H‖ sözönlərini birşdirməli. Alınmış 8-lik və ya 16-q ədri Val funksiyasından istifadə etməklə sətri formadan 10-luq ədi formaya çevirməli.

    1. cmdOctDec_Click() hadisəvi proseduru aşağıdakı kimi yazmalı:

    Sub cmdOctDec_Click()

    txtDec.Text = Val(―&O +txtOct.Text)

    End Sub


    1. cmdHexDec_Click() hadisəvi proseduru aşağıdakı kimi yazmalı:

    Sub cmdHexDec_Click()

    txtDec.Text = Val(―&H +txtHex.Text)

    End Sub


    txtDec mətn sahəsinə daxil edilən ədədləri əvvəlcə Val funksiyasının köməyi ilə sətri formadan ədədi formaya, sonra isə 10-luq ədədləri Oct Hex funksiyalarından istifadə etməklə sətri 8-lik və sətri 16-lıq formaya çevirməli.

    Bunun üçün:



    1. cmdDecHex_Click() hadisəvi proseduru aşağıdakı kimi yazmalı: Sub cmdDecHex_Click()

    txtHex.Text = Hex(Val(txtDec.Text))

    End Sub


    1. cmdDecOct_Click() hadisəvi proseduru aşağıdakı kimi yazmalı: Sub cmdDecOct_Click()

    txtOct.Text = Oct(Val(txtDec.Text)) End Sub

    1. Layihəni icraya buraxmalı. Soldakı mətn sahəsinə 10-luq ədəd daxil edib, 8-liyə və 16-liğa çevirməli.

    Layihəni \textbook\VB\prjVB4\ adı ilə saxlamalı.

    Asc funksiyası. Bu, sətri kodlaşdırma cədvəlindəki ədədi koda çevirir. Yəni həfin ədədi kodunu ekrana çıxarır. Asc(Sətir$) şəklində yazılır.

    Chr funksiyası. Bu, ədədi kodu simvola çevirir. Chr(Ədəd) kimi yazılır.

    İndi daxil edilən simvolu ədədi koda çevirən və simvolları ədədi kodlar üzrə çap edən layihə yaradaq.

    Bunun üçün:


    1. Yeni layihə yaratmalı. Forma üzərində txtS txtN adlı 2 mətn sahəsi və cmdS cmdT adlı iki əmr düyməsi yerləşdirməli. Asc() funksiyasından istifadə etməklə txtS mətn sahəsinə daxil ediləcək simvolun ədədi kodunu txtN mətn sahəsinə çap etməli.

    2. cmdS_Click() hadisəvi proseduru aşağıdakı kimi yazmalı:

    Sub cmdS_Click() txtN.Text = Asc(txtS.Text) End Sub
    Mənfi bir (-1) addımla işləyən sayğac düzəldib simvol kodlarını böyükdən (255) kiçiyə ardıcıl çap etməli.

    1. Bunun üçün cmdT_Click() hadisəvi prosedurunu aşağıdakı kimi yazmalı:

    Dim strA As String, N As İnteger Sub cmdT_Click()

    For N=255 To 33 Step -1

    strA = Chr(N) Print N; ; strA Next N

    End Sub


    1. Layihəni icraya buraxmalı.

    Layihəni \textbook\VB\prjVB5\ adı ilə saxlamalı.

    Riyazi funksiyalar.


    Riyazi funksiyalarda həm arqumentlər, həm də funksiyanın özü ədədi qiymətlər alır. Visual Basic dilində 12 riyazi funksiya vardır. Buraya: Sin(), Cos(), Tan(), Atn(), Sqr()108, Log(), Exp()109, Rnd()110 və s. aiddir.

    Riyazi funksiyalardan istifa etmək yuxarıda tərtib etdiyimiz Adi kalkulyator‖ layihəsinin imkanları genişləndirib onu Mündis kalkulyatoruna çevirməyə çalışaq.

    Bunun üçün:


    1. Adi kalkulyator‖ layihəsini açmalı. Formaya cmdSin, cmdCos, cmdTan, cmdSqr, cmdSt111 cmdLog düymələrini əlavə etməli. Bu düymələrin hər biri üçün hadisəvi proseduru aşağıdakı kimi yazmalı:

    2. Məsələn, qüvvətə yüksəltmə üçün cmdSt_Click() aşağıdakı kimi olacaqdır:

    Sub cmdSt_Click() txt3Dec.Text=Val(txt1Dec.Text)^Val(txt2Dec/Text) End Sub

    1. Qalan funksiyaları Visual Basic dilinin qurulmuş funksiyaları kimi, yəni Sin(), Cos(), Tan(), Sqr() və Log() şəklində daxil etməli.

    1. Layihəni icraya buraxmalı.

    232 ədədini hesablamalı. Bunun üçün 2 və 32 ədədlərini

    daxil edib, X^Y düyməsini basmaq lazımdır.

    Bu layihəni \textbook\VB\prjVB6\ adı ilə saxlamalı.


    Sətri funksiyalar.


    Sətri funksiyalarda ya arqumentlər, ya da funksiyanın özü sətri qiymət alır.

    Sətrin uzunluğunu təyin edən funksiya. Bu, Len(Sətir$) kimi yazılır və sətri ədədə çevirir. Yəni sətrdəki simvolların sayını çap edir.

    Fərz edək ki, Len funksiyasının arqumenti informatika‖ sətridir. Bu halda tam ədədli sətri yən olan intDlinaStroki = Len(informatika‖) = 11 olacaqdır.



    Sətri bölmə funksiyaları. Bunlar sətrin solundan, sağından ortasından müəyyən uzunluqda hissə, məsələn, Left$(Stroka$, Dlina$) funksiyası Stroka$ sətrinin birinci


    108 kvadrat kökalma

    109 Üstlü funksiya

    110 Təsadüfi kəmiyyətlər generatoru

    111 Bu düymənin üstündə (X^Y) göstərməli.

    simvolundan başlayaraq Dlina$ parametri qədər, Right$(Stroka$, Dlina$) funksiyası Stroka$ sətrinin son simvoldan başlayaraq Dlina$ parametri qədər, Mid$(Stroka$, Pozisiya$, Dlina$) isə Stroka$ sətrinin Pozisiya$ parametrində göstərilən simvolundan başlayaraq Dlina$ parametri qədər hissə ayırıb çap edir.

    Fərz edək ki, Stroka$ =informatika‖, bu halda, Left$ (informatika‖, 2) = in‖,



    Right$ (informatika‖, 4) = tika‖, Mid$(informatika‖, 3, 5) = forma‖ olacaqdır.

    İndi sətri kalkulyator‖ yaradaq. Bunun üçün:



    1. Forma üzərində sətr daxil etmək üçün txt1 txt2, nəticəni çap etmək üçün txt3 mətn sahələri və konketenasiya (birləşdirmə) əməlini reallaşdıran cmdCon əmr düyməsi yerləşdirməli.

    2. cmdCon_Click() hadisəvi proseduru aşağıdakı kimi yazmalı:

    Sub cmdCon_Click()

    txt3.Text = txt1.Text + txt2.Text

    End Sub


    1. Layihəni icraya buraxmalı. txt1 txt2 mətn sahələrinə sətr daxil edib, əmr düyməsini sıxmalı. Nəticə txt3 mətn sahəsində görünəcəkdir.

    İndi Mid$(stroka$, bytM,bytN) funksiyasından istifadə etməklə sətrin dəyişdirilmə- sinə baxaq.

    Bunun üçün:



    1. Forma üzərində txt1Mid, txt2Mid, bytM, bytN mətn sahələri və cmdMid əmr düyməsi yerləşdirməli.

    2. cmdMid_Click() hadisəvi proseduru aşağıdakı kimi yazmalı:

    Sub cmdMid_Click()

    txt3.Text = Mid$(txt1.Text, Val(txt1Mid.Text), Val(txt2Mid.Text)) End Sub

    1. Layihəni icraya buraxmalı.

    2. İndi sətrin uzunluğunu göstərən əməli icra etmək üçün forma üzərində cmdLen düyməsi yerləşdirməli və cmdLen_Click() prosedurunu aşağıdakı kimi yazmalı:

    Sub cmdLen_Click() txt3.Text = Len(txt1.Text) End Sub

    1. Layihəni icraya buraxmalı.

    2. İndi forma üzərində cmdAsc əmr düyməsi yerləşdirib, cmdAsc_Click() prosedurunu aşağıdakı kimi yazmalı:

    Sub cmdAsc_Click() txt3.Text = Asc(txt1.Text) End Sub

    1. Layihəni icraya buraxmalı.

    Bu layihəni \textbook\VB\prjVB7\ adı ilə saxlamalı.

    Daxiletmə və çıxarma funksiyaları.


    İnputBox112 funksiyası. Bu, verilənləri dialoq panelindən daxil etmək üçündür. Bu funksiyanın arqumentləri 3 sətirdən ibarətdir funksiyanın aldığı qiymət sətirdir: İnputBox (Dəvət$, Başlıq$,[Susma$]).

    Bu funksiya icra edilərkən ekrana mətn sahəsi olan dialoq paneli açılır. Panelin başlıq sətrində Başlıq$ arqumentinin, panelin özündə isə Dəvət$ arqumentinin qiyməti çap edilir. Üçüncü arqument Susma$ varsa, cap edilir, yoxdursa, ona aid pəncərə açılmır. Bu funksiyanın qiyməti istifadəçinin mətn sahəsinə daxil etdiyi sətrdən ibarətdir.



    MsgBox113 funksiyası. Bu funksiya xəbəri forma üzərinə deyil, xüsusi xəbərlər

    panelinə çıxarır. Bunun qiymətini hər hansı dəyişənə mənimsətmək mümkündür. MsgBox funksiyasının sintaksisi aşağıdakı kimidir:



    MsgBox(Xəbər$[,ƏdədiKod1+ƏdədiKod2][,Başlıq$])

    Xəbər$ sətri xəbərlər panelinə çıxarılır. Panelin xarici görünüşünü ƏdədiKod1+ƏdədiKod2 arqumenti təyin edir. Başlıq$ sətri panelin sərlövhəsinə çıxarılır. Kvadrat mötərizədəki arqumentlər məcburi deyillər. ƏdədiKod1 piktoqramı, ƏdədiKod2 düymələr yığımını təyin edir. Məsələn:

    ƏdədiKod1

    Piktoqram

    ƏdədiKod2

    Düymələr yığımı

    16




    0

    Ok

    32

    ?

    1

    Ok, Отмена

    48

    !

    2

    Стоп, Повтор, Пропустить

    64

    i

    3

    Да, Нет, Отмена


    112 İnputBox - Daxiletmə pəncərəsi

    113 MsgBox – Xəbərlər paneli








    4

    Да, Нет







    5

    Повтор, Отмена

    İki ədədi kodun cəmi (ƏdədiKod1+ƏdədiKod2) olan bir ədədlə eyni vaxtda həm piktoqramı, həm düymələr yığımını təyin etmək olar. Məsələn, 36 ədədinə 32+4 kimi baxmaqla, ? piktoqramını Да, Нет düymələrini panel üzərinə çıxarmaq mümkündür. Düymə basılan kimi MsgBox funksiyasının qiyməti hesablanır. Funksiyanın qiyməti basılan düymədən asılıdır. Məsələn:





    Basılan düymə

    Funksiyanın qiyməti

    OK

    1

    Отмена

    2

    Стоп

    3

    Повтор

    4

    Пропустить

    5

    Да

    6

    Нет

    7

    İndi biliyi yoxlayan layihə yaradaq. Bunun alqoritmi aşağıdakı əməliyyatları özündə birləşdirməlidir:



    Sualı ekrana çıxarmaq;

    Klaviaturadan daxil edilən cavabı yadda saxlamaq;

    Daxil ediləni düzgün cavabla müqayisə etmək və bu şərtin ödənib-ödənmə- məsindən asılı olaraq müxtəlif əməllərin reallaşdırılması.

    Əvvəlcə İnputBox MsgBox funksiyalarından istifadə etməklə biliyi yoxlanılanı qeydiyyata almağı reallaşdırmaq lazımdır.


    Biliyin yoxlanması” layihəsi


    1. Forma üzərin cmd1 düyməsi yerləşdirməli Caption xassəsi üçün Yoxlamanı başla‖ qiymətini verməli. Sonra i cmd1_Click() hadisəvi prosedurunu hazırlamalı.

    2. İnputBox funksiyası ilə adını və soyadını soruşub strA sətri dəyişəninə mənimsətməli. MsgBox funksiyasının köməyi ilə qeydiyyataalmanın nəticəsini ekrana çıxarmalı. Bu işi yerinə yetirmək üçün aşağıdakı proqram kodunu yazmalı:

    Dim strA As String, bytB As Byte Sub cmd1_Click()

    strA = inputBox (―Adınızı Soyadınızı daxil edin:‖,‖Qeydiyyat‖)

    bytB = MsgBox (Hörmətli + strA + , biliyinizin yoxlanması üçün hazırnızmı?‖, 36, Qeydiyyat bitdi)

    End Sub


    1. Layihəni icraya buraxmalı və Yoxlamanı başla yməsini basmalı. Qeydiyyat panelinin mətn sahəsində ad soyadı daxil etməli.

    2. MsgBox funksiyasının ikinci arqumenti (36) ? piktoqramını və Да, Нет düymələrini panel üzərinə çıxarır. Да düyməsi üçün bytB ədədi dəyişəninə 6, Нет düyməsi üçün 7 mənimsədilməlidir.

    3. Şərt operatorunun köməyi ilə proqramdan çıxmaq və ya yoxlamanı davam etdirmək olar. Bunun üçün: İf bytB =7 Then End yazmaq kifayətdir.

    Sual İnputBox funksiyasının köməyi ilə verilir. Cavabın düzgünlüyü İf...Then...Else şərti keçid operatorunun köməyi ilə yoxlanır. Cavabın düzgün olub-olmaması barədə informasiyanı MsgBox funksiyası ikinci arqumentin 0 qiymətində OK düyməsi ilə ekrana çıxarır.

    1. Aşağıdakı proqram kodu düzgün cavabları yığır. Yanlış cavabların sayı bytN ədədi dəyişənində yığılır:

    strC = İnputBox (1 bayt neçə bitdir?‖, Birinci sual‖)

    İf strC = 8 bit‖ Then MsgBox (Düzdür!‖, 0, Birinci sual‖) Else MsgBox (Səhvdir!‖, 0, Birinci sual‖): bytN = bytN+1

    strC = İnputBox (10-luqda 5 ədədini 2-lik say sisteminə çevirin:‖, İkinci sual‖)

    İf strC = 101‖ Then MsgBox (Düzdür!‖, 0, İkinci sual‖) Else MsgBox (Səhvdir!‖, 0, İkinci sual): bytN = bytN+1

    MsgBox (Hörmətli + strA + ‖, Siz‖ +str(bytN) + suala səhv cavab verdiniz‖, 0,

    Sorğu bitdi

    1. Layihəni icraya buraxmalı. Qeydiyyatdan keçib, suallara cavab verməli. Nəticə MsgBox funksiyasının xəbərlər panelində çap ediləcəkdir.

    Bu layihəni \textbook\VB\prjVB8\ adı ilə saxlamalı.

    Tarix və vaxt funksiyaları.


    Date funksiyası. Bu, cari tarixi Date dəyişəninə mənimsədir. Date dəyişəninin qiyməti

    #Ay/Gün/İl# kimi 3 ədəddən ibarətdir.



    Date layihəsinin proqram kodu aşağıdakı kimidir:

    Dim dtmA, dtmB As Date Sub cmd1_Click()

    dtmA = Date

    dtmB = #1/1/2007#

    Print ―Bu gün ―; dtmA

    Print ―Üçüncü minilliyin əvvəlindən ―; dtmA dtmB; gün keçmişdir‖

    End Sub


    Layihəni icraya buraxıb nəticəni ekranda görmək olar. Bu layihəni \textbook\VB\prjVB9\ adı ilə saxlamalı.

    Time$ funksiyası. String (sətri) tipli bu funksiya cari vaxtı mətn sahəsinə çıxarır. Vaxt #Saat: Dəqiqə: Saniyə# formatında verilir. Vaxtın qiymətinin dövri təzələnməsi üçün Timer obyektindən istifadə edilir. Proqramın icrası zamanı Timer obyekti forma üzərində görünmür. Bu, sistem saatının göstəricisini yoxlayır. Timer hadisəsinin dövrülüyü İnterval xassəsi ilə təyin edilir. Bu xassə millisaniyə ölçüsü ilə verilir 0-dan 65535-dək dəyişə bilir. Timer hadisəsinin hər saniyə baş verməsi üçün İnterval xassəsinə 1000 mənimsədil- məlidir.

    İndi Saniyəöən‖ layihəsini yaradaq. Bunun üçün:



    1. Timer obyektini forma üzərində yerləşdirib onu tmr1 adlandırmalı. İnterval xassəsinə 1000 ədədini mənimsətməli. Forma üzərində txtTime mətn sahəsi yaratmalı. tmr1_Timer() hadisəvi proseduru aşağıdakı proqram kodu şəklində daxil etməli:

    Sub tmr1_Timer() txtTime.Text = Time$ End Sub

    2. Layihəni icraya buraxmalı.



    Bu layihəni \textbook\VB\prjVB10\ adı ilə saxlamalı.

    Visual Basic dilinin qrafik imkanları.


    Formalar (Form) və ya qrafik pəncərələr (PictureBox) üzərində müxtəlif qrafik primitivlər114 çəkmək üçün aşağıdakı qrafik metodlardan istifadə etmək olar:

    Scale forma ya qrafik pəncərəyə koordinat sistemi miqyas daxil etməyə imkan verir: object.Scale (X1, Y1) (X2, Y2). Bu metodun X1,Y1 arqumentləri obyektin yuxarı sol, X2,Y2 isə aşağı sağ küncünün koordinatlarıdır.

    Pset verilmiş koordinata verilmiş rəngli nöqtə qoymağa imkan verir: object.Pset (X,Y) [,color]. Bu metodun X,Y arqumentləri nöqtənin koordinatları, color isə xəttin rəngidir. Color arqumentinin qiymətini aşağıdakı üsullarla:

    Rəngi təyin edən vbBlack qara, vbBlue göy, vbGreen yaşıl, vbCyan mavi, vbRed qırmızı, vbMagenta çöhrəyi (yasəməni), vbYellow sarı, vbWhite kimi 8 sabitdən biri ilə;

    Arqumenti 16 əsas rəngi ifadə edən 0-dan 15-dək nömrələrdən ibarət olan QBColor

    (number) funksiyasının köməyi ilə;



    RGB (bytRed, bytGreen, bytBlue) funksiyasının köməyi ilə vermək olar. Bu funksi- yanın arqumentləri olan hər üç parametr 0-dan 255-dək qiymətlər ala bilir. Bunların

    nəticəsi olan funksiyanın qiyməti Long tipli ədəd olmaqla 0-dan 16777215 ( 2563 1)

    diapazonunda dəyişə bilir. Yəni, rəng palitrası 16 milyondan artıq çalara malikdir. Hər bir


    rəng

    bytRe d

    256

    bytGreen

    2562

    bytBlue düsturu ilə hesablanan ədəd vasitəsilə verilir.


    Color arqumenti verilmədikdə şəkil qara rəngdə çıxır.

    Line – müəyyən rənglə rənglənmiş xətt çəkmək üçün istifadə edilir:

    Bu metod: object.Line (X1,Y1) (X2, Y2) [, color] [, B] [F] kimi verilir. X1 Y1 düzbucaqlının yuxarı sol küncnün, X2 Y2 aşağı sağ küncünün koordinatlarını, color xəttin rəngini, B bayraqcığı düzbucaqlı çəkməyi, F bayraqcığı rəngləməyi ifadə edir.



    Circle – çevrə və oval çəkir.

    Bu metod: object.Circle (X, Y), radius [, color, start, end, aspect] kimi verilir. X, Y çevrənin mərkəzinin koordinatlarını, radius çevrənin radiusunu, color çevrənin rəngini, start end şüa bucağının əvvəlini və sonunu, aspekt sıxma əmsalını göstərir.



    Qrafik metod forma (Form) obyekti tətbiq edirkən, obyektin anın yazılışında

    object sözünü yazmamaq olar.

    İndi y=sinx funksiyasınin qrafikini qurmaq üçün layihə yaradaq.



    114 primitiv - ibtidai

    Funksiyanın qrafikinin qurulması” layihəsi.


    1. Forma üzərində qrafikin qurulmasının həyata keçirilməsi üçün picGraph qrafik sahəsi yerləşdirməli.

    Proqram kodunun aydın olması üçün ona izahlar (şərhlər) daxil etmək məqsədə uyğundur. Şərhlər apostrofla başlanır.

    1. Forma üzərində cmd1 düyməsi yaratmalı və hadisəvi proseduru aşağıdakı kimi yazmalı:

    Dim sngX As Single, int As İnteger Sub cmd1_Click()

    ‗Miqyasın daxil edilməsi



    picGraph.Scale (-10, 2)-(10, -2)

    ‗Qrfikin qurulması



    For sngX = -10 To 10 Step 0.01 picGraph.PSet (sngX, Sin(sngX)) Next sngX

    ‗X oxu

    picGraph.Line (-10, 0)-(10, 0)

    For intİ = -10 To 10

    picGraph.PSet (intİ, 0) picGraph.Print intİ Next intİ

    ‗Y oxu

    picGraph.Line (0,2)-(0, -2)

    For intİ = -2 To 2

    picGraph.PSet (0, intİ) picGraph.Print intİ Next intİ

    End Sub


    1. Layihəni icraya buraxmalı və \textbook\VB\prjVB11\ adı ilə saxlamalı.

    Animasiya115. Animasiya, multiplikasiyada olduğu kimi, kadrların (şəkillərin) əvəzlənməsi prinsipi ilə yaradılır. Hərəkəti imitasiya (təqlid) edən proqram aşağıdakı mərhələlərdən ibarət olmalıdır:

    1. ekranda şəklin yaradılması;

    2. şəklin gözlə görünməsi üçün pauza yaradılması;

    3. şəklin korreksiyası (dəyişdirilməsi).

    Dairənin hərəkəti” layihəsi.


    1. Dairənin hərəkət etməsi üçün forma üzərində picAnim adlı mətn sahəsi yaratmalı.

    OX oxu üzrə hərəkəti dövrlə reallaşdıraq. Animasiya effektini almaq üçün dairəni göy rənglə rəngləyib silmək lazımdır. Rəngli dairə almaq üçün FillColor xassəsinə qiymət vermək (rəngləyəndə vbBlue, siləndə vbWhite) lazımdır. FillStule xassəsi üçün verilən qiymət Transparent (şəffaf) və Solid (tünd) ola bildiyindən, Solid vermək lazımdır.

    Dairənin hərəkət sürətini116 tənzimləmək üçün şəkilçəkmə ilə şəkli silmə arasında boş

    dövr yaradıb müvafiq sayda təkrarlamalardan istifadə etmək olar.


    1. Forma üzərində cmdStart düyməsi yaradıb onun üçün aşağıdakı hadisəvi proseduru yazmalı:

    Dim intX As Integer, lngI As Long Private Sub cmdStart_Click()

    Miqyas



    picAnim.Scale (-10, 10)-(10, -10)

    Animasiya



    For intX = -10 To 10

    Şəkilçəkmə picAnim.FillColor = vbBlue



    picAnim.Circle (intX, 0), 1, vbBlue

    Şəkli silmənin yubadılması For lngI = 1 To 10000000 Next lngI

    Şəklin silinməsi picAnim.FillColor = vbWhite


    115 Hər hansı obyektin ekranda hərəkət illüziyası

    116 Şəkillərin bir-birini əvəzetmə sürətini

    picAnim.Circle(intX, 0),1,vbWhite

    Next intX

    End Sub


    1. Layihəni Start düyməsi ilə icraya buraxmalı və \textbook\VB\prjVB12\ adı ilə saxlamalı.




        1. Visual Basic dilində ümumi prosedurlar

    Prosedurların görünmə oblastı.


    Mürəkkəb alqoritmlərin tərtibi zamanı müəyyən alt məsələlərin həllini reallaşdıran əməllər ardıcıllığını seçib ayırmaqla köməkçi alqoritmlər yaratmaq və lazım gəldikcə əsas alqoritmə çağırıb istifadə etmək məqsədəuyğun olur. Prosedur dillərdə buna alt proqram deyilir. Obyekt-istinad dillərində köməkçi alqoritmlər ümumi prosedurların köməyi ilə reallaşdırılır.

    Ümumi prosedurun müəyyən edilməsi. Hər bir ümumi prosedura unikal (təkrar olunmaz) ad (prosedurun adı) verilir və prosedurun giriş və çıxış parametrlərinin siyahısı müəyyən edilir.

    Giriş parametrlərin siyahısı dəyişənlər yığımından ibarətdir. Bunların qiymətləri prosedurun icrasından əvvəl məlum olmalıdır.

    Çıxış parametrlərin siyahısı prosedurun icrasından sonra qiymətləri bəlli olan dəyişənlər yığımından ibarətdir.

    Ümumi prosedurun sintaksisi aşağıdakı kimidir: Sub ProsedurAdı (ParametrlərSiyahısı) Proqram kodu


    End Sub


    Ümumi prosedurun çağırılması. Ümumi prosedur digər prosedur tərəfindən çağırılır.

    Ümumi prosedur ya Call operatoru ilə, ya da öz adı ilə çağırılır.



    Call operatoru ilə çağırma zamanı sintaksis aşağıdakı kimi olmalıdır:

    Call ProsedurAdı (ParametrlərSiyahısı)

    Prosedurun öz adı ilə çağırılması zamanı isə sintaksis:



    ProsedurAdı ParametrlərSiyahısı kimi, yəni, parametrlərin siyahısı mötərizəsiz yazılmalıdır.

    Download 1,13 Mb.
    1   ...   22   23   24   25   26   27   28   29   ...   63




    Download 1,13 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Visual Basic dilindəki funksiyalar

    Download 1,13 Mb.