İsa Musayev, Mətləb Əlizadə



Yüklə 1,71 Mb.
Pdf görüntüsü
səhifə8/20
tarix14.01.2017
ölçüsü1,71 Mb.
#5152
1   ...   4   5   6   7   8   9   10   11   ...   20

5.4.6. Visual Basic mühitində idarəedici quruluşlar 
Forma və idarəedici elementlərin formada yerləşdirilməsi. 
Fərz edək ki, məsələn, ―Birinci layihə‖ kimi sözlərdən ibarət mətni çap edən proqram 
əlavəsi hazırlamaq tələb olunur. 
Mətn  informasiyasının  formaya  çıxarılması  üçün  Label  (Metka),  TextBox  (Mətn 
sahəsi) idarəedici elementlərindən və Print metodundan istifadə etmək olar. 
“Qrafik interfeys yaradılması” layihəsi: 
1.
 
Visual  Basic  sistemini  işə  buraxmalı.  [File-New-Standart]  əmri  ilə  yeni  layihə 
yaratmalı. 

 
79 
2.
 
Formadakı  alətlər  panelinin  köməyi  ilə  susma  rejimində  forma  adını  -  Form1
metkanı  -  Label1,  mətn  sahəsini  -  Text1  və  əmr  düyməsini  -  Command1  daxil 
etməli. 
3.
 
Obyektin xassələri pəncərəsinin köməyi ilə aşağıdakı cədvəldə verilmiş idarəedici 
elementləri daxil etməli: 
Obyektlər sinfi 
Xassələr 
Susma rejimində qiyməti  Yeni qiyməti 
Form (forma) 
Name 
Form1 
frm1 
Caption 
Form1 
Birinci layihə 
Label (üst yazı) 
Name 
Label1 
lbl1 
Caption 
Label1 
Birinci layihə 
TextBox  
(mətn sahəsi) 
Name 
Text1 
txt1 
Text 
Text1 
Birinci layihə 
CommandButton  
(əmr düyməsi)  
Name 
Command1 
cmd1 
Caption 
Command1 
Print metodu 
 
Növbəti addım hadisəvi prosedurun proqram kodunun yaradılmasından ibarətdir. 
Obyekt  (forma  və  ya  idarəedici  element)  üzərində  mışın  sol  düyməsini  2  dəfə 
basmaqla  proqram  kodu  pəncərəsini  açmaq  lazımdır.  Açılmış  pəncərədəki  hadisəvi 
prosedurun  sərlövhəsi  boş  olur.  cmd1  düyməsi  üzərində  sol  düyməni  2  dəfə  basdıqda 
hadisəvi prosedurun sərlövhəsi cmd1_Click şəklinə düşür: 
Private Sub cmd1_Click () 
End Sub 
4.
 
cmd1 düyməsi  üzərində  mışın sol düyməsini 2 dəfə  basmaqla  cmd1_Click  () boş 
prosedurlu  proqram  kodu  pəncərəsini  açıb,  Print  metodu  prosedurunu  daxil 
etməli.  Bu  prosedurun  məzmunu  aşağıdakı  operatorlar  ardıcılığından  ibarət 
olmalıdır: 
frm1.Print ―Visual Basic dilində birinci layihə‖ 
 Layihənin ilk variantı artıq icraya hazırdır. 
5.
 
[Run-Start]  əmrini  daxil  etməli.  Bu  zaman  proqram  əlavəsinin  açılan  pəncərə-
sində  ―Birinci  layihə‖  sözləri  görünəcəkdir.  Bu  hadisə  Print  metodu  düyməsi 
üzərində sol düyməni basdıqda baş verir. 

 
80 
Formanın  rənginin  və  şriftin  parametrlərinin  verilməsi.  Layihənin  xarici  görünü-
şünü  cazibədar  etmək  üçün  obyektlərə  məxsus  görünüşü  dəyişən  xassələrin  qiymətlərini 
dəyişmək və Print metodundan istifadə etmək lazımdır. Bunun üçün: 
6.
 
frm1 formasını aktivləşdirməli. Obyekt xassələri pəncərəsində BackColor  (fonun 
rəngi) xassəsini seçməli və sol düymə ilə açılan dialoq pəncərəsində rənglər palit-
rasından bir rəng, məsələn, sarı rəng seçməli. 
7.
 
lbl1  metkasını  aktivləşdirməli.  Obyekt  xassələri  pəncərəsində  BackColor  üçün 
yaşıl  rəng,  ForeColor  (üst  yazı)  üçün  göy  rəng,  Font  (şriftin  ölçüsü)  üçün  18, 
Alignment (düzləndirmə) üçün mərkəz seçməli. 
8.
 
