Дипломдық ЖҰмыс 5В011100 «Информатика»



бет19/31
Дата19.10.2022
өлшемі1,6 Mb.
#153890
түріДиплом
1   ...   15   16   17   18   19   20   21   22   ...   31
Байланысты:
Махан Асел Visual basic программалау тілінде стандартты емес формаларды құру жолдарын оқытуға арналған көмекші электронды оқу құралын жетілдіру диплом жұмысы

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


Стандартты сұхбат терезелер
Visual Basic-тің жобасында сұқбат терезенің екі түрі бар: хабарлау терезесі және енгізу терезесі. Олар Visual basic-ке орнатылған және егер олардың мүмкіндіктері жеткілікті болса, сізге стандартты емес сұқбат терезені жобалау қажет болмайды. Хабарлау терезесі(MsgBox) қолданушы үшін қарапайым хабарлама шығарады, ал енгізу терезесі (InputBox), керісінше ақпарат енгізуге қызмет етеді.
Хабарлау терезесі
Хабарлау терезесін құруға арналған оператор мынадай(қысқартылған түрі):
MsgBox хабарлама, атрибуттар аты, атауы
Хабарлама-текст, сұқбат терезеде көрінеді, атауы-терезе басындағы жол, атрибуттар параматрі терезе ерекшеліктерін анықтайтын әртүрлі батырмалар мен таңбашалар.Төменде осы параметрдің және тұрақтылардың мәндері көрсетілген. Олар терезе хабарламасын анықтауда қолданылады.



Тұрақты

Мәні

Түсіндірме

VbOkOnly

0

ОК батырмасы ғана көрінеді

VbOkCancel

1

Ok, Cancel батырмалары көрінеді

VbAbortRetryIgnore

2

Abort, Retry, Ignore батырмалары көрінеді

VbYesNoCancel

3

Yes, No, Cancel батырмалары көрінеді

VbYesNo

4

Yes, No батырмалары көрінеді

VbRetryCancel

5

Retry, Cancel батырмалары көрінеді

vbCriticl

16

Тығыз хабарламаның таңбашасы көрсетіледі

vbQuestion

32

Сұрақ белгісі көрсетіледі(ескерту)

vbExplamation

48

Леп белгісін көрсетеді(ескерту)

vbInformation

64

Ақпарат хабарламасының таңбашасын көрсетеді

Қажет қорытындыға жету үшін тұрақтылар мәнін тізе беруге болады. Мысалы, хабарлау кезінде Ok және Cancel батсырмалары және ақпарат хабарламасыынң таңбашасы болу үшін төменде келтірілген кез-келген нұсқаны қолдануға болады:


DigDef=vbOkCancel
DigDef=1+64
Содан соң DigDef айнымалысының мәні MsfBox-ты шақырғанда қолданылады.
Хабарлау терезесі функция көмегімен шақырылады, қайтарылатын мән қолданушы басқан батырмаға байланысты. MsgBoх функциясының синтаксисі, осыған сәйкес оператор синтаксисіне ұқсас:
Dim re As Integer ‘Қайтару коды
Re=MsgBox(хабарлама, атрибуттар, атуы)
Функцияны шақырудағы қажетті жақшаға назар аударыңыз. Қайтару кодының әр түрлі түрлері төменде көрсетілген.



Тұрақтылар

Мәні

Басатын батырма

vbOk

1

Ok

vbCancel

2

Cancel

vbAbort

3

Abort

vbRetry

4

Retry

vbIgnore

5

Ignore

vbYes

6

Yes

vbNo

7

No



Енгізу терезесі
Енгізу терезесі де оператормен немесе функциямен көрсетіледі. Функцияның қысқартылған синтаксисі мына түрде:
Dim re As String
Re=InputBox(хабарлама, атау, үнсіздеу)
Бұл жерде атрибут параметрі жоқ, бірақ қосымша үнгізу параметрі бар. Бұл жерде жол беруге болады, ол үнсіз келісім бойынша текстік алаңда болады. Қолданушы Ок батырмасын басқанда осы алады бар мән айнымалыға беріледі(біздің мысалда re). Егер қолданушы Cancel батырмасын басса, нөлдік ұзындығы бар жол қайтарылады.
Келесі мысал, InputBox функциясын қолдануды көрсетеді:
1. Жаңа жоба құрыңыз;
2. Project Wizard –тан Satndard Еxe таңбашасын таңда;
3. Form1 формасына батырма қос;
4. Батырманың Name қасиетіне cmdTryMy мәнін бер;
5. Caption қасиетіне “&Мұнда шертіңіз” мәнін бер;
6. command1 батырмасына екі рет шертіңіз, программа терезесін ашу үшін;
7. command1 батырмасының Click оқиғасының процедурасына келесі фрагментті жазыңыз:
Private Sub command1_Click()
Dim re As String
Re=InputBox(“Атыңызды енгізіңіз”)
MsgBox “Привет!”,”& re & “!”
End Sub
8. Run=>Start командасымен программаны қосыңыз.
9. InputBox сұқбат терезесін шақыру үшін батырманы басыңыз;
10.Текстік алаңға өз атыңызды енгізіп және ОК батырмасын басыңыз.
Бұл кішкене ғана мысал MsgBox және Input сұқбат терезелерінің жұмысын көрсетеді. Егер барлығы дұрыс орындалса, енгізу терезесінде сізге өз есіміңізді сұрайды, одан соң Visual Basic “Привеи, Стив!” деген жолы бар хабарлама терезесін шығарады. Біздің мысалда әрине енгізу терезесіне берілген есім шығады.

Priver Daniar!

Кей кездерде Input Box және MsgBox сұқбат терезелерінің мүмкіндіктері жетпейді және осы кезде сізге өзіңіздің сұқбат терезеңізді құруға тура келеді. Біл бөлімде басқа қосымшалар да қолдануға болатын сұқбат терезені жасауды қарастырамыз.


Стандартты емес терезені құруға қолданылатын барлық тұрақтыларды, параметрлерді есте сақтау үшін , арнайы функция құрып (олар қабықша деп аталды) және оны кодтық жеке модуліне кіргізіп қойыңыз. Содан соң бұл модульді жобаға қойып және қажет болғанда функция-қабықшасын шақыра аламыз.
Қабықша дегеніміз-функция, ол жерде басқа функция және процедуралар шақырылады. Қабықшалар программаны жеңілдетеді және көп рет қолдануға арналған модульді қолдануға мүмкіндік береді. Қабықшаның негізгі пайдасы ол- сіз программалық кодты бір рет жазып, одан соң оны қайта-қайта қолдана аласыз. Мысал қарастырайық:

  1. Алдыңғы мысалдғы мысалдың программа терезесмін аш;

  2. Келесі фрагментті қосыңыз;

Private sub LoginBox()
Dim re As String
Re=InputBox(“Атыңызды енгізіңіз!”)
If re= “Администротор” then
MsgBox “Здраствуй, хозяие!”
Else
MsgBox “Привет”&re&”!”
End If
End Sub

  1. command1 батырмасының Click оқиғасының процедуралық кодын өзгертіңіз:

Private Sub command1_Click()
LoginBob
End Sub

  1. Қосымшаны қосыңыз;

  2. Тестік жолға АДМИНИСТРАТОР сөзін енгізіп және ОК батырмасын басыңыз.

Бұл мысла алдыңғы мысалға өте ұқсас болғанымен, сұқбат терезе енді LoginBox қабықша-процедурасынан шақырылады. Click оқиғасының процедурасына барлық кодты қосудың орнына, енді LoginBox процедурасын шақыру жеткілкті. Нәтиже сондай-ақ болады.
Біраз өзгертуге мән беріңіз. Енді функция енгізілген есімді тексереді, егер ол АДМИНИСТРАТОР жолмен сәйкес келсе-арнайы хабарламамен қолданушыны қарсы алады. Бұл мысал, бір ыңғайлы функция арқылы барлық әрекеттердің орындалуые көрсетеді.


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

  1. Жаңа жоба құрыңыз;

  2. ActiveX DLL жобасының типін таңдап және Ок батрмасын басыңыз;

  3. Класс модулін жобада құрыңыз және Name қасиетіне CmdDiologs мәнін беріңіз;

  4. CmdDiolog модулінің программа терезесін ашыңыз және келесі процедураны қосыңыз;

Sum Main()
‘Данная процедура может не содержать программного кода
‘однако оно необходимо для правильной работы DLL
End Sub

  1. Жоба терезесінде Class1 классын екі рет шертіңіз, оны активті ету үшін;

Класқа келесі қасиеттерді беріңіз:

Name:

Instancing

clsDiologs

5-MultiUsi

Бұл құратын бірінші сұқбат терезе, логикалық өлшемдер енгізуге арналған, мысалы, “Сіз қателестіңіз ба?” сұрағы секілді. Мұндай терезелерді қандай да бір дағдарысты әрекет (мысалы, сақталмаған мәліметтері бар қосымшаны жабуда) орындауда көрсетіп тұрғаны дұрыс. Сізден қажет болатыны ол-атау енмесе хабарлама мәтәнән таңдау және оны YNBох функциясына беру. Одан соң қайтарылған мән vbYes тең ба екенін тексеру ғана қалады(яғни 6).
ClsDiologs классының программа терезесін ашып және оған келесі функцияны қосыңыз:
Private Function YNBox(title As String, msg As String) As Integer
Dim re As Intger
Dim DlgDef As Long
DlfDef=vbYesNo+vbQestion
Re=MsgBox(msg, DlgDef, Title)
YNBox=re
End Function
Келесі процедура қатені хабарлайтын сұқбат терезе көрсетеді. Келесі процедураны құрыңыз:
Public Sub ErrMsg(title As String6 msg As String)
Dim re As Integer
Dim DlgDef As Long
DlgDef=vbOkCancel+vbQuestion
Re=MsgBox(msg, DlgDef, title)
End Sub
Бұл процедураға тек атау және хабарлама мәтінін беру жеткілікті, ол қалғанын өзі орындайды.Қолданушы үшін сұқбат терезесін құратын соңғы функция жазу қалды. Сұқбат терезенің жалғыз мақсаты-ол есімді енгізуді біршама жеңілдетеді.

  1. Келесі фрагментті қосыңыз:

Punblic Fuction LoginBox(title As String, msg As String, default As String) As String
Dim re As String
Dim DlgDef As Long
Re=InputBox(msg, title)
LoginBox=re
End Function

  1. Жобаны diolog.vbp атымен сақтаңыз;

  2. Project Properties сұқбат терезесін ашаңыз және Project Name жолына Diologs сөзін енгіз. Project Description жолына “Класс для работы с диологовыми окнами” сөздеріе енгізіңіз;

  3. Make бөліміне өтіп, Application Title жолына Diologs сөзін енгізіңіз;

  4. File=>Make Diologs.DLL командасын орындап, ОК батырмасын басыңыз;

  5. Біраз кідірістен соң компиляцияланған DLL кітапханасы құрылады, оны басқа да программада қолдануға болады.

Сұхбат терезесінің классын қолдану
Келесі мысалда сіз ActiveX DLL кітапханасы қосымшада қалай қолданылатынын көресіз. Класты тексеру үшін қосымша құрайық:
1. Жаңа жоба құрыңыз. Project Wizard терезесінен Standard Exe таңбашасын таңдаңыз;
2. Form 1 формасына келесі қасиет беріңіз:

Name

Caption

FrmDiologs

Сұқбат терезесін құру

3. frmDiаlogs формасына екі жазба элементтерін орнат. Оның қасиетін бер:

Name

Caption

LblTitle

Атауы:

lblMsg

Хабарлама:

  1. Екі текстік алаң құрып оның қасиеттерін былай бер:

Name

Caption

TxtTitle

Бос алаң

TxtMsg

Бос алаң

5. Формаға 3 батырма құрып, оның қасиеттерін мынадай етіп бер:

Name

Caption

CmdYN

Иә/Жоқ

CmfErr

Қате

CmdLogin

Қате

Форманың мысал түрі суретте көрсетілген:



Сұқбат терезенің классымен жұмыс істеу формасы

6. Project=>References командасын орында;



  1. Класс для работы с диологовыми окнами” жолының сол жағына жалауша орнатып, ОК батырмасын басыңыз.


Класқа сілтеме құру



  1. Программа терезесін ашып және (General) (Declarations) секциясына келесі фрагментті енгіз:

Dim dlg As clsDiologs
9.Класпен жұмыс істеу үшін қосымшада бірінші сәйкес келетін объект түрін құру кекер. Ол үшін Form_Load процедурасына келесі фрагмент қосылады:
Private Sub Form_Load()
Set dlg=New clsDiologs
End Sub
10.Егер сіздің программаңыз объектінің түрін құрса, онда ол оны керек емес жағдайда жоя алуы керек. Класс қосымша өшірілгенге дейін қолданылатындықтан, оны қосымшадан шыққан соң жою керек. Келесі фрагментті Form_UnLoad процедурасын қосыңыз:
Private sub Form_Unload(Cancel As Integer)
Set dlg Nothing
End Sub
11.Логикалық терезе (YNBox) тексеруге арналған келесі фрагментті жазыңыз:
Private Sum cmdYN_Click()
Dim re As Integer
re=dlg.YNBox(txtTitle,Text,txtMsg.text)
If re=vbYes then
MsgBox “Нажмите кнопку Yes”
Else
MsgBox “Нажмите кнопку NO”
End If
End Sub
12. Қате терезесінде (ErrMsg) арналған тексерудің фрагментін жазыңыз:
Private Sub cmdError_Click()
Dlg.ErrMsg txtTitle,Text,txtMsg.text
End Sud Sub
13. (LoginBox) тіркеу терезесін тексеруге арналған фрагмент:
Private Sub cmdLogin_Click()
Dim UserId As String
UserId=dlg.loginBox(txtTitle,txtMsg.text,””)
If UserId<>””then
MsgBox UserId&”зарегистрирован успешно!”
End If
End Sub
14.Жобаны сақтап және қосыңыз.
Егер барлығы дұрыс орындалса, сіз Атау және Хабарлама жолына мәтін енгізе аласыз. Логикалық терезе қалай жұмыс істейтінін көру үшін:

  1. Атау жолына “Шығу” сөзін енгізіңіз;

  2. Хабарлама жолына “Сіз қателестіңіз ба?”, сөзін енгізіз;

  3. Ия /Жоқ батырмаларын бас;

Қазір біз ErrMsg терезесін пайдаланамыз, ол қате туралы хабарлама шығарады. Қате терезесінің жұмысын көру үшін:

  1. Атау жолына Систематикалық қате сөзін енгіз;

  2. Хабарлама жолына Дискіні форматтауға болмайды сөзін енгіз;

  3. Қате батырмасын бас.

Енді енгізу терезесіқалай жұмыс істейтінін қарастырайық:

  1. Атау жолына “Тіркеу” сөзін енгіз;

  2. Хабарлама жолына Қолданушы есімін енгіз;

  3. Тіркеу батырмасын бас.

Біз қосымшада қолданылатын стандартты емес сұқбат терзелерді қарастырдық. Біз бұл мысалдар арқылы тек сұқбат терезесін қолдануды ғана емес, сонымен қатар Visual Basic-те объектілер қалай қолданылатынын тыныстық.
Тышқанмен жұмыс істеу
Біз осы уақытқа дейін тышқанмен атқарылатын екі түрлі оқиғвны атқарып келдік.
1.Click
2.Dblclick


Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   31




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет