Процедуралар


Білім мен білікке қойылатын талаптар: Студенттер процедура түсінігін, процедураны сипаттауға қойылатын талаптарды, процедураның көріну аймағын білуі керек; процедураларды оқиғаларды өңдеу үшін қолдана білуді, қолданушы процедураларын қолдануды, бағдарламаның коды терезесінде жұмыс істеуді білуі керек.

Бағдарламалау барысында біріншіден оңай күйін келтіруге, ал екіншіден басқа процедураларды құғанда қолданылатын, бағдарламалық кодты кішірек логикалық бөліктерге бөлуге мүмкіндік беретін процедуралар кеңінен қолданылады. Visual Basic-те процедураның келесі түрлері берілген:

  •   Sub
  •   Function
  •  Property

Sub процедурасы мәнін қайтармайды және онымен байланысты оқиғаны өңдеуе жиі қолданылады. Оны стандартты модулдерге, модулдер және формалар кластарына орналастыруға болады.

Оның синтаксисі мына түрде болып келеді:

[Private] [Public] [Static] Sub Процедура аты (аргументтер)

операторлар

End Sub

Sub және End Sub қызметші сөздерінің арасына процедурада оны шақырған кезде орындалатын бағдарламалық код операторлары орналасады.  Sub процедуралары жалпы және оқиғалар процедуралары болып бөлінеді. Жалпы процедуралар оқиғаларды өңдегенде қолданылатын процедураларға орналастырылатын, қайталанатын операторлар үшін қолданылады, сондай-ақ оларды жүктеу барысында және төлнұсқалағанда көп кездесетін кодтарынан басқа, өзінің кезегінде қолданбаның жұмысын жеңілдетеді.

   Оқиғаларды өңдейтін процедуралар Visual Basic пішімдерінде орналасқан объектілермен немесе пішімнің өзімен байланысқан және өздерімен байланысқан оқиға басталуымен ғана орындалады. Формамен байланысқан Sub процедурасының оқиғағасы үшін келесі синтаксис берілген:

Private Sub Form_оқиғаның аты (аргументтер)

операторлар

End Sub

   Синтаксисте көрсетілгендей, оқиғаны өңдеу прцедуралары атауында Form сөзінен тұрады, содан кейін барып (_) символы және оқиға орналасқан. Мысалы, форманы жүктегенде орындалатын процедура аты, Form_Load болады, ал «тышқанды» шерту арқылы орындалатын процедура үшін формада Form_Click  деп беріледі.

   Форманы басқару элементімен байланысты оқиға үшін, Sub оқиғасын өңдеу процедурасы үшін келесі синтаксис берілген:

Private SubБасқару элементтің аты _Оқиға аты (аргументтер)

Операторлар

End Sub

   Visual Basic ортасында процедураларын жазу үшін өте қуатты редактор бағдарламаның бастапқы кодын ендіруге ыңғайлы енгізетін құралдары бар код редакторы пайдаланылады. Ол терезеге өтудің бірнеше әдістері бар:

  • жоба бағыттауышы терезесінің басқару панеліндегі      батырмаға шерту арқылы;
  •  View(Вид) Code (Код) командасы арқылы;
  •  Формадағы компонентті немесе форманың өзін екі рет шерту арқылы.

Project терезесінің жоғары жағында ашылатын екі тізім орналасқан: Object (Объект) және Procedure (Прцедура). Сол жақ тізім Object секциялар арасынан ауысуға мүмкіндік береді. Стандартты модуль үшін Object тізімінің жалпы секциясынан тұрады.


Класс модулінде бұл тізім жалпы және класс секцияларынан тұрады. Object  пішімі тізімі, секциясы үшін жалпы секциядан, сондай-ақ объектілер пішімінде орналастырылған секциялардан тұрады.

Object тізімінен таңдалған әрбір секция үшін, Procedure оқиғалардан тұратын код редакторы терезесінің тізімінің көмегімен қатынасатын процедура құруға болады. Object тізімінен (General) модулі секциясын таңдаған кезде Procedure тізімі DLL кітапханасын және тұрақтыларды, жергілікті айнымалыларды сипаттауға мүмкіндік беретін тек қана жалғыз Declarations (Жарнама) мәнінен тұрады.

Visual Basic – те бағдарламалық кодтарды жазудың жеңілдігі редактор жасақтаушыға автоматты түрде қажетті операторлар тізімін, функцияларды, объектілер қасиеттерін ұсынады. Мысалы, пішінннің басқару элементтерінің атауын енгізу барысында экранда сол объектінің қасиеттер тізімі пайда болады. (5.9 - сурет). Сендерге тізімдегі қажетті қасиеттке тышқанды екі рет шерту жергілікті, ол бағдарламалық код орналастырады.

Visual Basic редакторы қолданушыға оператор мен функцияларды жазу барысында синтаксистік көмекті ұсынады. Олар экранда операторлар мен функциялардың атауын енгізу барысында меңзердің астынан шығады.

Function процедурасының Sub процедурасынан айырмашылығы ол шақырылған процедураға мәнін қайтарады. Function процедурасының синтаксисі келесі түрде беріледі:

[Private] [Public] [Static] Function (Процедура аты, аргументтер) [As type]

Операторлар

Function

Function процедурасының As қызметші сөзі тағайындалатын айнымалылар сияқты типі бар. Егер процедураның типі тағайындалмаса, алғашқы келісім бойынша ол Variant типін меншіктейді. Процедураның типі өз кезегінде кезегінде оның қайтарылатын мәнінің типімен анықталады. Қайтарылатын процедура мәні процедураның атын меншіктейді. Процедуралар Visual Basic стандартты функцияларының баламасы ретінде бағдарламалық кодтың өрнектерінде қолданылады.

Шаршының ауданың есептейтін процедураны қарастырайық.

Function Square (A As Integer) As Long

Square=A^2

End Function

Бұл процедураны шақыру үшін пішінде мына кодты пайдалануға болады:

Private Sub Text1_Change ( )

Text2.Text=Square(Text1.Text)

End Sub

Процедураны шақыру

Sub процедурасы мәнді қайтармайды, бірақ ол оның параметрі ретінде тағайындалған параметрлер ретінде айнымалы мәні өзгертуі мүмкін. Sub процедурасын екі түрлі әдіспен шақыруға болады. Бірінші әдісі Call қызметші сөзін қолдану арқылы. Мысалы,  Nameproc атты процедураны мына оператормен шақыруға болады:

Call NameProc (аргумент1, аргумент2,...аргументтер)

Екінші тәсіл Sub процедурасын атымен шақыруға мүмкіндік береді. Мысалы,

NameProc аргумент1, аргумент2,...аргументтер

Пішін модулінің процедурасының шақырғанда басқа модульден процедурада орналасатын пішін модулінің атауына сілтеме көрсету қажет. Мысалы, Form1 пішіні модулінде орналасқан Nameproc атты процедураны шақыру үшін мына оператор мына түрде беріледі:

Call Form1.NameProc(аргумент1, аргумент2, ...аргументМ)

Function процедурасын шақыру Visual Basic-ке енгізілген функцияларды шақыру сияқты орындалады.

1 мысал. Үш санның квадраттарының қосындысын табатын программа құрындар. Нәтижесін пішінге шығарындар. Нәтижені пішінге шығару үшін келесі сабақта айтылатын форманың Print әдісін қолданады.

Dim b,c, d, y As Long

санның квадраттарының қосындысын табатын процедура

Sub Square (A, S As Long)

S=A^2

End Sub

 

Private Sub Form_Click( )

d=5

S=S+y

b=4

Call Square(b, y)

S=S+y

c=6

Call Square(c, y)

S=S+y

Print санның квадраттарының қосындысы

Print d, b, c

PrintS

End Sub