txt1  mətn sahəsini  aktivləşdirməli. Obyekt  xassələri pəncərəsində  ForeColor  (üst 
yazı)  üçün  qırmızı  rəng,  Font  (şriftin  ölçüsü)  üçün  14  və  kursiv,  Alignment 
(düzləndirmə) üçün mərkəz seçməli. 
9.
 
cmd1 düyməsi üzərində sol düyməni iki dəfə basmaqla Proqram kodu pəncərəsini 
açmalı və cmd1_Click() prosedurunu və Font.Size = 12 sətrini daxil etməli.  
10.
 
 Layihəni  işə  buraxdıqdan  və  Print  metodu  düyməsini  basdıqdan  sonra  qrafik 
interfeysin yeni görünüşü ekrana çıxacaqdır. 
11.
 
 Forma  faylını  [Save Form1.frm  As…]  əmri ilə frmVB1.frm  adı  ilə, layihə  faylını 
isə [Save Project As...] əmri ilə prjVB1.vbp adı ilə yaddaşa yazmalı. 
Yəni, layihəni \textbook\VB\prjVB1\ adı ilə saxlamalı. 
QEYD:  Kompüterdə  Visual  Basic  sistemi  yoxdursa,  VBA-dan  istifadə  etmək  olar. 
VBA-nı  Microsoft  Excel  elektron  cədvəlindən  çağırmaq  üçün  Excel/  Servis/  Makros  
Redaktor  Visual  Basic  marşrutu  ilə  gedib  Menu/Insert/Uzer  Form  marşrutu  ilə  forma 
pəncərəsini  açmaq  lazımdır.  Sonra  alətlər  panelindəki  A  düyməsi  ilə  metka  (Label
yaratmaq olar. Bu məqsədlə  Name bəndi üzərində sol düyməni 2 dəfə basıb  L1 metkası, 
Caption bəndində isə metkanın münasib adını daxil etmək lazımdır. Əgər yaradılan layihə 
iki  ədədin  fərqini  hesablayan  proqram  kodundan  ibarətdirsə,  münasib  ad  ―Azalan‖  ola 
bilər.  Sonra  alətlər  panelindəki  ab  düyməsi  ilə  mətn  sahəsi  (TextBox)  yaradılır.  Bunun 
üçün  Name  bəndi  sol  düymə  ilə  açılır  və  mətn  sahəsi  t1  adlandırılır.  Sonra  alətlər 
panelindəki  düyməsi ilə  Name-də L2 metkası,  Caption-da ―Çıxılan‖ (Enter), sonra ab 
düyməsi  ilə  TextBox-da  Name-də  t2  mətn  sahəsi,  sonra  A  düyməsi  ilə  Name-də  L3 
metkası,  Caption-da  ―Fərq‖  (Enter),  sonra  ab  düyməsi  ilə  TextBox-da  Name-də  t3  mətn 
sahəsi  yaradılır.  Bundan  sonra  forma  üzərində  əmr  düymələri  (Hesabla,  Təmizlə,  Son) 

 
81 
yaradılır.  Bu  məqsədlə  alətlər  panelindəki  CommandButton  düyməsini  basıb  Name-də 
cmdHes,  Caption-da  ―Hesabla‖  yazmaq  lazımdır.  Bu  qayda  ilə  Name-də  cmdTem
Caption-da  ―Təmizlə‖,  Name-də  cmdSon,  Caption-da  ―Son‖  yazılır.  Sonra  Formanın  boş 
yerində  sol  düyməni  basıb  Formaya  ad  vermək  olar.  Bunun  üçün  Name-də  FrmİEFH
Caption-da ―İki ədəd fərqinin hesablanması‖ yazıb enter basmaq lazımdır. 
 
                 
 
Bütün bu işlərdən sonra proqram kodu yazılır. Bunun üçün kod pəncərəsi açılır. Kod 
pəncərəsi cmdSon əmr düyməsi üzərində sol düymə ilə açılır. Bu zaman kod pəncərəsində: 
Private Sub cmdSon_Click() 
 
End Sub 
yazısı  çıxır.  ―Son‖  düyməsinə  aid  prosedurun  icrası  üçün  bu  yazı  end  operatoru  ilə 
tamamlanmalıdır. Yəni: 
 Private Sub cmdSon_Click() 
end 
End Sub 
Sonra  Forma(object)  pəncərəsinə  keçib  ―Təmizlə‖  prosedurunu  hazırlayırıq.  Yəni, 
cmdTem əmr düyməsi üzərində sol düyməni 2 dəfə basıb kod pəncərəsini açıb proseduru 
aşağıdakı kimi yazırıq: 
Private Sub cmdTem_Click() 
t1=” “ 

 
82 
t2=” “ 
 
t3=” “ 
End Sub 
Sonra Forma(object) pəncərəsinə keçib ―Hesabla‖ prosedurunu hazırlayırıq. Yəni, cmdHes 
əmr düyməsi üzərində sol düyməni 2 dəfə basıb kod pəncərəsini açıb proseduru aşağıdakı 
kimi yazırıq: 
Option Explickt 
Dim a, b, c As Single 
Private Sub cmdHes_Click() 
a=Val(t1) 
b=Val(t2) 
c=a-b 
t3=str(c) 
End Sub 
Sonra Run və ya F5 düyməsi ilə layihəni icraya buraxırıq. Sonra ―Son‖ düyməsini basıb, 
işi  bitiririk.  Sonra  Excel  faylına  ad  verib  yadda  saxlayırıq.  Sonra  Сервис-də  Защита-
Параметры-Безопасность-Средняя  marşrutu  ilə  Excelin  müdafiə  rejimini  orta 
səviyyəyə  endirməli.  Sonra  Servis-Redaktor  Visual  Basic-  ok  marşrutu  ilə  formanı  açıb 
F5-lə  işləmək  olar.  Sonra  isə  Сервис-də  Защита-Параметры-Безопасность-Высокая 
marşrutu ilə Excelin müdafiə rejimini bərpa etmək lazımdır. Əgər növbəti açılışda forma 
görünməzsə,  Alt+F11  düyməsi  ilə  module  bəndinə  keçmək  və  sonra  Play  bəndi  ilə 
layihəni  işlətmək  olar.  Ən  yaxşısı  Excel  səhifəsində  Forma  açan  düymə  yaratmaqdır. 
Bunun üçün modulda: 
Sub Кнопка1_Щелкнут() 
IEFH.Show 
End Sub 
Yazmaq kifayətdir. 
 
5.4.7. Dəyişənin tipi, adı və qiyməti 
Prosedur dillərində olduğu kimi, obyekt-istinad dillərində, o cümlədən, Visual Basic 
dilində də dəyişənlər mühüm rol oynayır. Dəyişənlər verilənləri saxlamaq və emal etmək 
üçündür. 

 
83 
Dəyişənlərin hər biri öz adı ilə verilir. Bu ad dəyişənin qiymətinin saxlandığı yaddaş 
oblastını göstərir. Dəyişənin qiyməti müxtəlif tip verilənlər ola bilər. 
Dəyişənin  tipi.  Dəyişənin tipi verilənin tipinə  görə təyin edilir.  Ədədi tip dəyişənin 
qiyməti  ədəddir  (Byte,  İnteger,  Long,  Single,  Double).  Məntiqi  tip  dəyişənin  (Boolean
qiyməti True (doğru) və ya False (yalan), sətri tip dəyişənin (string) qiyməti isə simvollar 
ardıcıllığıdır və s. 
Dəyişənin tipi açar sözdür. Buna görə də bunlar digər sözlərdən seçilməlidir.  
Müxtəlif dəyişən (verilən) tipləri üzərində müxtəlif əməllər
103
 icra edilir. Müxtəlif tip 
verilənlər yaddaşda müxtəlif həcmdə yaddaş sahəsi tutur.  
Dəyişənin adı. Hər bir dəyişənin adı (identifikatoru) yeganədir və o, proqramın gedişi 
prosesində dəyişə bilməz. Dəyişənin adı müxtəlif simvollardan (latın və rus hərflərindən, 
rəqəmlərdən və s.) təşkil edilə bilər. Lakin dəyişənin adı yalnız hərflə başlamalıdır və adda 
nöqtə  işarəsindən istifadə etmək  olmaz.  Adın uzunluğu 255 simvoldan  çox olmamalıdır. 
Ədədi  dəyişəni,  məsələn,  A  və  ya  Число  adlandırmaq,  sətri  dəyişəni  A  və  ya  Строка 
adlandırmaq  mümkündür.  Visual  Basic  dilində  tam  ədədi  dəyişənin  adı  intA  və  ya  
intЧисло, sətri dəişənin adı strA və ya strСтрока kimi yazılır. 
Dəyişənin  tipinin  elan  edilməsi.  Həm  proqramçı,  həm  də  kompüter  bilməlidir  ki, 
dəyişənin tipi hansıdır. Buna görə də dəyişənin tipi elan edilir. Bunun üçün dəyişəni təyin 
edən  operatordan  istifadə  edilir.  Bu  operatorun  sintaksisi  aşağıdakı  kimidir:  Dim 
Dəyişənin Adı [As ТипПеременной]. 
Bir operatorla bir neçə dəyişəni elan etmək olar: 
Dim intЧисло As İntegerstrСтрока  As String
Proqramın icrası gedişində qiyməti dəyişməyən dəyişənə sabit deyilir. Bu, belə elan 
edilir: Const ИмяКонстанты [As Тип] = ЗначениеКонстанты. 
 
5.4.8. Hesabi, sətri və məntiqi ifadələr. Mənimsətmə 
Dəyişənlərdən hesabi, sətri və məntiqi ifadələr yaratmaq mümkündür. 
Hesabi  ifadələr.  Hesabi  ifadələrin  tərkibinə  ədədi  dəyişənlərlə  yanaşı,  həm  də 
bilavasitə ədədlər daxil ola bilər. Dəyişənlər və ədədlər üzərində müxtəlif hesabi əməllər, 
həmçinin funksiyaların köməyi ilə ifadə edilmiş riyazi əməllər icra edilir. Hesabi ifadələrin 
                                                 
103
ədədi dəyişənlər üzərində hesabi əməllər, məntiqi dəyişənlər üzərində məntiqi əməllər və s.
  

 
84 
hesablanması ardıcıllığı məlum qayda üzrə, mötərizə daxilində qüvvətə yüksəltmə, vurma, 
bölmə, toplama və cıxma ardıcıllığı ilə aparılır.  
Sətri  ifadələr.  Sətri  ifadələrin  tərkibinə  sətri  dəyişənlər,  sətrlər  və  sətri  funksiyalar 
daxil  olur.  Dırnaq  arasında  verilmiş  ixtiyari  simvollar  ardıcıllığı  sətr  adlanır.  Məsələn, 
―informatika‖, ―2000‖, ―2+2‖. 
Sətri dəyişənlər və sərtlər üzərində konkatenasiya
104
 əməli icra edilir. Konkatenasiya 
əməli ―+‖ işarəsi ilə təsvir edilir və bunun nəticəsində iki sətir bir sətrə çevrilir. 
Məntiqi  ifadələr.  Məntiqi  ifadələrin  tərkibinə,  məntiqi  dəyişənlərlə  yanaşı,  ədədlər, 
bir-biri ilə müqayisə edilən
105
 ədədi və sətri dəyişənlər daxil ola bilər.  
Məntiqi ifadələr yalnız iki qiymət ala bilir: ―doğru‖ və ―yalan‖. Məsələn: 
5>3 – doğru; 2*2=5 – yalan. 
Məntiqi ifadələrin elementləri üzərində məntiqi vurma (And) və məntiqi toplama (Or
əməlləri aşağıdakı kimi icra edilir: 
(5>3) And (2*2=5) – yalan 
(5>3) Or (2*2=5) – doğru  
Dəyişənlərə qiymətlərin mənimsədilməsi. Dəyişənin qiymətini mənimsətmə operato-
runun köməyi ilə daxil etmək mümkündür. Bu operatorun sintaksisi aşağıdakı kimidir: 
[Let] DəyişəninAdı = İfadə 
Adətən Let açar sözü yazılmır. Bu sözü = işarəsi əvəz edir.  
İndi bu deyilənlərdən istifadə edərək, müxtəlif dəyişənlər üzərində müxtəlif əməllər 
icra edən ―Dəyişənlər‖ layihəsi tərtib etməyə çalışaq. 
1.
 
Yeni  layihə  yaratmalı.  Qrafik  interfeys  yaratmaq  üçün  forma  (frm1)  üzərində  əmr 
düyməsi  (cmd1)  yerləşdirməli.  Fərz  edək  ki,  proqramda  arqument  kimi  iştirak  edən 
dəyişənlər tam ədədlərdir: (intA) və (intB). Nəticələr mənfi olmayan tam dəyişən:  bytC , 
birqat dəqiqlikli həqiqi dəyişən: sngD  ikiqat dəqiqlikli həqiqi dəyişəndir: dblE. 
2.
 
Proqramda istifadə edilmək üçün dəyişənləri elan etməliDim intA, intB As İnteger, 
bytC  As  Byte,  sngD  As  Single,  dblE  As  Double.  Bundan  sonra  hadisəvi  prosedur 
hazırlanmalıdır.  Bunun  üçün  obyekt  olaraq  cmd1  düyməsi,  hadisə  olaraq  düymənin 
basılması – Click() seçməli.  
                                                 
104
 
sətri birləşdirmə
 
105
 
>, <,  =,  >=, <= və s.
 

 
85 
3.
 
cmd1  düyməsini  dalbadal  2  dəfə  basmaqla  Proqram  kodu  pəncərəsində  aşağıdakı 
hadisəvi proseduru hazırlamalı:  
Sub cmd1_Click()  
End Sub 
İndi  A  ədədini  B-yə  bölən  alqoritmi  reallaşdıran  proqram  modulunu  işləyib 
hazırlamaq lazımdır: 
1.
 
intA və intB parametrlərinə konkret qiymətlər verməli; 
2.
 
Bölmənin nəticəsini bytCsngD və dblE dəyişənlərinə mənimsətməli; 
3.
 
Nəticələri, yəni, bytCsngD və dblE dəyişənlərinin qiymətlərini formada çap etməli. 
4.
 
Proqram kodu pəncərəsində ilk hadisəvi proseduru aşağıdakı şəkildə tərtib etməli: 
Dim intA, intB As İnteger, bytC As Byte, sngD As Single, dblE As Double 
Sub cmd1_Click() 
intA = 2 
intB = 3 
bytC = intA / intB 
sngD = intA / intB 
dblE = intA / intB 
frm1. Print bytC, sngD, dblE 
End Sub 
 
İndi  sətr  və  sətri  dəyişənləri  birləşdirən  (konkatenasiya  edən)  hadisəvi  proseduru 
hazırlamaq lazımdır. Bunun üçün: 
5.
 
frm1  forması  üzərində  cmd2  əmr  düyməsi  yerləşdirməli.  Yaradılacaq  hadisəvi 
prosedurda  obyekt  cmd2  düyməsi,  hadisə  isə  Click()  olacaqdır.  Bundan  sonra  sətri 
dəyişənləri elan etmək və bunları birləşdirmək lazımdır. Bunun üçün: 
6.
 
Proqram kodu pəncərəsində ikinci hadisəvi proseduru yazmaq lazımdır: 
Dim strA, strB As String 
Sub cmd2_Click() 
strA=‖forma‖ 
strB=‖in‖+strA+‖tika‖ 
frm1.Print strB 
End Sub  

 
86 
İndi  də  məntiqi  dəyişənlər  üzərində  məntiqi  əməllər  icra  edən  hadisəvi  prosedur 
hazırlayaq. 
7.
 
frm1  forması  üzərində  cmd3  əmr  düyməsi  yerləşdirməli.  Yaradılacaq  hadisəvi 
prosedurda  obyekt  cmd3  düyməsi,  hadisə  isə  Click()  olacaqdır.  Bundan  sonra  məntiqi 
dəyişənləri  elan  etmək,  bunları  müqayisə  etmək,  məntiqi  vurma  əməlini  icra  etmək 
lazımdır. Bunun üçün: 
8.
 
Proqram kodu pəncərəsində üçüncü hadisəvi proseduru yazmaq lazımdır: 
Dim blnA, blnB, blnC As Boolean 
Sub cmd3_Click() 
blnA = 5 > 3 
blnB = 2*2 = 5 
blnC = blnA And blnB 
frm1. Print blnC 
End Sub  
9.
 
Layihəni  işə  buraxdıqdan  sonra  ekranda  onun  qrafik  interfeysi  görünəcəkdir
Buradakı əmr düymələrini basmaqla müvafiq əməliyyatın icra nəticələrini forma üzərində 
almaq  mümkün  olacaqdır.  Belə  ki,  birinci  hadisəvi  prosedur  icra  edildikdə  bölmənin 
nəticələri  müxtəlif  dəqiqliklə  ekrana  çıxacaqsa,  ikinci  hadisəvi  prosedur  ―informatika‖ 
sözünü ekrana çıxaracaq, üçüncü prosedur isə ekrana False (yalan) sözünü çap edəcəkdir.  
Layihəni \textbook\VB\prjVB2\ adı ilə saxlamalı. 
 
5.4.9. Proqram layihəsinin kompüterdə icrası 
İnterpretator və kompilyatorlar. 
Prosessorun proqramı icra edə bilməsi üçün proqram və verilənlər operativ yaddaşa 
yüklənməlidir. Bundan əvvəl operativ yaddaşa yüklənmiş tərcüməçi proqram (translyator
yüksək  səviyyəli  proqramlaşdırma  dilində  yazılmış  proqram  mətnini  avtomatik  olaraq 
maşın dilinə, prosessorun anladığı dilə tərcümə edir. Translyatorlar 2 tip olur: interpreta-
torlar və kompilyatorlar.  
İnterpretator yüksək səviyyəli dildə yazılmış proqram əmrlərini ardıcıl olaraq maşın 
dilinə  tərcümə  edib  icraya  buraxan  proqramdır.  İnterpretatopun  üstün  cəhəti  odur  ki, 
proqramdakı səhvi tapmağa imkan verir. Nöqsanı isə yavaş işləməsidir. 

 
87 
Kompilyator bir qədər başqa cür işləyir. O, proqram mətnini bütövlükdə tərcümə edib 
exe  fayla  çevirir  ki, bu  da  icraya  tam  hazır  olur.  Bundan  sonra  həmin  proqramı  istənilən 
qədər işlətmək olar. Kompilyator cəld işləsə də, proqramdakı səhvi tapmağa imkan vermir. 
Müasir  proqramlaşdırma  sistemləri,  o  cümlədən,  Visual  Basic  həm  interpretatorla, 
həm də kompilyatorla işləməyə imkan verir. Proqramın  tərtibi mərhələsində interpretator 
rejimindən, bütün səhvlər aradan qaldırıldıqdan sonra isə kompilyator rejimindən istifadə 
edilir.  
Proqramın  icrası  prosesi.  Bu  prosesi  yuxarıda  baxdığımız  ―Dəyişənlər‖  layihəsi 
timsalında nəzərdən keçirək.  
Proqram mətninin operativ yaddaşa yüklənməsi. Proqram mətni operativ yaddaşa ya 
klaviaturadan daxil edilir, ya da vinçesterdən yüklənir. Proqram mətni yaddaşda müəyyən 
miqdarda, məsələn İ-ci yuvadan İ+K-cı yuvayadək yer tutur.  
Proqramın  maşın  dilinə  tərcümə  edilməsi.  Proqramçının  yüksək  proqramlaşdırma 
dilində,  məsələn,  Visual  Basic  dilində  tərtib  etdiyi  proqramı  prosessorun  anlaması  üçün 
yaddaşda Visual Basic dilindən tərcüməçi-translyator olmalıdır. Proqram operativ yaddaşa 
oxunarkən bu translyator orada müəyyən yaddaş sahəsi zəbt edir, məsələn, N-ci yuvadan 
N+M-ci yuvayadək yer tutur.  
Proqramın  icrası.  Proqramı  işə  buraxdıqdan  sonra  prosessor  proqramdakı 
operatorları  (əmrləri)  ardıcıl  oxuyub,  icra  edir.  Dəyişənlərin  elan  edilməsi  operatorunun 
(Dim) icrası prosesində operativ yaddaşda  intA və intB  tamədədli dəyişənlərinin hər biri 
üçün 2 yuva, mənfi olmayan tamədədli bytC dəyişəni üçün 1 yuva, birqat dəqiqlikli sngD 
dəyişəni  üçün  4  yuva,  ikiqat  dəqiqlikli  dblE  dəyişəni  üçün  8  yuva,  strA  və  strB  sətri 
dəyişənlərinin  hər  biri  üçün  onların  qiymətlərindəki  simvolların  sayı  qədər  yuva,  blnA
blnB,  blnC  məntiqi  dəyişənlərinin  hər  biri  üçün  2  yuva  ayırır.  Beləliklə,  verilənlərin 
yaddaşda  saxlanması  üçün  müəyyən  yaddaş  sahəsi,  məsələn,  1-ci  yuvadan  39-cu 
yuvayadək yer ayrılır.  
Bu, aşağıdakı cədvəldəki kimidir: 
Dəyişənlərin adı 
Operativ yaddaş 
yuvalar 
qiymətlər 
intA 
1-2 

intB 
3-4 


 
88 
bytC 


sngD 
6-9 
0,6666667 
dblE 
10-17 
0,66666686534882 
strA 
18-22 
Forma 
strB 
23-33 
Informatika 
blnA 
34-35 
True 
blnB 
36-37 
False 
blnC 
38-39 
False 
... 
 
İ 
Proqram kodu 
 
İ+K 
 
... 
 

Proqramlaşdırma dilinin translyatoru 
 
N+M 
 
... 
 
Sonra  mənimsətmə  operatorunun  icrasına  keçilir.  Bu  zaman  operativ  yaddaşa 
dəyişənin qiyməti
106
 yazılır.  
Sonra  Print  metodunun  köməyi  ilə  dəyişənlərin  qiymətləri  proqramın  qrafik 
interfeysini  reallaşdıran  forma  üzərinə  çıxarılır.  Bu  prosesdə  dəyişənlərin  qiymətləri 
yaddaşdan oxunur və monitor ekranında işıqlandırılır. 
 
5.4.10. Visual Basic dilində dialoq pəncərələri və fayllarla iş 
Visual Basic dilindəki funksiyalar.  
Proqramlaşdırma  dilindəki  funksiya  anlayışı  riyaziyyatdakı  funksiya  anlayışına 
yaxındır.  Funksiyanın  bir  və  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
 

 
89 
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ı  və  s.  Funksiyanın  tipi  arqumentin  və  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,  sətrin  qiymətini  ədədə  çevirir.  Val  (Sətir$)  kimi  yazılır.  Yəni 
bunun arqumenti sətir, qiyməti isə ədəddir. Məsələn,  Val (―2012‖) funksiyasının qiyməti 
2012-dir. Bu funksiya mətn sahələrinin Text xassəsinin sətri qiymətlərini ədədə çevirmək 
və onların üzərində hesabi əməllər aparmaq üçün istifadə edilir.  
İndi  Val  funksiyasından  istifadə  etməklə,  ―adi  kalkulyator‖  proqram  əlavəsi  yarat-
mağa çalışaq. Bu proqram əlavəsi 10-luq tam ədədlər üzərində hesab əməlləri icra etməli 
və nəticələri formanın mətn sahələrinə çıxarmalıdır. Sözü gedən proqram əlavəsinin qrafik 
interfeysini  yaratmaq  üçün  forma  üzərində  3  mətn  sahəsi
107
  və  toplama,  çıxma,  vurma, 
bölmə və işin bitməsi kimi əməlləri reallaşdı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  və  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. 
2. Hər bir düymə üçün hadisəvi prosedur proqramı tərtib etməli
3.  Mətn  sahələrinin  Alignement  (düzləndirmə)  xassəsi  üçün  Right  Justufy  qiyməti 
verilməlidir
4.  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
 

 
90 
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-lıq say 
sistemində  isə  &H  sözönü  ilə  verilir.  Məsələn,  Val  (―&O3720‖)  və  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 layihə  yaratmalı. Forma  üzərində  ədədləri daxil  etmək  və nəticəni  çıxarmaq 
üçün  txtDectxtOcttxtHex adlı 3 mətn sahəsi və cmdDecOctcmdDecHexcmdOctDec 
və cmdHexDec adlı 4 əmr düyməsi və mətn sahələri üzərində izahedici metkalar (lblDec
lblOct,  lblHex)  yaratmalı.  txtOct  və  txtHex  mətn  sahələrinə  sətri  formada  daxil  ediləcək 
ədədlərə  konkatenasiya  (sətrlərin  birləşdirilməsi)  əməlinin  tətbiqi  ilə  ―&O‖  və  ―&H‖ 
sözönlərini birləşdirməli. Alınmış 8-lik və ya 16-lıq ədədləri Val funksiyasından istifadə 
etməklə sətri formadan 10-luq ədədi formaya çevirməli. 
2. cmdOctDec_Click() hadisəvi proseduru aşağıdakı kimi yazmalı: 
Sub cmdOctDec_Click() 
 
txtDec.Text = Val(―&O‖ +txtOct.Text) 
End Sub 
3cmdHexDec_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 və Hex  funksiyalarından istifadə 
etməklə sətri 8-lik və sətri 16-lıq formaya çevirməli. 
Bunun üçün: 
4cmdDecHex_Click() hadisəvi proseduru aşağıdakı kimi yazmalı
Sub cmdDecHex_Click() 
 
txtHex.Text = Hex(Val(txtDec.Text)) 

 
91 
End Sub 
5cmdDecOct_Click() hadisəvi proseduru aşağıdakı kimi yazmalı
Sub cmdDecOct_Click() 
 
txtOct.Text = Oct(Val(txtDec.Text)) 
End Sub 
6Layihə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 və txtN adlı 2 mətn sahəsi və cmdS və 
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. 
3. Bunun üçün cmdT_Click() hadisəvi prosedurunu aşağıdakı kimi yazmalı
Dim strA As StringN As İnteger 
Sub cmdT_Click() 
For N=255 To 33 Step -1 
strA = Chr(N) 
Print N; ― – ―; strA 
Next N 
End Sub 

 
92 
4. 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  istifadə  etməklə  yuxarıda  tərtib  etdiyimiz  ―Adi  kalkulyator‖ 
layihəsinin imkanlarını genişləndirib onu ―Mühəndis kalkulyatoru‖na çevirməyə çalışaq. 
Bunun üçün: 
1. ―Adi kalkulyator‖ layihəsini açmalı. Formaya cmdSincmdCoscmdTancmdSqr
cmdSt
111
  və  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 
3.  Qalan  funksiyaları  Visual  Basic  dilinin  qurulmuş  funksiyaları  kimi,  yəni  Sin(), 
Cos(), Tan(), Sqr() və Log() şəklində daxil etməli
4. Layihəni icraya buraxmalı
32
2
ə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 dəyişən olan intDlinaStroki = Len(―informatika‖) = 11 olacaqdır. 
Sətri  bölmə  funksiyaları.  Bunlar  sətrin  solundan,  sağından  və  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. 

 
93 
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  və  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 
3.  Layihəni  icraya  buraxmalı.  txt1  və  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: 
4.  Forma  üzərində  txt1Mid,  txt2Mid,  bytM,  bytN  mətn  sahələri  və  cmdMid  əmr 
düyməsi yerləşdirməli
5. cmdMid_Click() hadisəvi proseduru aşağıdakı kimi yazmalı
Sub cmdMid_Click() 
txt3.Text = Mid$(txt1.TextVal(txt1Mid.Text), Val(txt2Mid.Text)) 
End Sub 
6. Layihəni icraya buraxmalı.  
7.  İ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 
8. Layihəni icraya buraxmalı

 
94 
9.  İ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 
10. Layihəni icraya buraxmalı.  
Bu layihəni \textbook\VB\prjVB7\ adı ilə saxlamalı. 
Daxiletmə və çıxarma funksiyaları. 
İnputBox
112
  funksiyası.  Bu,  verilənləri  dialoq  panelindən  daxil  etmək  üçündür.  Bu 
funksiyanın  arqumentləri  3  sətirdən  ibarətdir  və  funksiyanın  aldığı  qiymət  də  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. 
MsgBox
113
  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 
 

Ok 
32 


Ok, Отмена 
48 


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


Да, Нет, Отмена 
                                                 
112
 İnputBox - Daxiletmə pəncərəsi 
113
 MsgBox – Xəbərlər paneli 

 
95 
 
 

Да, Нет 
 
 

Повтор, Отмена 
 
İki  ədədi  kodun  cəmi  (ƏdədiKod1+ƏdədiKod2)  olan  bir  ədədlə  eyni  vaxtda  həm 
piktoqramı, həm də 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ı  və  Да,  Нет  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 

Отмена 

Стоп 

Повтор 

Пропустить 

Да 

Нет 

 
İ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  və  MsgBox  funksiyalarından  istifadə  etməklə  biliyi  yoxlanılanı 
qeydiyyata almağı reallaşdırmaq lazımdır. 
“Biliyin yoxlanması” layihəsi 
1. Forma üzərində cmd1 düyməsi yerləşdirməli və Caption xassəsi üçün ―Yoxlamanı 
başla‖ qiymətini verməli. Sonra isə cmd1_Click() hadisəvi prosedurunu hazırlamalı. 

 
96 
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ı və Soyadınızı daxil edin:‖,‖Qeydiyyat‖) 
bytB = MsgBox (―Hörmətli ― + strA + ―, biliyinizin yoxlanması üçün hazırsınızmı?‖, 
36, ―Qeydiyyat bitdi‖) 
End Sub  
3.  Layihəni  icraya  buraxmalı  və  ―Yoxlamanı  başla‖  düyməsini  basmalı.  Qeydiyyat 
panelinin mətn sahəsində ad və soyadı daxil etməli.  
4.  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. 
5.  Şə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. 
6. 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-luqdakı 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‖ 
7.  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. 

 
97 
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 və 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əölçə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ı. 

 
98 
Formalar  (Form)  və  ya  qrafik  pəncərələr  (PictureBox)  üzərində  müxtəlif  qrafik 
primitivlər
114
 çəkmək üçün aşağıdakı qrafik metodlardan istifadə etmək olar: 
Scale  –  forma  və  ya  qrafik  pəncərəyə  koordinat  sistemi  və  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 – ağ 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 (bytRedbytGreenbytBlue) 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  (
1
256
3

diapazonunda dəyişə bilir. Yəni, rəng palitrası 16 milyondan artıq çalara malikdir. Hər bir 
rəng 
bytBlue
bytGreen
d
byt
2
256
256
Re
  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 və Y1 
düzbucaqlının  yuxarı  sol  küncnün,  X2  və  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. XY 
çevrənin  mərkəzinin  koordinatlarını,  radius  çevrənin  radiusunu,  color  çevrənin  rəngini, 
start və end şüa bucağının əvvəlini və sonunu, aspekt sıxma əmsalını göstərir.  
Qrafik metod ―forma‖ (Form) obyektinə tətbiq edilərkən, obyektin adının yazılışında 
object sözünü yazmamaq olar. 
İndi y=sinx funksiyasınin qrafikini qurmaq üçün layihə yaradaq. 
                                                 
114
 primitiv - ibtidai 

 
99 
“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. 
2.  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 
3. Layihəni icraya buraxmalı və \textbook\VB\prjVB11\ adı ilə saxlamalı. 

 
100 
Animasiya
115
.  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ətini
116
 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. 
2. 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
 

 
101 
picAnim.Circle(intX, 0),1,vbWhite 
Next intX 
End Sub 
3.  Layihəni  Start  düyməsi  ilə  icraya  buraxmalı  və  \textbook\VB\prjVB12\  adı  ilə 
saxlamalı. 
Yüklə 1,71 Mb.

Dostları ilə paylaş:
1   ...   4   5   6   7   8   9   10   11   ...   20




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin