Информатика пәнінен сабақ жоспары.Тақырыбы:Терезелер

Автор публикации:

Дата публикации:

Краткое описание: ...



МАЗМҰНЫ



КІРІСПЕ

І ТАРАУ. VISUAL BASIC ПРОГРАММАЛАУ ОРТАСЫ

1.1. Орта.

1.2 Программалық код терезесі. Оқиғалар

1.3. Таймер

ІІ ТАРАУ. ПРОГРАММАЛАУ ЭЛЕМЕНТТЕРІ

2.1. Берілгендер типтері. Айнымалылар.

Стандартты функциялар.

2.2. Цикл. Циклден ерте шығу

2.3. EXE – Файл құру

ІІІ ТАРАУ. МӘЗІР ҚҰРУ. ФОРМАЛАРМЕН ЖҰМЫС

3.1. Мәзір құру және онымен жұмыс

3.2. Мәзір пункттерін орындайтын жылдам клавиштер тағайындау

3.3 Көп құжатты (MDI) формалар

IV ТАРАУ. МОДУЛЬДІК ПРОЦЕДУРАЛАР

4.1. Function типті модульдік функция құру

4.2. Sub типті модульдік процедура кұру


Қорытынды


Пайдаланған әдебиеттер






















КІРІСПЕ


Бүгінгі Visual BasicC++, Delphi сияқты дамытылған, визуальды программалау жүйесі. VB құрамында бірнеше жүз кілттік сөздер бар, олар түрлі операторлар (нұсқаулар, командалар), стандартты функциялар және арнайы символдармен толықтырылған. Пайдаланушылар олардың көбін қолдана бермейді де.

Visual Basic’ тің толық нұсқасы және программалау ортасының ықшамдалған нұсқасы Microsoft Visual for Application (қолданбалы Визуал Бейсик) атымен Microsoft Word, Excel, Access және т.б. қосымшалар құрамына кірістірілген.

Диплом жұмысы кіріспе бөлімнен, бес тараудан және қорытынды бөлімнен тұрады.

Бірінші тарауда Visual Basic ортасы және олармен жұмыс істеу тәсілдері таныстырылған. Екінші тарауға Visual Basic- те пайдаланылатын негізгі берілгендер типтері, айнымалылар және программалау құрылымдары енгізіліп, олармен жұмыс істеу тәсілдері көрсетілген.

Үшінші және төртінші тарауларда редактор мәзірін дайындау, калькулятор, сұхбаттық терезелер құру, Visual Basic ортасында жұмыс істеуге болатын түрлі қосымшаларды кірістіру, модульдік процедуралар дайындау және т.б. тәсілдер көрсетіліп, түрлі интерфейстер құрылған.

Бесінші тарауға VB’те берілгендер қорымен жұмыс элементтері енгізілген.



























І ТАРАУ. VISUAL BASIC ПРОГРАММАЛАУ ОРТАСЫ


1.1. Орта.

Visual Basic (VB) программалау жүйесі компьютерге орнатылған соң оны іске қосу Windows терезесі арқылы әдеттегідей жүргізіледі: Іске қосуПрограммаларMicrosoft Visual Basic 5.0. Бұл кезде Project Wizard (Проект шебері) программасы іске қосылады да, экранда Microsoft Visual Basic, оның жоғарғы бетінде белсендірілген New Project (Жаңа проект) сұхбаттық терезесі көрінеді (1.1-сурет). Терезеге үш қосымша бет енгізілген: New (Жаңа), Existing (Қолданылған), Resent (Жақында қолданылған файлдар).


[pic]


1.1-сурет. Жаңа проект терезесі.


New бетіне енгізілген проект типтері:

  • Standart.EXE (стандартты ехе-файл);

  • VB Application Wizard (Қолданбалы VB шебері);

  • Add-In (қосымша қондырма);

  • Internet’те Web – беттер құруға мүмкіндік туғызатын ActiveX файдары, т.б.

Бұрын не жақында құрылған проектілерді екінші не үшінші қосымша беттерінің бірінен іске қосуға болады, (проект – дайындалатын программада қандай форма, мобуль, тағы басқа файлдардың пайдаланылатынын көрсететін терезесі бар арнайы файл. Программа проект ішінде орындалады).

Жаңа проектіні ашу үшін New Project терезесіне орналастырылған Standart EXE белгішесін таңдап, Ашу (Открыть) түймесін шерту жеткілікті. Бірнеше компоненттері (сыңарлары) бар, Дайындаудың (Жетілдірудің) біртұтас ортасы (IDE, Integrated Development Envivonment) не Visual Basic программалау ортасы деп аталатын терезелер көрінеді. Оларды қысқаша Орта деп атайды (1.2-сурет). Егер компоненттердің кейбірі көрінбесе, оларды арнайы командалар арқылы орнату қиын емес.


[pic]


1.2-сурет. Жетілдірудің біртұтас ортасы (IDE)

  1. негізгі мәзір (Menu);

  2. аспаптар панелі (Toolbar);

  3. проект терезесі (Project 1);

  4. форма терезесі (Form 1);

  5. қасиеттер терезесі (Proporties);

  6. элементтер панелі (Toolbox);

  7. форма конструкторы (Project Container);


[design] – программаны дайындау режимі (ол Project 1 тақырыбында көрінеді).

Ортада Immediate (тез, тікелей орындау) терезесін шығару да мүмкін, оған қосымша ортада форма макетін (Form Layout Window) шығаруға болады. Олар Көрініс мәзіріне енгізілген. Аспаптар панелінде соңғысын қосуға арналған арнайы түйме де бар.

Панельдер мен терезелерді жылжыту не формасын өзгерту (кеңейту, сығу) тәсілі Windows’та пайдаланатын әдістер сияқты. Егер терезенің шекарасы басқа терезенің шекарасымен біріктірілетіндей етіп жылжытылса, ол соңға терезеге қосылып (бекітіліп) қойылады. Мұндай терезелерді кеңейту, олармен жұмыс істеу қиын емес.

Visual Basicбірнеше файлдар жиынтығы (exe-файл). Онымен жұмыс істеу IDE ортасында орындалады. Ортада жұмыс істеу командалары мәзірлерге енгізілген. Аспаптар панеліне мәзірлерге енгізілген негізгі командаларды орындайтын түймелер орналастырылған.

Стандартты түймелер:

- Standart.exe типті проектіні іске қосу (Add Standart EXE Project);

  • Форма қосу (Add Form);

  • Проектіні ашу (Open Project);

  • Проектіні сақтау (Save Project);

  • Көшіру (Copy);

  • Кірістіру (Paste);

  • Проект терезесін шығару (Project Explorer);

  • Қасиеттер терезесін шығару (Proporties Window);

  • Программаны іске қосу (Start);

  • Программа жұмысын аяқтау (End);

  • Мәзір редакторы (Menu Editor);

  • Элементтер панелі (Toolbox), т.б.


Проект. Проект терезесі

Visual Basic - қосымшалар құруға арналған күрделі программа. Онда жиі қолданылатын компоненттер (сыңарлар): проект, форма, басқару элементтері, модуль және т.б.

Проект (Project) – дайындалатын программада қандай формалардың, модульдер мен элементтер панелі пайдаланылатынын көрсететін арнайы файл. Қосымша құрайтын барлық объектілер проект арқылы басқарылады және проектіде сақталады.


VB’те проект үшін Project терезесі қарастырылған. Проект терезесі Windows терезесіне шамалас (1.3-сурет). Оған енгізілген проект, форма бумаларын ашуға не жабуға болады. Ол үшін алдарында көрінген ауыстырып қосқыш белгілерін шертсе болғаны.


[pic]

1.3-сурет. Проект терезесі

1 - View Code түймесі;

2 - View Object түймесі;

3 - проект терезесіне енгізілген формалар белгішесін ашу жабу / түймесі (Toggle Forders).


View Code түймесі шертілген кезде, программа жазылатын (не жазылған) Visual Basic редакторы терезесі көрінеді. Оны программалық код терезесі деп не қысқаша код терезесі деп атайды.

Форманы экранға шығарудың бір әдесі – View Object түймесін шерту.

Проект терезесінде қосылулы тұрған проект пен форма, олардан соң жақшалар ішінде Visual Basic’тің нақты файлдарға меншіктеген атаулары жазылып қойылады. Алғашқы рет меншіктелетін атаулар: Project1, Form1. Форма дайындалып, форма мен проект жаңа атаулар бойынша сақталған кезде, олар осы атауларға өзгертіліп қойылады.

Кейде проект терезесі экранда көрінбеуі де мүмкін. Оны ашу үшін ViewProject Explorer командасын беру жеткілікті.

Бір проектімен жұмыс аяқталған соң оны сақтау керек. Жаңа проектіні ашу командасы: File – New Project.

Форма. Пайдаланушы интерфейсі.


Форма – интерфейс құру үшін күйге келтірілетін терезе (пайдаланушы интерфейсі терезесі). Ол форма конструкторы терезесінің ішінде орналастырулы тұрады.

Информатикада интерфейс деп автоматтық жүйе (мәшине, программа) және адам арасындағы информацияны алмастыру құралдары мен оларда орнату, пайдалану тәсілдерін атайды (interface - ілесу, түйістіру). Visual Basic’ те пайдаланушы интерфейсі - форма және программа құру үшін онда орнатылатын түрлі элементтер. Екінші жағынан, форма не оған орнатылған элементке сәйкес орындалатын программа бөлігі де пайдаланушы интерфейсі делінеді. Пайдаланушы интерфейсін дайындау ең жауапты кезең. Үлкен қосымша үшін оны арнайы ұжымдар дайындайды.

Форма және онда орнатылған элементтер объектілер (нысандар) делінеді. Обьектілер арқылы қосымша жұмысын басқару Visual Basic’тің жоғарғы талап бойынша жұмыс істеуінің негізгі ерекшелігі.

Visual Basic ортасы іске қосылған кезде, ортада форма «Formатауы бойынша көрінеді. Оны тандап, оңға не төмен қарай кеңейту қиын емес.

Форма және оған енгізілген объектілердің өз қасиеттері бар. Объект таңдалған кезде, қасиеттері Properties (Қасіеттер) терезесінде көрінеді. Экранда форма көрінбесе, оны экранға шығару үшін

View – Object не Shift + F7

командаларының бірін беру керек (Project терезесінің сәйкес түймесін не Form1 қатарын екі рет шерту де мүмкін).

Кейде ортада Form1 терезесіне қосымша Form2 терезесін шығару қажет болады. Ол үшін

Project – Add Form

командасын беру керек. «Add Form» терезесі көрінеді. Терезенің Ашу түймесі шертілген кезде, жаңа форма көрініп, атауы Project1 терезесінің Forms бумасына кірістіріліп қойылады. Form1 терезесін қайта белсендіру үшін тақырыбын бір шертсе болғаны.


Қасиеттер терезесі


Қасиет (сипаттама) – айнымалылардың ерекше типі. Ол объект үшін пайдаланылатын түрлі мүмкіндіктердің сипаттамалары. Яғни, қасиеттер объектінің ағымдық күйін анықтайды, мысалы: объектіге атау беру, түсін өзгерту, объект үстіне мәтін жазу, жазылатын мәтіннің шрифті мен өлшемін өзгерту, т.б. Олар объект қасиетін орнату не қасиетке мән беру (меншіктеу) делінеді. Әр объектінің қасиеттер терезесі бар. Терезенің сол жақ бөлігінде барлық қасиет атаулары, оң бөлігінде олардың мәндері жазылып қойылған. Мысалы, форманың қасиеттері 1.4-суретте көрсетілген.


[pic]

1.4-сурет. Форма қасиеттері терезесі


Ондағы:

Name (атау) – объект атауы. Ол – Visual Basic объектілерінің ең негізгі қасиеттерінің бірі. VB жұмыс істеуі кезінде объектіні осы атау бойынша ажыратып таниды. VB’тің формаға автоматты түрде берілген атауын (Form1) өзгертіп, басқа атау беруге болады. Форманың іс - әрекеті атауынан белгілі болуы үшін атауды мазмұнға сай етіп енгізіп, алдына frm (form) қосымшасын (префиксін) тіркеп қойған жөн, мысалы, форма квадрат теңдеуді шешуге пайдаланылатын болса, «Form1» мәнінің орнына frmKvtendeu атауын енгізу. Ол үшін қасиет атын (Name) тандап, мәнін (Form1) екі рет шерту керек. Курсор мән алдына орналастырылып қойылады. Мәнді Del клавиші арқылы өшіріп, жаңа мәнді клавиатура арқылы теріп алса болғаны.

Ескерту. Қасиеттің автоматты түрде орнатылған мәндері бірнеше болуы да ықтимал. Бұл кезде мәндер жолының оң жағына тілсызық түймесі орнатылып қойылады. Оны ашып, көрінген тізімнен қажеттісін тандау керек.

Borderstyle (Жиек стилі) қасиеті форманың жиек қасиеттерін орнатады. Мысалы, оның оң жағындағы тілсызық түймесін шертіп, тізімді ашқан соң 2-Sizable мәні орнатылса, форманың өлшемін өзгертуге болады (size - өлшем), 0-None мәні орнатылса, форма өлшемін өзгерту мүмкін емес (none – ешқандай).

Caption (Тақырып, бетіне жазу) - форма терезесінің тақырыбына енгізілетін мәтінді орнату қасиеті. Алғашқы кезде қасиеттер терезесінде тақырып үшін Form1 сөзі енгізіліп қойылған. Оны «Redactor» не басқа тақырыпқа алмастыру қиын емес. Бұл кезде форма тақырыбы да осы сөзге алмастырылады. (Қасиет мәні енгізілген соң КҚ клавишін басып қойған жөн.)

Font қасиеті екі рет шертілген кезде формада пайдалануға болатын әдеттегідей Шрифт терезесі көрінеді (1.5-сурет).


[pic]


1.5-сурет. Шрифт терезесі


Терезеден қажетті шрифті, оның пішіні мен өлшемін тандап, ОК түймесін шерту жеткілікті. (Шрифті Caption қасиетіне мән енгізуден бұрын тандау керек).

Window State қасиетінің мәні үшін 2 – maximized қатары таңдалып, форма іске қосылған кезде ол толық экрандық етіледі. т.б.

Объект қасиетін іске қосу режимінде программалық код ішінде орнату да мүмкін.

Жалпы, бір қасиеттің мағынасымен (мазмұнымен) танысу үшін оны қасиеттер терезесінде тандап, F1 клавишін басу арқылы анықтаманы шақыру керек. VB’те анықтамалар ағылшын тілінде жазылып қойылған. Ол түсініксіз болса, экранда орысша аудармасын көрсететін «Сократ 97» сияқты программаны пайдалануға болады. (Мұндай программа компьютерге орнатылса, оны пайдалану қиын емес).

Экранда қасиеттер терезесі көрінбесе, оны шығару үшін ViewProperties Window командасын беру жеткілікті.

Ескерту. Объектіні оң түймемен шерткен кезде, экранда контексті мәзір көрінеді. Оның Proporties қатарын таңдап, объектінің қасиеттер терезесін ашу да мүмкін.

Қасиеттер терезесі тақырыбының төменінде көрінген өрістің тілсызық түймесін шертіп, объектілер тізімін шығаруға да болады.


Элементтер панелі


VB қосымшалары көбінесе формада орнатылған басқару элементтері деп аталатын объектілер негізінде дайындалады. Басқару элементтерін орнататын түймелер элементтер панеліне орналастырып қойылған (1.6-сурет). Түймені таңдап, көрсеткіш арқылы формада сәйкес объектіні қалаған форматта орнату қиын емес (элементтер панелі Access’тегіге шамалас). Түймені екі рет шерту де мүмкін. Бұл кезде объект автоматты түрде формаға орналастырылады. Оны таңдау, әдеттегідей масштабтау, жылжыту не өшіруге болады.

Элементтер панеліне стандартты емес басқа түймелерді де орналастыру мүмкін (мысалы, панельге DBGrid элементін орнату тәсілі 5.4-тақырыпта көрсетілген).

Панель түймелерінің қасиеттері жеткілікті:

Name, Caption, Cancel, Default, Enabled, Visible, т.б. Әр түйменің қасиеттері объект формаға орнатылып, таңдалған кезде қасиеттер терезесінде көрінеді. Name-ге енгізілген атау бойынша VB бір объектіні екіншісінен ажырата алады. Caption қасиеті формада орнатылған объектінің ішіне жазылатын мәтінді анықтайды. Enabled, Visible қасиеттері объектіге қол жеткізуді шектеу үшін пайдаланылады. Егер Enabled мәні False’ке тең болса, объект қойылмаған күйде қалады, Visible мәні False болса, объект экранда көрінбейді, т.с.с. (Enabled-қосылу, Visible-көріну).



[pic]

1.6-сурет. Элементтер панелі


1-көрсеткіш (Pointer)

2-графикалық өріс (Picture Box-сурет қорабы)

3-үстіне жазу өрісі (Label)

4-мәтіндік өріс (TextBox)

5-рамка (Frame)

6-командалық түйме (CommandButton)

7-жалауша (CheckBox)

8-ауыстырып қосқыш (OptionButton)

9-құрастырылған өріс (ComboBox)

10-тізім (ListBox)

11-жатық айналдыру белдеушесі (HScrollBox)

12-тік айналдыру белдеушесі (VScrollBox)

13-таймер (Timer)

14-дискжетектер тізімі (DriveListBox)

15-каталогтар тізімі (DirListBox)

16-файлдар тізімі (FileListBox)

17-фигура (Shape)

18-сызық (Line)

19-сурет (Image)

20-берілгендер элементі (Data)

21-OLE элементі (OLE)


1.2 Программалық код терезесі. Оқиғалар


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

  1. ViewCode командасын беру;

  2. Проект терезесінің View Code түймесін шерту;

  3. F7 клавишін басу;

  4. Форма терезесінен басқару объектісін екі рет шерту. Форманы екі рет шерткен кезде, код терезесі көрінеді де (1.7-сурет), оған сәйкес процедура моделі енгізіліп қойылады.

[pic]

1.7-сурет. Код терезесі


Терезеде:

  • Project- Form1 (Code)терезе тақырыбы.

  • Form (Форма) жазылған өріске формаға енгізілген объект атаулары тізімі жазылып қойылады. Тізімді ашып көру үшін тілсызық түймесін шертсе болғаны.

  • Load (Жүктеу) жазылған оң жақтағы өріске таңдалған объектіге сәйкес оқиғалар тізімі енгізіледі (мысалы, формаға қатысты 30-дан аса оқиғалар бар).

Терезенің ішіне формаға байланысты End Sub (процедураны аяқтау) операторымен аяқталатын процедура моделі (үлгісі) жазылып қойылған. Оның тақырыбы:


  1. Private: процедураны тек бір форма ішінде пайдаланатын етіп жариялау (Private - өзіндік, жабық).

Процедураны бірнеше формаларда пайдаланатындай етіп жариялау да мүмкін. Ол үшін Private орнына Public кілттік сөзін жазып қою жеткілікті (Public – көпшілік).

  1. программаны процедура түрінде жариялау (Subroutine қосалқы, процедура);

  2. объект аты (Form);

  3. өңделетін оқиға аты (Load);

  4. ішіне айнымалылар (параметрлер) сипаттамалары жазылатын жақшалар (параметрлерді сипаттау қажет болмаса, олар жоғарыдағыдай бос күйінде енгізіледі).

Астын сызу белгісі ( _ ) арқылы бөлініп жазылатын Form_Loadпроцедура атауы деп аталады. Атау қайсы объект оқиғасы өңделетінін білдіреді. (Жалпы, VB әр типті процедура тақырыбына оқығаны өңдеуді бейнелейтін атауды енгізіп қояды).

Процедура модулі ішіне оқиғаны өңдеу командалары (процедура денесі) енгізілуі тиіс. Әр жол теріліп болған сайын КҚ (каретканы қайтару, енгізу) клавишін басу керек не Жоғарыдан төмен ( ) клавишін басуға да болады.

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

Windows-тағы сияқты Visual Basic-те программалар оқиғалар арқылы басқарылады. Мысалы, пайдаланушы программа құру үшін алдымен формаға объект орнатуы, форманы не формада орналастырылған объектіні тышқан арқылы шертуі не мәзірді таңдауы мүмкін. Оның әр іс - әрекеті оқиға шақырады. Яғни, оқиға–қосымшаның жұмыс істеуі кезінде пайда болатын нәрсе. VB’те әр оқиғаға атау беріліп қойылған. Мысалы, элементтер панелінің CommandButton түймесі арқылы формада орнатылған Command1 түймесін (объектісін) шерту Click (Басу) оқиғасын шақырады. Оқиға тек пайдаланушының іс - әрекеті арқылы шақырылмауы да ықтимал. Мысалы, жүйе қандай болмасын бір терезені жүктегенде Load оқиғасы өндіріледі.

Әр объектіге байланысты оқиғалар бірнеше болуы да мүмкін. Мысалы, формаға байланысты оқиғалардың 30-дан асатыны жоғарыда ескертіліп кетілді, олар:

Load (жүктеу);

Mouse Down (тышқан түймесін басу);

Paint (кескіндеу);

KeyPress (клавишті басу), т.б.

Таңдалған объектінің оқиғалар тізімі код терезесінің оң бөлігінде көрінетін өрістің тілсызық түймесін шерткенде шығады.


Қарапайым программа құру. InputBox,

MsgBox функциялары. Print операторы


Visual Basic’те айнымалы мәнін жадқа енгізу үшін Бейсикте пайдаланылатын Input (енгізу) операторы жоқ. Оның орнына стандартты сұхбаттық терезесі және онда мән енгізілетін өрісі бар InputBox (енгізу қорабы) функциясы қолданылады. Программада функцияны мынадай түрде жазуға болады:


< Атау > = InputBox (< атау > [ , “ < мәтін > “ ] )


мұндағы < атау > - айнымалы идентификаторы (атауы), жолдық айнымалы;

< мәтін > - InputBox функциясы терезесінің тақырып қатарына жазылатын символдар тізбегі;

Квадрат жақшалар ([, ]) – олардың ішіне ешнәрсе енгізбеуге болатынын білдіру белгісі.

Нәтижені MsgBox функциясының стандартты шығару терезесінде не формада шығару мүмкін (message – мәліметтер қорабы).

Мәнді MsgBox терезесіне шығару функциясының жазылу түрі:


MsgBox ( < атау> ) [, , “ < мәтін > “ ]

Мұндағы үтірлер арасындағы бір символдық бос орынға түйме нөмірін жазуға не жазбай бос тастап кетуге болады.

Ескерту. InputBox, MsgBox функцияларын басқа түрде (қысқаша) жазу да мүмкін. Мысалы:

x= InputBox “ < мәтін > “ ; MsgBox “ < мәтін > “

Бұлардың біріншісі енгізу терезесін шығарып, мән енгізілетін өрістің жоғарғы жағында көрсетілген орынға мәтінді енгізіп қояды. Екіншісі де шығару терезесі ішіне мәтінді енгізеді.

Мысал. х=4,6 үшін у=3х+5 функциясының мәнін табу керек.

Есепті Load оқиғасын және InputBox, MsgBox функцияларын пайдаланатын шешу тәсілі:

  1. Ортаны ашып, форманы екі рет шерту (F7 клавишін басуға да болады). Form_Load атаулы процедура моделі енгізілген код терезесі көрінеді.

  2. Процедура денесін енгізу:


Private Sub Form_Load( )

Dim X As Single, Y As Single

x=InputBox (x, “x=”)

y=3*x+5 : MsgBox (y), , “y=”

End Sub

Бейсикте массивтер ғана DIM операторы арқылы сипатталатын. VB’те бір процедура ішінде пайдаланылатын барлық айнымалыларды DIM арқылы сипаттау мүмкін.

  1. Іске қосу командасын беру. Ол үшін аспаптар панелінің Start (Бастау) түймесін шерту, Run-Start командасын беруге не F5 клавишін басуға болады. Х мәні сұралатын InputBox (енгізу) терезесі көрінеді (1.8-сурет). Терезенің тақырыбында көрінген “Х=” жазуы – мәтіндік символдар тізбегі.

  2. Терезенің төменінде көрінген мән енгізу өрісіне Х мәнін (4,6) енгізіп, ОК түймесін шерту (не КҚ клавишін басуға да болады.)


[pic]


1.8-сурет. Енгізу терезесі.


Ескерту. Шығару терезесіне нақты санды енгізген кезде IBM Бейсикте қойылатын нүкте орнына әдеттегідей үтір (,) таңбасын қою керек.

Программа денесіне MsgBox функциясы енгізілгендіктен, экранға нәтижелік мән енгізілген MsgBox (шығару) терезесі шығады. (1.9-сурет).

  1. Терезенің ОК түймесін шерту. MsgBox терезесі жабылып, экранда форма көрінеді.

  2. Программадан шығу үшін Run-End (Іске қосу-Соңы) командасын беру не аспаптар панелінің End (соңы) түймесін шерту. Visual Basic бастапқы режимге қайтып оралады.

Ескерту. Процедура денесіне x=InputBox(x) командасының орнына меншіктеу командасын (х=4.6) енгізу де мүмкін. Программаға нақты сан нүкте (.) арқылы бөлініп енгізілуі тиіс (х=4.6).

[pic]

1.9-сурет. Шығару терезесі.


Шығару терезесін пайдаланбай, нәтижелік мәнді форма терезесіне шығаруға болады. Ол үшін:

  1. форманы таңдап, Proporties терезесінде көрінген оның Autoredraw (Өңделмеген), Enabled (Қосылған) қасиеттерінің мәнін True (Ақиқат) ету;

  2. процедура денесіне енгізілген MsgBox функциясын Print операторымен алмастыру керек, мысалы: Printy=”; y.

InputBox функциясы арқылы енгізілген аргумент мәнін де формада көрсетуге болады. Ол үшін жоғарғы қасиеттерді орнатып, процедура ішінде InputBox-ты меншіктеу командасынан соң Printx=”; x операторын енгізу жеткілікті.

Print операторы (әдісі) берілгендерді басып шығару үшін де пайдаланылады. Берілетін команда:

Printer. Print <мәтін>

Мұндағы Printбасып шығару операторы;

Printerпринтер объектісі;

<мәтін> - программалық кодқа енгізілген бір қатарлық мәтін.

Printer объектісінің басып шығару параметрлерін орнататын қасиеттер терезесі жоқ. Оның әр қасиеті программа мәтінінде орнатылуы тиіс. Мысалы: a1$, a2$ айнымалыларының мәндері болатын мәтіндерді 14 пиксельдік шрифпен басу командалары:

а1$= “Біз студенттерміз,

а2$=”олар да студенттер.

Printer.FontSize=14

Printer.Print a1$

Printer.Print a2$

Ескерту. 1. Printer объектісінің қасиеттері мен командалары VB’тің анықтама жүйесіне енгізілген (Print Object).

  1. Шрифті программа арқылы орнатуға болады. FontSize командасын екі команда арқылы жазу да мүмкін (Font.Size).

  2. File-Print командасы терезеге енгізілген программаны толық басып шығады. Ал Іске қосу (F5), одан әрі End командасы берілсе, тек мәтіндер басылып шығады.

  3. Код терезесіне түрлі оқиғаларды өңдеуіш бірнеше процедураларды енгізу мүмкін.

  4. Программада айнымалыларды кіші не бас әріппен енгізудің айырмашылығы жоқ. Оны редактордың өзі кіші әріпке алмастырады. View-Code командасы бойынша ашылған жаңа код терезесінде процедура моделі жазылмайды, процедура тақырыбын қолдан теріп алу керек.


Есепті пайдаланушы интерфейсін құрып шешу


Түрлі нәтижелерді форманың арнайы орындарында көрсету – VB жүйесімен жұмыс істеуде орындалуы тиіс интерфейс талабы. Бұл үшін формада қажетті объектілерді алдын ала орнатып, код терезесінде осы объектілерге арналған процедуралар құру керек. Осыған сәйкес, өткен тақырыпта берілген мысалды келесі тәсілдерді пайдаланып шешкен жөн:

  1. Орталықты ашып, көрінген форманы кеңейту. Форма тақырыбын өзгертуге болады. Ол үшін:

  • форманы таңдау. Форма қасиеттері терезесі көрінеді;

  • терезенің Font қасиетін екі рет шертіп, ашылған Шрифт терезесінде Times Kaz шрифтін таңдау және өлшемін 14 ету;

  • Caption қасиетінің мәні үшін Form1 орнына «Функция мәні» мәтінін енгізу».

  1. Элементтер панелінің Label түймесін шертіп, көрсеткіш арқылы форманың жоғарғы қабатында Label1, Label2 өрістерін (объектілерін) орнату. Оларға программаға енгізілетін х, у айнымалыларының мәндерін жазуды жоспарлау. Мысалы: форманың Label1 объектісіне Z айнымалысының мәнін жазу (Caption қасиетін орнату) Label1.Caption=Z меншіктеу командасы арқылы орындалады. (Яғни, объект қасиетін программаға енгізілген команда арқылы орнату да мүмкін. Қасиет іске қосу режимінде орнатылады).

  2. Элементтер панелінің CommandButton түймесі арқылы форманың төменгі қатарына командалық Command1, Command2 объектілерін (басқару элементтерін) орнату (1.10-сурет). Оларды программаны іске қосу және аяқтау командалық түймелері ретінде пайдалануды жоспарлау. (Label1, Label2, Command1, Command2Label, CommandButton түймелері арқылы орнатылған объектілерге VB’тің автоматты түрде берген атаулары). Формаға орнатылған объектілер форма сыңарлары (компоненттері) делінеді.

  3. Command1 түймесін таңдау. Оның қасиеттері Proporties терезесінде көрінеді. Оның Font қасиетіне TimesKaz шрифтін орнатып, Caption қасиетіне Қосу (Іске қосу) сөзін енгізу. Ол Command1 элементінің үстіне жазылып қойылады.

  4. Осы сияқты, Command2 түймесінің Caption қасиетіне End сөзін меншіктеу.


[pic]


1.10-сурет. Интерфейстік элементтер орнатылған форма.


  1. Программалық код құру:

  • Қосу объектісін екі рет шерту. Код терезесі ашылып, онда Command1_Click атаулы процедура моделі көрінеді. (Caption қасиеті арқылы форманың басқару объектісіне басқа атау берілгенімен процедура тақырыбына VB өзі меншіктеген (Name қасиетіне жазылған) атауды жазып қояды, мысалы, Қосу орнына - Command1. Жалпы, пайдаланушы Name қасиетіне өзі таңдаған атауды енгізсе, Command1 орнына осы атау жазылып қойылады).

  • Оның ішіне процедура енгізу.

Private Sub Command1_Click()

Dim x As Single, y As Single

x = InputBox(x, "x="): Label1.Caption = x

y = 3 * x + 5: Label2.Caption = y

End Sub

  1. End басқару элементіне арналған процедура құру. Ол үшін код терезесінің жабу түймесін шертіп не проект терезесінің Form1 бумасын екі рет шертіп, форманы қайта ашу және ондағы End түймесін екі рет шерту керек. Код терезесі ашылып, алдыңғы құрылған программаның астында жаңа процедура моделі көрінеді. Оған End операторын енгізу:

Private Sub Command2_Click()

End

End Sub

  1. Іске қосу командасын беру (F5). InputBox терезесі көрінеді. Оған х мәнін енгізіп, ОК түймесін шерту. Мәндер енгізілген форма терезесі көрінеді. (1.11-сурет).

[pic]


1.11-сурет. Нәтиже енгізілген форма


  1. Форманың End түймесін шерту. Программа жұмысы аяқталып, код терезесі қайта көрінеді.

Ескерту. Формада тек Label1 объектісін орнатып, оны У мәнін енгізуге болады. Сол сияқты, формады End командасына арналған Command2 басқару элементін орнатпау да мүмкін. бұл кезде программа жұмысын тоқтату командасы аспаптар панелінің End түймесін шерту не Run-End командасы арқылы беріледі.


Программаны сақтау, ашу.


Проектіні дайындап болғаннан соң форманы File-Save Form As командасы арқылы сақтап қою керек. Сақтау үшін арнайы бума дайындалмаған болса, ол VB


(C:\Program Files\DevStudio\VB)


бумасында сақталады. Бірақ пайдаланушы VB терезесінде жаңа бума құрып, проектіні сонда сақтағаны жөн. ол оны іздеп табуды жеңілдетеді. Жаңа бума құру тәсілі:

  • сақтау сұралатын терезенің Жаңа бума құру түймесін шерту. Бума белгішесі терезеде орналастырылып қойылады.

  • Клавиатурадан бума атын енгізу.

  • Буманы екі рет шертіп, ашу.

  • Терезенің Файл атауы өрісіне форма атын енгізіп, Сақтау түймесін шерту. Форма frm кеңейтілуі бойынша сақталады да, проект аты сұралатын терезе көрінеді.

  • Файл атауы өрісіне проект атын енгізіп, Сақтау түймесін шерту. Проект атауы vbp кеңейтілуі бойынша сақталып қойылады.

Егер проект ішінде бірнеше форма құрылған болса, проект аты сұралатын терезе шықпауы да мүмкін. ол кезде алдымен қалған формаларды сақтау, одан әрі File-Save Project As командасын беру керек.

Ескерту. Қосымшаның барлық бөліктері проектіде сақталатындықтан Сақтау терезесінде алдымен форманы, одан соң проектіні сақтаған жөн. форма мен проектіні бірдей атау бойынша сақтауға да болады, мысалы, Func1.frm, Func1.vbp. Бірақ форманы басқа проектілерде де пайдалану мүмкін. сондықтан оларды түрлі атау арқылы сақтаған дұрыс.

Сақтау командасы берілген соң проект терезесінде жақшалар ішінде жазылған (VB алғашқы рет меншіктеген) атаулар сәйкес жаңа атауларға алмастырылып қойылады.

Сақтаулы проектіні ашу үшін File-Open Project командасын беру керек. Көрінген терезеден қажетті буманы ашып, проект атауын екі рет шертсе болғаны.


Формада фигуралар салу.


Код терезесінде арнайы операторлар арқылы графикалық кескіндер салатын не көрсеткішті қаламұш ретінде пайдаланып, түрлі суреттер сызуға болатын процедуралар құруға болады.

Мысал. Формаға ақ түсті шеңбер және қызыл түсті тік төртбұрыш салу керек.

  1. Орталықты ашып, форманы екі рет шерту.

  2. Ашылған код терезесінен форма оқиғалары тізімін ашып (тізім терезенің оң жақ бөлігінде көрінген тілсызық түймесін шерткен кезде көрінеді), Paint (кескіндеу) оқиғасын таңдау.

  3. Көрінген Form_Paint атаулы процедура моделін толтыру:

Private Sub Form_Paint()

ScaleMode = 2

Circle (180, 100), 60, RGB(255, 255, 255)

Line (10, 10)-(100, 60), RGB(255, 0, 0), BF

End Sub

  1. Іске қосу командасын беру (F5).

Процедураның орындалу нәтижесі 1.13-суретте көрсетілген.


[pic]

1.13-сурет. Формаға салынған фигуралар


VB’те форма және онда орнатылған объектілер өлшемі пиксель арқылы есептеледі. Ал, графикалық кескін салу мүмкіндігін жоғарылату үшін нүкте орнатуда бірлік өлшемі үшін пиксельдің 1/20 бөлігі болатын твип (twip) бірлігі пайдаланылған. Жоғарғы процедурада масштаб (ScaleMode) пунктке ауыстырылды (оны пиксельге ауыстыру үшін масштабты 3 – ке тең етіп алса болғаны).

Процедураға енгізілген Circle (Шеңбер), Line (Сызық) – Бейсиктегідей операторлар, айырмашылығы – түс кодын жазуда. VB’те пайдаланылатыны – RGB (EGA, VGA типті бейнеадаптерлі мониторларда қолданылатын түстер қоспасы). Түстер мәндері (кодтар) 0....255 аралығында болатын бүтін сандардан алынады: ақ түс – (255, 255, 255), қара түс – (0, 0, 0), ашық қызыл түс – (255, 0, 0), т.с.с. (Жалпы, фигура түсін орнату коды: RGB (қызыл, жасыл, көк).)

Форма бетінде көрсеткіш арқылы қисық сызық сызу да мүмкін. Ол үшін форманы екі рет шертіп, код терезесін ашқан соң оқиға типтерінің тізімінен MouseMove (Тышқанды қозғалту) оқиғасын тандау керек. Терезеде көрінген осы оқиға процедурасы ішіне

If Button = 1 Then

Line – (x, y)

End If

командасы енгізілсе болғаны (х, у - көрсеткіш орналасқан арғымдық координаттар нүктесі).

Процедура іске қосылған соң (F5) тышқанның сол жақ түймесін басып, көрсеткіш арқылы кез келген қисық сызықты фигураны сыза беруге болады (Button1=1 тышқанның сол түймесін, Button = 2 оң түймесін басу шарттары).

Алғашқы рет түйме басылған кезде, форманың сол жақ жоғарғы бұрышынан көрсеткіш орнатылған нүктеге дейін түзу сызық кесіндісі автоматты түрде сызылып қойылады. Қисықты жеке бөліктерге бөліп сызу мүмкін емес. Ол үшін форманы екі рет шертіп, ашылған код терезесінен MouseDown (Тышқанды басу) оқығасын тандау керек. Көрінген процедура моделі денесіне Pset (x, y) операторы мен CurrentX, CurrentY айнымалыларын енгізу жеткілікті (current –ағымдық):

Private Sub Form _ MouseDown (Button As Integer, _

Shift As Integer, X As Single, Y As Single)

CurrentX = X

CurrentY = Y

DrawWidth = 2

Pset (x, y)

End Sub

Private Sub Form _ MouseMove (Button As Integer, _

Shift As Integer, X As Single, Y As Single)

If Button = 1 Then

Line – (x, y)

End If

End Sub

Private Sub Form _ Paint ()

ScaleMode = 2 : DrawWidth = 2

Line (100, 30) – (150, 200)

End Sub


(Программа іске қосылған кезде, (F5) VB алдымен MouseDown процедурасын шақырады. Жүйе процедураларға инициалдау процедурасын және SaveX, SaveY айнымалыларын автоматты түрде қосып қоюы мүмкін (олар VB екінші рет қосылып, программа іске қосылғанда көрінеді). Соңғылары жаңа нүктелерді сақтау үшін пайдаланылады. (DrawWidth = 2 пикельмен берілген сызық қалыңдығы; Х, У ағымдық нүкте координаттары)).

Программа іске қосылған соң, форма терезесі көрінеді. Windows’тағы стандартты Paint графикалық редакторы терезесінде фигура сызу әдісі сияқты, көрсеткіш (қаламұш) арқылы онда кез келген фигураны сыза беруге болады (мысалы, 1.14 – суреттегі сияқты. Суретте жалауша таяғы Line операторы арқылы сызылған). Тек мұнда сызық бөлігін өшіру, фигураны жылжыту не масштабтау мүмкін емес. Ол үшін код терезесіне қосымша арнайы процедуралардың енгізілуі тиіс. Олар кітапта қарастырылмаған.


[pic]

1.14-сурет. Көрсеткіш арқылы сурет салынған форма

1.14-суретте көрсетілген форма белсендірілген соң Alt+PrintScreen командасы арқылы оны жад буферіне көшіріп, Word’тың құжат терезесіне кірустіруге болады (EditPaste). Кірістірілген кескінді масштабтау не жылжыту қиын емес.

Жоғарыда көрсетілген сияқты, программа (программалық код) бірнеше процедуралардан тұруы мүмкін.

Ескерту. Процедуралардың тақырыптары астан сызу белгісі (_) арқылы ажыратылып, екі қатарға жазулы. Жалпы VB бір жолға 1023 символға дейін сыйғыза алады. Бірақ олар экранда көрініп тұруы үшін әр қатарға 60 – 80 символ енгізіп, бірнеше қатарларға бөліп жазған дұрыс. Жолда көрінбейтін оператор бөлігін екінші қатарға жазу үшін соңына бір символдық бос орын, одан әрі астын сызу белгісін енгізіп, каретканы қайтару (КҚ, Енгізу) клавишін басу керек.


1.3. Таймер


Таймер – құрылған программа арқылы Windows жүйелік сағатына қол жеткізуге болатын көрінбейтін секөнт өлшеуіш объектісі. Жүріп тұрған цифрлық сағатты формада көрсетуге болады:

  1. Орталықты ашу.

  2. Элементтер панелінің Timer (Таймер) түймесін шертіп, форманың сол жақ шетіне Timer1 объектісін орнату. VB оны стандартты өлшемге келтіріп қояды.

  3. Label түймесі арқылы форма ортасында Label1 өрісін (объектісін) орнатып, оны кеңейту.

  4. Форманы тандап, Properties терезесінде оның Caption қасиетіне Clock (Сағат) мәнін енгізу. Ол форма тақырыбына жазылып қойылады.

  5. Label1, Timer объектілерінің қасіеттерін орнату:


Private Sub Timer1 _ Timer()

Label1.Caption = Time

End Sub

  1. Терезені жауып, іске қосу (F5) командасын беру. Таймер орындау режімінде формада көрінбейді де, Label1 өрісі ішінде жүріп тұрған цифрлық сағат көрінеді (1.15-сурет).

[pic]

1.15-сурет. Формада жүріп тұрған сағат


  1. Программа жұмысын тоқтатып, форма мен проектіні сақтау. (Бұдан әрі бүл команданы қысқаша проектіні сақтау деп жазамыз).

Сағаттың Interval қасиетінің мәні үшін 1000 орнатылады. Ол әр секөнт сайын жүйелік сағаттың ағымдық секөнтін көрсетеді (1сек = 1000 миллисек).

Процедураға енгізілген Label1.Caption = Time командасы іске қосу режимінде Windows’қа енгізілген жүйелік ағымдық уақытты оқып, оны Label1 объектісінің Caption қасиетіне меншіктейді (Label1 өрісіне жазады).

TimeVisual Basic’тің стандартты функциясы.

Программа жұмысын тоқтату үшін аспаптар панелінің End (Соңы) түймесін шерту керек.

Ескерту. Формада ағымдық уақытты код терезесіне енгізілген Print time$ әдісі арқылы шығаруға болады. Мұнда келесі уақыт келесі қатарға жазылады.

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

Immediate терезесі.


VB орталығанда іске қосу командасы берілген кезде көрінетін Immediate (Тез) атаулы терезе бар (1.16-сурет). Оны экранға шығару үшін ViewImmediate Window командасын беруге болады. Терезені Дұрыстау не Толықтыру терезесі деп те атайды.


[pic]

1.16-сурет. Immediate терезесі


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

Мысалы:

1) ? 5.4+7/2 КҚ

8,9

2) For k = 1 to 4: Print k+3 : Next КҚ

4

5

6

7

3) For k = 1 to 1000 : Beep : Next КҚ

Жүйенің әр Beep командасын орындауы кезінде компьютерден дыбыс естіледі (Immediate терезесін басқа түрде пайдаланудың бір тәсілі 2.8 – тақырыпта көрсетілген).

Объектілер иерархиясы. Әдіс


1.3 – тақырыпта арнайы қасиеттері бар форма және формада орнатылған элементтер объектілер деп аталатыны ескертілген болатын. Visual Basic’те құрылған процедуралар мен оларға енгізілген айнымалылар да объектілер делінеді. Объектілер бірінің ішіне бірі иерархиялық түрде енгізілуі мүмкін. Мысалы, форма ішінде орнатылған элемент Windows бумасына енгізілген файл сияқты. Бумалар деңгейлері кері көлбеу сызық (\) арқылы ажыратылатыны белгілі. VB’те объектілер иерархиясы да дәл осылай белгіленеді, тек \ символының орнына нүкте (.) қойылады. Мысалы, қасиет орнату командасы

Form1.Command1.Font.Size=14


түрінде жазылуы мүмкін. Мұндағы иерархияның бірінші объектісі – форма (Form1), екінші объект – формада орнатылған Command1 түймесі, үшінші объект – түймеде пайдаланылатын шрифт (Font). Команда – осы объектіге енгізілген Size (өлшем) айнымалысына 14 мәнін меншіктеу. Яғни, объектілер арасында қойылатын нүкте кез келген иерархиялық объектіге сілтеме.

Әр объектінің қасиеттері, оқиғалары мен әдістері бар. Программа ішінде объектінің орындайтын іс-әрекеті әдіс деп аталады. Әдіс объект атымен нүкте арқылы ажыратылып жазылады:


<Объект>.<Әдіс>


Әр объектіге қолданылатын әдістер түрлі – түрлі. Форма әдістері:


Show, Hide, Unload, Cls, Circle, Move, т.б.


Мысалы, программаға енгізілген Form2.Show әдісі (командасы) - Form2-ні экранда көрсету. Жалпы, объектіге берілген команда және процедуралар да әдістер деп аталады.


Visual Basic парамертлері.


VB редакторы жұмысына әсер етітін параметрлер Options (Таңдама, Параметрлер) терезесіне орналастырылып қойылған. Оны ашу үшін ToolsOptions командасын беру керек. Терезеге алты қосымша бет орналыстырылған (1.17-сурет).


[pic]

1.17-сурет. Options терезесінің Editor қосымша беті


Мысалы, Editor (Редактор) бетіне орнатылған жалаушалар:

- Auto Syntax Check (Қатені автоматты түрде тексеру);

  • Require Variable Declaration (Айнымалыны жариялауды талап етеу). Бұл жалауша орнатулы болса, VB код терезесінің (General) (Declaration) бөліміне айнымалыларды жариялауды талап ететін Option Explicit (Дәл таңдау) жолын автоматты түрде кірістіріп қояды. Жалауша орнатылмаған болса, оны қосып қойған дұрыс.

Environment (Орта) бетінің Prompt To Save Changes (Өзгерісті тез сақтау) жалаушасы орнатылған кезде қосымшаны іске қосу алдында VB проектіні сақтауды ұсынатын сұхбаттық терезе шығарады, т.с.с.









ІІ ТАРАУ. ПРОГРАММАЛАУ ЭЛЕМЕНТТЕРІ


2.1. Берілгендер типтері. Айнымалылар.

Стандартты функциялар.


Visual Basic’те пайдаланылатын берілгендер типтері:


Айнымалы мәндері

Integer (бүтін, %)

[-32768; 32767] аралығында

Long (ұзын бүтін, &)

[-2147483648; 2147483647]

Byte (байт)

[0; 255]

Single (нақты, !)

дара дәлдікті нақты (7 символ)

Double (нақты, #)

екі есе дәлдікті нақты (15 символ)

String ($, жол)

символдар саны [0; 65535] аралығында

Variant (вариант)

жан-жақты (сандық, жолдық не логикалық мәндер)

Boolean (логикалық)

True не False

Currency (ақшалық)

ақшалық сомалар

Date (дата)

дата


Бұлардан басқа объектіге сілтеме орнататын Objects (Объект) атаулы тип те бар, т.с.с.

Жатта қажетті орындар бөлу үшін айнымалылар Dim не Static операторлары арқылы сиппатталады (dimension - өлшем, static – статикалық, қозғалмайтын). Сипаттау үлгілері:


Dim, Static кілттік сөздерінің бірі бір процедура ішінде пайдаланылатын айнымалылырды сипаттау кезінде жазылады. Олардың орнына Private кілттік сөзін жазу да мүмкін. Мысалы:

Dim x As Single,

Static x as Single,

Private x as Single

сипаттамалары бірдей. Static арқылы сипатталған айнымалының ағымдық мәні процедура аяқталған кезде де сақталады; Dim, Private айнымалылырының мәндері жойылып кетеді.

Айнымалыны қосымшаның түрлі процедураларында пайдалану үшін оны код терезесінің (General) (Declaration) секциясында (бөлімінде) Public кілттік сөзі арқылы сипаттау керек (Public –көпшілік). Терезеде алдымен Option Explicit жазуы көрінуі мүмкін.

Ескерту. 1. Айнымалы атауы үшін кілттік сөздерден, кілттік символдар мен бос орын және тыныс белгілерінен басқа ұзындығы 255-ке дейін (кирилицамен қоса) символдар тізбегін алуға болады.

2. General / Declaration секциясы шығатын код терезесі форманы екі рет шертпей, алғашқы рет ViewCode командасы берілген кезде көрінеді. Private арқылы жарияланған процедурамен тек бір формада, Public арқылы жарияланған процедурамен проектінің барлық формаларында жұмыс істеу мүмкін (олар барлық формаларда қолжетерлік).

Қарапайым программаларда сандық және жолдық айнымалыларды (х%, у, а$) вариант типті етіп сипаттау да мүмкін (Variant, жан-жақты). Бұл кезде айнымалылардың типтері көрсетілмей жазылады: Dim x, y, a.

Мысалы, процедурада айнымалылар вариантты типті етіп (Dim x, y) арқылы сипатталған. Оның қатесі жоқ. Редактор процедураға енгізілген вариант типті айнымалының типін өзі ажырата алады. Бірақ күрделі программаларда редактор қате жіберіп, бүтін типті айнымалылырды жолдық (символдық) деп қабылдауы мүмкін. Сондықтан айнымалыларды сипаттауда олардың типтерін де жазып қойған дұрыс.

Программада жиі пайдаланылатын тұрақтыны Const операторы арқылы сипаттау да мүмкін (Constтұрақты). Мысалы, программа үзіндісін мына түрде жазуға болады:

Const pi = 3.1415926

R = 4.5 : h = 7

C = pi * r^2 * h

V = pi * r^3 * h / 3

VB’те пайдаланылатын математикалық операторлар мен стандартты функциялардың басым көпшілігі Бейсиктеғі сияқты:

+ (қосу); - (азайту); * (көбейту); / (бөлу); \ (бүтін бөлу); ^ (дәрежелеу); Mod (қалдықты есептеу); $ (жолдарды біріктіру, конкатенация);

Abs(x); Sin(x); Cos(x); Atn(x); Sqr(x); Exp(x); Int(x); Rnd(x); Mid$, Left$, Right$,

Str$(x) – сандық мәнді жолдық типті ету;

Val (x) – цифрлармен берілген жолдық мәнді сандық типтіге алмастыру, т.б.

Visual Basic’те құрылымдық программа құру үшін Qbasic’те қолданылатын құрылымдар пайдаланылады.


Тармақталу командасы


Тармақталу командасының құрылымдары:


1) If P Then S 1-нұсқа


2) If P Then 2-нұсқа

S

End If


3) If P Then көп нұсқалы тармақталу командасы

S1

Else P2 Then

S2

Else P3 Then

S3

....................

End If


Мұндағы Р, Р1, Р2, Р3, ... - шарттар;

S, S1, S2, S3, … - блоктар (бір сериялы операторлар).

Соңғысы - көп нұсқалы тармақталу (таңдау) командасы.

Тармақталу командасының бірінші және екінші құрылымдары бірдей. Бірінші құрылымды блокқа бір команда енгізілгенде ғана пайдалануға болады. Екінші құрылым барлық жағдайда қолданылады.

Мысал. Пайдаланушы интерфейсін құрып, ах2+bx+c=0 квадрат теңдеуін шешу керек.

  1. VB орталығын ашу.

  2. Форманы таңдап, Caption қасиетінің мәні үшін «Квадрат теңдеу» мәнін енгізу.

  3. Формада Label1, Label2, Label3, Label4, Label5 өрістерін орнату. Label1’ге квадрат теңдеудің а коэффициентін, Label2’ге b коэффициентін, Label3’ке бос мүшені (с), Label4’ке х1 мәнін, Label5’ке х2 мәнін енгізуді жоспарлау. Caption қасиеті арқылы олардың ішіне енгізілген жазуларды өшіріп тастауға болады.

  4. Формаға Command1, Command2 басқару түймелерін орнату. Caption қасиеті арқылы оларға Қосу, END сөздерін енгізу.

  5. Қосу (Command1) түймесін екі рет шертіп, ашылған код терезесіне процедура енгізу:

Private Sub Command1_ Click ()

Dim a, b, c, d, x1, x2, x

а = InputBox (a, “a = “) : Label1.Caption = a

b = InputBox (b, “b = “) : Label2.Caption = b

c = InputBox (c, “c = “) : Label3.Caption =c

d = b^2 – 4* a * c

If d > = 0 Then

x1 = (-b + sqr (d) ) / (2 * a)

x2 = (-b - sqr (d) ) / (2 * a)

Label4.Caption = x1 : Label5.Caption = x2

Else x = «Нақты шешімі жоқ» : Label4.Caption = x

End If

End Sub

  1. Форамны ашып, END түймесін екі рет шерту. Код терезесінде Command2 _ Click атаулы процедура моделі көрінеді. Оның ішіне End операторын енгізу:

Private Sub Command2_ Click ()

End

End Sub

  1. Проектіні сақтау.

  2. Іске қосу командасын беру (F5). Форма терезесі көрінеді. Оның Қосу түймесін шерту.

  3. Көрінген InputBox терезесіне ретімен а, b, c мәндерін енгізіп, ОК түймесін шерту (КҚ клавишін басуға да болады).


[pic]

2.1-сурет. 3х2 - 4х +1= 0 тендеуін шешуде

көрінген интерфейстік форма


a, b, c мәндері үшін 3, - 4, 1 сандары енгізілген кезде көрінетін форма 2.1-сурете бейнеленген.

Ескерту. Алғашқы рет MsgBox терезесінде х1 мәні көрінеді. х2 мәнін терезеге шығару үшін ОК түймесін шерту керек.

Мысал. Int, Rnd функцияларын пайдаланып, форма терезесінің Label1, Label2 объектілері ішіне 15-тен кіші кез келген бүтін сандарды шығару керек. Егер оның біріншісінде 7 саны көрінсе, екіншісіне «Ура!» сөзі енгізіліп, программа жұмысы тоқтатылсын.

  1. Форма терезесіне Label1, Label2, Command1, Command2 объектілерін орнату. Caption қасиеттері арқылы Label1, Label2 объектілерінің ішіне жазылған сөздерді өшіріп тастау.

  2. Command1, Command2 объектілерінің Caption қасиеттеріне сәйкес Қосу, End мәндерін меншіктеу.

  3. Процедуралар құру:

Private Sub Command1 _ Click ()

Label1. Caption = Int (15*Rnd)

Label2. Caption = Int (15*Rnd)

If Label1. Caption = 7 Then

Label2. Caption = «Ура!»

End If

End Sub


Private Sub Command2_Click()

End

End Sub

  1. Іске қосу командасын беру (F5). Форма көрінеді.

  2. Форманың Қосу түймесін қайталап шерте беру. Әр шерту аяқталған сайын Label1, Label2 өрістерінде 15-тен артық емес кез келген бүтін сандар көрінеді.

  3. Label1 өрісінде 7 көрінген кезде (2.2-сурет) End түймесін шертіп, программа жұмысын аяқтау.

[pic]

2.2-сурет. Кездейсоқ бүтін сан шығарылған форма.


Мысал. Тікұшақтың ағымдық жылдамдығын форма терезесінде көрсетіңіз. Егер жылдамдық мөлшері 450-ге жетсе, «Газды төмендет, жылдамдық артық!» ескертуі. MsgBox терезесіне шығарылсын.

  1. Орталықты ашып, формада тік белдеуше (VscrollBar) және Label1 өрісін орнату. Белдеушені барынша созу. (Элементтер панелінің белдеушесі әдеттегі редактор терезесінің белдеушесіндей емес. VB’те ол мәнді үлкейту не кішірейту үшін пайдаланылады, т.б.)

  2. Объект қасиеттерін орнату:


3. Код терезесін ашып, оның (General) (Declaration) бөлімінде айнымалыларды сипаттау және Form_Load, vscGazkors_Change процедураларын құру (процедура модельдері форма және тік белдеушені екі реттен шерткен кезде көрінеді):


Option Explicit

Private Gaz As Integer 'Газдын агымдык мэні

Private Const JJ = 430 'Жылдамдык шегі

Private Sub Form_Load()

vscGazkors.Value = 100 'Газ мэнін инициалдау

End Sub

Private Sub vscGazkors_Change()

Dim jld As Integer 'Агымдык жылдамдык

'Белдеушенін тобесінен кашыктык

Gaz = 100 - vscGazkors.Value

'Газ мэні бойынша агымдык жылдамдыкты есептеу

jld = Gaz * 4.5

'Агымдык жылдамдыкты жанарту

lblMan.Caption = "Агымдык жылдамдык" & _

Trim$(Str$(jld))

If jld >= JJ Then

MsgBox "Газды томендет,", vbCritical, "Жылдамдык артык!"

End If

End Sub


  1. Проектіні сақтап іске қосу (F5).

Программаға ұшаққа газ беретін тұтқамен жұмыс істеу тәсілі енгізілген (тұтқа баламасы – тік белдеуше). Программа іске қосылған соң ағымдық жылдамдық жазылған форма көрінеді. Көрсеткіш арқылы тік белдеушенің жылжыма түймесін жоғары жылжытыңыз. Формада көрінген ағымдық жылдамдық 430-ға жеткен кезде ескерту енгізілген MsgBox терзесі көрінеді (2.3-сурет).


[pic]


2.3-сурет. Жылдамдық көрсетілген форма


(Программаға енгізілген Trim$ - сандық мән жолдық етіп өзгертілгенде пайда болуы мүмкін бос аралықтарды алып тастап, жолды қысу операторы).

Таңдау командасы

2.2-тақырыпта берілген бірнеше шарт енгізілген таңдау командасын Select Case операторын пайдаланып құрған жөн. Оның жазылу форматы Qbasic’тегі сияқты:


Select Case <айнымалы>

Case m1: S1

Case m2: S3

……………

End Select


Мұндағы m1, m2, ... – енгізілген сұрыптаушы айнымалы мәнімен салыстырылатын мәндер. Мәнге сәйкес блок орындалады да, басқару таңдау командасынан соңғы операторға беріледі.

Ескерту. Case m операторын Case is = m форматында жазу да мүмкін.

Үш тармақтан тұратын таңдау командасы денесін төмендегідей жазуға болады:


Case Is < m : S1

Case Is = m : S2

Case Is > m : S3

То кілттік сөзін пайдаланып, Case ауыстырып қосқыш операторының параметрлері ретінде бүтін сандық аралықтарда енгізу де мүмкін. Мысалы, Case -5 То 1; Case 2 То 10; Case 11 То 15; …


Мысал.

[pic]


функциясының мәнін есептеу процедурасын құру керек. Мән MsgBox терезесіне шығарылсын.

Private Sub Form_ Load ()

x= InputBox (x,”x=”)

Select Сase x

Case is <1: y=x^2+5: MsgBox(y), , “y=”

Case is =1: y=3*x+2: MsgBox(y), , “y=”

Case is >1: y=2*x^2-1: MsgBox(y), , “y=”

End Select

End Sub

(Case операторын пайдаланудың тағы бір мысалы 3.8-тақырыпта берілген).


2.2. Цикл. Циклден ерте шығу


Циклдердің процедурада жазылу синтаксистері Qbasic’тегідей. ForNext (үшін), Whilewend (Әзірше) циклдерінің жазылу құрылымдары:

  1. For k=k0 To k0 [Step H] 2. While P

S S

Next [k] Wend


DO (дейін) циклінің бес құрылымы бар:

  1. Do while P 2. Do

S S

Loop Loop While P


3. Do until [pic] 4. Do

S S

Loop Loop until [pic]

5. Do

S

Loop Шексіз қайталу циклі


Мұндағы: S-цикл денесі; Р-шарт; [pic] - Емес Р;

While - әзірше; Wend - соңы; For - үшін;

Next - келесі; Do - орындау; Loop - қайталу;

Until - дейін. [pic]


Ескерту. Төмендегі мысалдарды шешуге арналған формаларға алдымен басқару түймесін орнатып, оны программа жұмысын аяқтау командасы (End) үшін пайдаланған жөн.

Мысал. Өлшемдері пиксельмен берілген, радиустары 15-ке тең ақ және қызыл түсті шеңберлерді h=10 қадам бойынша форма диагональдарында FORNEXT циклі арқылы «жылжыту» керек. Ақ шеңбер жоғарыдан төмен, қызыл шеңбер төменнен жоғары жылжытылсын.

Форманы екі рет шертіп, ашылған код терезесінде Form_Paint процедурасын мынадай түрде құруға болады:


Private Sub Form Paint ()

ScaleMode = 2

For r=1 To 360 Step 10

Circle(k, k/2), 15, RGB(255, 255, 255)

Circle(k, 200 – k/2), 5, RGB(255,0, 0)

For j = 1 To 250000 : Next j

Cls

Next k

End Sub

Мұндағы j параметрлі ішкі бос цикл формаға салынған ағымдық шеңберлерді аз уақыт ұстап тұру, Clsорындау кезінде формаға салынатын графикті не мәтінде тазалау командалары.

FOR – NEXT циклінен ерте шығу үшін EXIT DO орнына EXIT FOR операторын пайдаланса болғаны.


Сандық массивтермен жұмыс


Бір атау арқылы байланыстырылған бір типті айнымалылар (не олардың мәндерінің) жиынтығы массив деп аталады. Массивтермен жұмыс істеу негіздері QBasic' тегі сияқты.


Мысал. Сандық массив құрып, оның минимумы мен максимумын табу керек.

Пайдаланушы интерфейсін құрып, мәндерді формада көрсету әдісі:

  1. VB орталығын ашып, формаға Label1, Label2, Command1, Command2, объектілерін орнату. Label1 өрісіне минимумды, Label2-ге максимумды енгізуді жоспарлау.

  2. Command1, Command2 басқару элементтерінің Caption қасиеттеріне Қосу, END мәндерін меншіктеу.

  3. Қосу, END объектілерін екі реттен шертіп, процедуралар құру:

Private Sub Command1 _Click ()

Static a(15) : Dim k, min, max

n = InputBox (n, “Элементтер саны=”)

For k = 1 To n

a(k) = InputBox (a(k), “Кезекті элемент =”)

Next

Min = a(1) : max = a(1)

For k = 1 To n

If a(k) <= min Then min = a(k)

If a(k) >= max Then max = a(k)

Next

Label1.Caption = min : Label2.Caption = max

End Sub

………………………………………………………

Private Sub Command2_Click ()

End

End Sub

  1. Процедураны сақтап, іске қосу.


2.3. EXE – Файл құру


VB’те құрылып, сақталынған файлды Windows жетекшісінде автомматты түрде іске қосуға болатындай етіп EXE-файлға айналдыруға болады. Ол үшін құрылған программаны сақтаған соң FileMake<атау>.exe командасын беру керек. (Мұндағы <атау> - сақталған проектіге берілген атау). Make Project (Проект дайындаушы) терезесі көрінеді. (2.4-сурет).

[pic]

2.4-сурет. Make Project терезесі


Сұхбаттық терезені жауып, Make Project терезесінің ОК түймесін шертсе болғаны. (Терезенің Options (таңдау мүмкіндігі) түймесін шертіп, ашылған сұхбаттық терезеде версия нөмерін, қосымша тақырыбын және т.б орнатуға болады).

EXE – файл Windows жетекшісі терезесіне жазылып қойылады. Visual Basic’ті іске қоспай ақ, оны осы терезеде іске қоса беру мүмкін.


Процедура. Функция

VB-те процедура деп – Sub және End Sub операторларының аралығында жазылатын қосалқы программаны, функция деп – Function және End Function операторларының аралығында жазылатын қосалқы программаны атайды. Олардың жазылу құрылымы Qbasic-тегі сияқты. Sub процедурасының шақыру командасында нақты параметрлер жақшаларға алынбай жазылады (оларды жақшаларға алған кезде шақыру командасының алдына CALL (шақыру) кілттік сөзін жазу керек).

Мысал. Тікбұрышты үшбұрыштың катеттері белгілі: a=3.5, b=4.2. Процедура және функция енгізілген программалар арқылы оның параметрін табу керек.

Pifagsub процедурасы енгізілген есепті шешу программасы:

Private Sub Form _Load ()

Dim a, b, c, p

a = 3.5 : b = 4.2

Pifagsub a, b, c : p = a+ b +c

MsgBox(p), , “Периметр=”

End Sub

Sub Pifagsub (a1, b1, c1)

c1 = sqr (a1^2 + b1^2)

End Sub


Ескерту. a1, b1, c1 формальды параметрлерін a, b, c (нақты параметрлер) түрінде жазу да мүмкін.

Pifagfunc функциясы енгізілген есепті шешу программасы:


Private Sub Form _Load ()

Dim a, b, p

a = 3.5 : b = 4.2

p = a+ b +c + Pifagfunc (a, b)

MsgBox(p), , “Периметр=”

End Sub

Function Pifagfunc (a1, b1)

Pifagfunc = sqr (a1^2 + b1^2)

End Function


VB бірінші программадағы Pifagsub a, b, c шақыру командасын оқып шығып, a, b, c және формальды a1, b1, c1 параметрлерінің типтері мен сандарының сәйкестігін тексереді де, a1 := а, b1 := b меншіктеу командаларын орындайды. Одан әрі процедура денесін орындап, есептелген с1 мәнін с айнымалысына меншіктейді.

Екінші программаға қосалқы программа – функция енгізілген. Мұнда өрнек құрамындағы шақыру командасы бойынша функция денесі орындалады да, есептелген мән шақыру командасының орнына қосылады.

Әр программаға осы сияқты процедуралар мен функцияларды қайта – қайта енгізіп жатпау үшін VB-ке оларды арнайы атау берілген модуль түрінде дайындап, модуль бөлігінде сақтап қою мүмкіндігі енгізілген. Программаларға оларды модульдік процедура не модульдік функция атауы бойынша шақыру командасын енгізу жеткілікті (IV тарауды қараңыз).


Программаны дұрыстау


Код терезесінде құрылған программада синтаксистік не семантикалық қателер жіберілуі мүмкін. Программа іске қосылған кезде VB синтаксистік қате типін көрсететін сұхбаттық терезе шығарып, көбінесе қате жазылған жолды басқа түске бояп қояды. Егер оператор қате жазылса, мұндай терезе программаның келесі жолына өту кезінде шығады да, курсор қате жазылған оператор үстіне орнатылады, т.с.с. Қателерді жөндеп, іске қосу командасын қайта беру керек.

100 орнына 1000 жазылған сияқты семантикалық қателерді жүйе таба алмайтындықтан, мұндай типті қатені іздеп табу әдетте программаны тестілеу арқылы жүргізіледі.

Immediate терезесіне (1.16-сурет) синтаксистік қатені көрсету мәліметін шығаруға болады. Мысалы, Form _Load процедурасы мынадай түрде жазылсын:


Private Sub Form _Load ()

Dim x As Integer

On Error GoTo 5

х=50000 : y=2*x+5 : Print y

5: Debug.Print “Қaтe. x=” & x

End Sub


Мұндағы On Error программада қате барлығын анықтау кілттік сөзі. Қате бар болса, ол Immediate (Debug, дұрыстау) терезесінде көрсетіледі. Программаны орындалу нәтіжесінде бұл терезеде «Қате.х=0» жазлуы көрінеді (2.5-сурет). Процедурадағы қате – х типін Integer деп сипаттау (сипатталатын тип: Long. ІІ тарауды қараңыз).

VB’те қате кеткен жолға үзіліс нүктесін орнататын, іске қосу, тоқтату және т.б. әрекеттерді орындайтын 12 түймелі Debug (Дұрыстау, Түзету) панелі де бар. Оны ашу командасы: DebugToolbarsDebug. Панель арқылы дұрыстау жүргізілсе, Debug мәзірінің Clear All Breakpoints командасы арқылы барлық үзіліс нүктелерін алып тастау қажет. (Debug терезесіне енгізілген түймелердің іс-әрекеттерінің көпшілігі Debug мәзірінің командалары ретінде енгізілген).


[pic]

2.5-сурет. Immediate терезесінде қатенің көрсетілуі.


ІІІ ТАРАУ. МӘЗІР ҚҰРУ. ФОРМАЛАРМЕН ЖҰМЫС


3.1. Мәзір құру және онымен жұмыс


Форманы Windows қосымшаларының терезесі сияқты пайдалану Visual Basicтің тағы бір ерекшелігі. Формада түрлі мәзірлер орнатып, әр мәзірге енгізілген командалық пункттер объектілерімен әдеттегідей жұмыс істеуге болады. Мәзір құру үшін VB құрамына Menu Editor (Мәзір редакторы) программасы енгізілген. Оны пайдалану әдісі:

Форманы таңдап, ToolsMenu Editor (Құрал – Мәзір редакторы) командасын беру (аспаптар панелінің «Мәзір редакторы» түймесін шертуге де болады). Редактор іске қосылып, оның екі бөлімді терезесі көрінеді (3.1-сүрет). Оның жоғарғы бөлімі мәзір және мәзір командаларының атауларын енгізуге арналған. Енгізілген атаулар терезесінің төменгі бөліміне жазылып қойылады.

[pic]

3.1-сурет. Мәзір редакторы терезесі.


Терезеде көрінген Caption, Name, Checked, Enabled, Visible, WindowList-мәзір компоненттері (қасиеттер):

Caption мәзір не оның командасы атауын анықтау.

Nameпрограммада ажырату үшін Caption өрісіне енгізілген атауды арнайы түрде жазу (VB атауды Name өрісіне енгізілген түрде қабылдайды).

Visible (көрсету) – мәзір командасын жасыру не көрсету.

Enabled (қосылулы) – командаға True не False мәнін меншіктеу. Алғашқы кезде Enabled, Visible қасиеттері үшін логикалық True мәні орнатулы тұрады. Оны ерекше жағдайлардан басқа кезде өзгертпеу керек.

Indexмәзірді элементтер массивіне айналдыру. Ол Windows-та пайдаланылатын тәсіл сияқты мәзір пункттерінің төменгі жағында ашылған файлдар тізімін көрсетіп қою үшін пайдаланылады.

Мысал. Формада Clock (Time, Date) мәзірін құру керек. Time (уақыт), Date (дата) – Clock (сағат) мәзірінің пункттері (жүйелік сағаттың ағымдық уақыты мен датаны көрсететін стандартты функциялар).

Мәзір құру тәсілі:

  1. Орталықты іске қосып, көрінген форманы ерекшелеу. Menu Editor терезесін экранға шығарып, Caption өрісіне мәзір атауын (Clock) енгізу, одан соң TAB клавишін басу (ол курсорды бір мәтіндік өрістен келесісіне орналастырып қояды). Атау төменгі бөлімге жазылады.

  2. Name өрісінің алдына mnu қосымшасы (префиксі) жазылған мәзір атауын енгізу: mnuClock. Ол программалық код терезесінің объектілер тізіміне кірістіріліп қойылады (mnuтізімге жазылған атаудың мәзір екенін ажырату үшін пайдаланылатын префикс. Mnu орнына басқа префиксті жазу да мүмкін).

  3. Next (келесі) түймесін шерту. Caption, Name өрістері тазаланады да, редактор келесі мәзір атауын не мәзір пунктін енгізуді күтеді. Курсор Caption өрісіне орналастырылып қойылады.

  4. Caption өрісіне Time, Name өрісіне TimeItem пункт атауын енгізу (item (пункт) – программада атаудың мәзір пункті екенін ажырату үшін пайдаланылған жалғау). Time терезенің төменгі бөліміне жазылып қойылады.

  5. Терезенің «Солдан оңға» () түймесін шерту. Ол төменде жазылған Time атауының алдына көп нүкте (....) қойып кетеді. Көп нүкте – редакторың Time-ді мәзір пункті етіп белгілеуі.

  6. Next түймесін шертіп, Caption өрісіне Date, Name өрісіне DateItem пункт атауларын енгізу. Бұл жолы «Солдан оңға» түймесін шертудің қажеті жоқ, оны тек алғашқы пунктті енгізу кезінде шерту керек. Редактор Date сөзін мәзір пункті деп автоматты түрде қабылдайды да, алдына көп нүкте қойып кетеді (3.2-сурет).


[pic]

3.2-сурет. Clock мәзірі құрылған Мәзір редакторы терезесі


Ескерту. Қажет болса, келесі мәзірлер мен олардың пункттерін де осылайша енгізуге болады. Редактор терезесінде Солға, Жоғары, Төмен, Кірістіру (Insert), Жою (Delete) түймелері де бар. Оларды пайдаланып, құрылған мәзірді редакциялау қиын емес.

  1. ОК түймесін шерту. Редактор терезесі жабылап, Clock мәзірі енгізілген форма

көрінеді. Мәзірді ашу үшін атауын әдеттегідей бір шертсе болғаны.


Form1
Clock

Time

Date





3.3-сурет. Clock мәзірі енгізілген форма модулі


Clock мәзірі пункттерімен жұмыс


  1. Формада Label1, Label2 объектілерін орнату. Label1 өрісіне уақытты, Label2 өрісіне датаны енгізуді жоспарлау.

  2. Clock мәзірін ашып, Time пунктін екі рет шерту. Код терезесі ашылып, процедура моделі көрінеді. Оны толтыру:

Private Sub TimeItem_ Click ()

Label1.Caption = Time

End Sub

  1. ViewObject командасы арқылы форманы экранға қайта шығарып, мәзірдің Date пунктін екі рет шерту. Ашылған код терезесінде процедура моделін толтыру:

Private Sub DateItem_ Click ()

Label2.Caption = Date

End Sub








3.4-сурет. Формаға енгізілген объектілер тізімі


Ескерту. Формада мәзір орнатылған соң код терезесінде процедура модельдерін ашудың екінші әдісі:

  • ViewObject командасы арқылы код терезесін ашу;

  • Терезенің сол жақ (General) бөліміне енгізілген тілсызық түймесін шертіп, объектілер тізімін ашу (3.4-сурет).

  • Тізімнен TimeItem қатарын екі рет шерту. Процедура моделі көрінеді. Оған қажетті команданы енгізу.

  • DateItem қатарымен де осы сияқты іс - әрекеттерді орындау.

4. Проектіні сақтау (мысалы, FormClock.frm; FormClock.vbp).

  1. Іске қосу командасын беру (F5). Форма көрінеді.

  2. Оған енгізілген Clock мәзірін ашып, ретімен Time, Date пунктерін шерту. Label1, Label2 өрістерінде ағымдық уақыт пен дата жазылып қойылады, мысалы:

12:47:25 26:12:2000


  1. Программа жұмысын аяқтау командасын беру (End).

Ескерту. TimeItem объектісінің қасиеттер терезесі жоқ. Сол себепті формада тек ағымдық уақыт көрінеді. (Жалпы, мәзір элементтерімен жұмыс істеу оқиғасы Click (басу) ғана).

3.2. Мәзір пункттерін орындайтын жылдам

клавиштер тағайындау


Жылдам клавиш


Мәзір командасын орындау үшін клавиатураның осы үшін арналған клавишін басуға болады. Әдетте мұндай клавиш жылдам клавиш делінеді. Ол көптеген қосымшалардың мәзір пунктерінде астын сызу белгісі арқылы белгіленіп қойылған.

VB-те жылдам клавиш тағайындау үшін мәзір редакторын ашып, мәзір құру кезінде Caption өрісіне енгізілген мәзір пункті атауының тағайындалатын өрісінің алдына амперсенд (&) белгісін орнатып қою жеткілікті. Мысалы, өріске Clock атауын &Clock түрінде, Time атауын &Time түрінде енгізсе болғаны. Бұл кезде & белгісінен соң бірінші болып жазылған әріптер (С және Т) жылдам клавиштер болып тағайындалады.

Іске қосу командасы берілген соң формада мәзірдің көрінуі 3.5-суретте көрсетілген.


Жалпы, мәзірдің түрлі командаларын тек түрлі клавиштер арқылы орындау мүмкін. сол себепті жылдам клавиштердің түрлі командалар үшін қайталанбауын қадағалау керек. Мысалы, Edit мәзірінде Cut (Кесіп алу), Copy (Көшіру) командаларын орындау үшін С клавишін тағайындау қате болар еді. Біріншісіне Т, екіншісіне С клавишін тағайындау үшін командада & символы осы әріптердің алдына енгізілуі тиіс:


&Copy Cu&t


Команданы мәзірсіз, жылдам клавиштерді пайдаланып орындау үшін іске қосу командасы берілген соң клавиатураның сәйкес (мәзірде асты сызылған) клавишін басу керек.


Жылдам клавиштер


Windows-та команданы екі не одан да көп клавиштерді бірінен соң бірін басу арқылы жылдам беруге болатыны белгілі. VB-те ол 3.2-суретте көрсетілген мәзір құру кезінде орнатылады. Мысалы, Clock мәзірінің Time командасын орындауға Ctrl+T, Date командасын орындауға Ctrl+D клавиштерін тағайындау әдісі:

  • Time, TimeItem атаулары Caption, Name өрістеріне енгізілген соң терезенің ShortCut (жылдам клавиштер) өрісіне енгізілген тізімді ашып, одан Ctrl+T қатарын таңдау. Ол мәзірдің Time пунктін орындау командасы болып тағайындаладыда, терезенің төменгі бөліміне жазылған Time пункті қатарының оң жағына кірістіріліп қойылады;

  • Date, DateItem атаулары сәйкес өрістерге енгізілген соң, Date командасын орындау үшін Ctrl+D командасын тағайындау (тағайындау әдісі жоғарыдағы сияқты).

  • OK түймесін шерту. Форма көрінеді. Оған енгізілген Clock мәзірінің ашылғандағы көрінісі 3.6-суретте бейнеленген.


Мәзір пунктін орындау үшін алдымен іске қосу командасын беру керек. Одан әрі Ctrl+T, Ctrl+D командалары енгізілсе, ағымдық уақыт пен дата алдын ала формада орнатылған Label1, Label2 өрістерінде көрінеді.


Контексті мәзір құру


Формаға енгізілген мәзірді тышқанның оң түймесін шертіп көрсетуге болады. Мұндай мәзір бетке шығатын не коньексті мәзір деп аталатыны белгілі. Clock мәзіріне енгізілген командалардан тұратын контексті мәзірді құру әдісі:

  1. Clock мәзірі енгізілген форманы экранға шығару.

  2. Форманы екі рет шертіп, код терезесін ашу.

  3. Терезенің оқиғалар тізімінен MouseUp (тышқан арқылы жоғарыға) оқиғасын таңдау.

  4. Көрінген процедура моделін толтыру:


Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 2 Then

PopupMenu mnuClock

End If

End Sub

Процедураға енгізілген команда: «Егер тышқанның оң түймесі басылса, mnuClock контекстік мәзірін шығару» (popup-күтпеген жерден).

  1. Іске қосу командасын беру (F5).

  2. Көрінген форма бетінде тышқанның оң түймесін басу. Контексті мәзір (Clock мәзірі пункттерінің тізімі) көрінеді. Оларды әдеттегідей пайдалана беруге болады.

  3. Программаны сақтау, жабу.

Ескерту. 1. Windows-та жұмыс істейтін қосымшаның мәзіріне енгізілген кейбір командалар бірдей қол жетерлік емес. Мысалы, Edit мәзіріне енгізілген Copy, Paste командаларының біреуі қосылулы тұрса, екіншісі қосылмай күңгірт түрде көрінеді. VB-те бұл үшін мәзір редакторы терезесінде мәзірдің сәйкес пункті құрылған соң Enabled (Қосылулы) жалаушасын алып тастаса болғаны.

  1. Кез келген объектіге арналған контексті мәзірді экранға шығару үшін оны таңдап, оң түймемен шерту керек.


Форманы безендіру


Wmf, bmp т.с.с. типті графикалық кескінді формаға енгізудің түрлі тәсілдері бар. Оны тез орнату жолы:

  1. Орталықты ашып, форманы барынша кеңейту.

  2. Элементтер панелінің PictureBox (сурет қорабы) түймесі арқылы формаға сурет орналастырылатын өріс орнату.

  3. Объектіні таңдап, оның Picture қасиетін екі рет шерту (қасиет мәні қатарында көрінген көпнүктені шертуге де болады). Load Picture терезесі көрінеді. Бұл терезеге Windows-та, ClipArt-та, т.б. қосымшаларда сақталған кескіндік файлдар атауларын шығаруға болады. Мысалы, ол үшін C:\ Program Files\ Microsoft Office\ Clipart\ Popular бумасын таңдаса болғаны, т.с.с.



[pic]


3.7-сурет. Picture1 объектісінің ішіне енгізілген кескін (Облака)


  1. Көрінген файлдар ішінен қажеттісін таңдап, Ашу түймесін шерту. Кескін формада орнатылған Picture1 объектісінің ішіне кірістіріліп қойылады. (C:\Windows\Облака.bmp файлы таңдалған кездегі форманың көрінісі 3.7-суретте көрсетілген).


Қозғалту әсерін ұйымдастыру


Объектіні жылжыту үшін оны таңдап, Жылжыту және Қалдыру тәсілін пайдалануға болатыны белгілі. Объектіні автоматты түрде «қозғалту әсерін» (анимация, мультипликация эффектісін) форманың координаттар жүйесінде Move (жылжыту) командасын (әдісін) және формада орнатылған Таймер объектісін пайдаланып орындауға болады. (Формада координат осьтерінің орналасуы Бейсиктегідей сияқты. Өлшем бірлігі -twip).

VB-те Picture1 объектісіне орнатылған суреттің салыстырмалы жылжуын ұйымдастыратын оператор:

Picture1.Move Picture1.Left S1, Picture1.Top S2

Мұндағы Left (солға), Top (жоғары)-объект қасиеттері; S1,S2- плюс (+) не минус (-) таңбалы твиппен берілген бүтін сандар. Олар салыстырмалы жылжытылу шамасын көрсетеді. Мысалы, Left-50, Top-50 объектіні тұрған орнынан бастап солға 50, жоғарыға 50 твип бойынша жылжыту (+ таңбасы енгізілген әрекет керісінше).


Таймер объектісі жылжыту жылдамдығын орнатады, оның Interval қасиетіне 50-200 аралығындағы санды меншіктеу жеткілікті (мән кіші болған сайын жылдамдық артады).

Мысал. Форманың оң жақ төменгі бөлігіне кірістірілген шағын Picture1 объектісіне «Облака.bmp» суретін орнатып, оны автоматты түрде жоғары қарай көлденең «жылжыту» керек.

  1. Орталықты іске қосып, форманы барынша кеңейту.

  2. Оның оң жақ төменгі бөлігіне Picture1 объектісін, келесі бөлігіне Timer1 объектісін орнату.

  3. Объектілердің қасиеттеріне мән меншіктеу:


Объект

Қасиет

Меншіктелетін мән

Picture1

Appearance (Сыртқы түс)

0-Flat (жазық)


Picture

VB\ Облака.wmf


Visible

True


BorderStyle (Жиек)

0-None


BackColor (Фон түсі)

MenuBar

Timer1

Enabled

True


Interval

100

  1. Код терезесінде процедуралар құру:


Private Sub Picture1_Click()

Picture1.Visible = True

Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()

If Picture1.Top > 0 Then

Picture1.Move Picture1.Left - 50, Picture1.Top - 50

Else

Timer1.Enabled = False

Picture1.Visible = False

End If

End Sub


  1. Проектіні сақтап, іске қосу.


Объектілер топтамасы. For Each циклі

VB-те формада орнатылған объектілер байланысты бір топ ретінде қарастырылады да, олар объектілер топтамасы (жиъштығы) не Controls топтамасы (басқару құралдары) делінеді.

Формада топ объектілерімен өлшемін өзгерту, жылжыту, басқа атау меншіктеу сияқты жұмыс істеуге болатыны белгілі. Мұндай өңдеу жұмыстарын топтама үшін тұтас орындауға болады. VB-те ол үшін For Each..Next циклі пайдаланылған. Жазылу түрі :


For Each Control in <Форма атауы>.Controls

<0бъектімен іс - әрекеттер >

Next Control

Мұндағы Control - топтың ағымдық объектісін көрсететін айнымалы; цикл денесі (<0бъектімен іс әрекеттер>)- объектінін қасиеттерін өзгерту командалары, мысалы; Enabled осылулы), Left (Сол жақтан), Top (Жоғарыдан), Caption (Үстіне жазу), Visible өрсету).

Мысал. Форманың сол жағына сурет енгізетін екі Picture1, Picture2 объектілері мен Command1 басқару элементін орнатып, сурет орнатылған соң оларды тобымен оңға бірте-бірте 250 бірлікке жылжыту керек.

  1. Орталықты іске қосу. Жаңа форма көрінеді (Form1).

  2. Форманың сол жағына Picture1, Picture2, Command1 объектілерін орнату.

  3. Picture1, Picture2 объектілерінің Picture қасиетінің мәндері үшін бір графикалық файлды, мысалы, "Облака.bmр" файлын таңдап, сәйкес объектілерге кірістіру (3.8 — сурет).

  4. Command1 түймесін екі рет шертіп, код терезесінде ашылған процедура моделін толтыру:

[pic]

3.8-сурет. Топтаманың дайындалған кезде көрінісі


[pic]

3.9-сурет. Топтаманың біртұтас жылжытылған көрінісі


Private Sub Command1_Click()

For Each Ctrl In Controls

Ctrl.Left = Ctrl.Left + 250

Next Ctrl

End Sub

Мұндағы ctrl — жиынтықтьң ағымдық объектісін анықтайтын айнымалы.

4. Проектіні сақтап, іске қосу командасын беру.

  1. Көрінген форманың Command1 түймесін бірнеше рет шерту. Түйме басылған сайын объектілер біртұтас түрде оңға жылжиды (соңғы түрі 3.9 — суретте көрсетілген).


Файлдық жүйе объектілері. Оларды пайдаланып формада сурет орнату

Элементтер панелінің DriveListBox, DirListBox, FileListBox (дискіжетек, каталогтар мен файлдар тізімдері) элементтері арқылы формада файлдық жүйе объектілерін орнатып, олармен жұмыс істеуге болады. Мысалы, файлдар арасында графикалық файлдар бар болса, олардың бірінің кескінін формаға кірістіріп қою мүмкін. Бірақ бұл біраз еңбекті қажет ететін жұмыс.

Файлдық жүйе объектілерін орнату әдісі:

1. Орталықты ашып, форманы барынша кеңейту.

2. Tools - Options (Аспаптар-Таңдау мүмкіндігі) командасын беру. "Options" терезесі ашылады.

3. Терезенің Editor қондырмасын ашып, Require Variable Declaration (Қажетті айнымалыларды жариялау) қатарындағы жалауша орнатулы болса, оны алып тастау және ОК түймесін шерту.

4. Элементтер панелінің DriveListBox (Дискіжетектер тізімі) түймесі арқылы форманың сол жақ жоғарғы бұрышына объект орнату (Drive1). Оның ішіне ағымдық диск (С:) орнатылып қойылған.

5. Элементтер панелінің DirListBox (Каталогтар тізімі) түймесін пайдаланып, формаға енгізілген бірінші объектінің төменгі жағына келесі объект орнату (Dir1). Онда VB бумасы таңдалып қойылған. Ішінде біршама бумалар көрінгенше объектіні төмен созу.

Орнатылған объектілер арқылы дискіжетек пен бумаларды іске қосу мүмкін емес. Ол үшін мынадай іс-әрекеттердің орындалуы тиіс:

6. Элементтер панелінің FileListBox (файлдар тізімі) түймесі арқылы формаға енгізілген екінші, Dir1 объектісінің төменгі жағына үшінші объект орнатып (File1), бірнеше файл атаулары көрінгенше оны да төмен қарай созу.

Соңғы объект файлдық жүйенің қажетті файлын таңдауға мүмкіндік береді. Оны пайдаланып, формада .bmp не басқа типті кескін орнату әдісі:

  1. Элементтер панелінің Image түймесін шертіп, форманың оң жағына үлкен өріс орнату (Image1).

  2. File1 және Image1 объектілерінің қасиеттерінін орнату:


Объект

Қасиет

Меншіктелетін мән

File1

Pattern (үлгі)

*.bmp; *.wmf; *.ico

Image1

Stretch (созу)

True


BorderStyle (жиектеу)

1-Fixed Single (даралық түрде орнату)


Мұндағы Pattern қасиетінің мәні үшін графикалық файл атауларының типтері (кеңейтулері) енгізілді: .bmp- шашырама (растралық), .wmf- Windows метафайлдары, .ico- пиктограмма (белгіше) типтері. Олар Visual Basic қосылған бумалардың ішінде бар болса, File1 объектісінің ішінде жазылып қойылады. Ал, жоқ болса, File1 ішіне жазылған файлдар алынып тасталады, яғни объектінің іші бос болып көрінеді. (Ескеретін жәйт: егер мән үшін *.VBP типі меншіктелсе, объектіге тек проект атаулары шығады, т.с.с.).

  1. Drive1 объектісін екі рет шертіп, код терезесінде көрінген Drive1_Change процедурасының ішіне


Dir1.Path = Drive1.Drive


операторын енгізу. Ол ағымдық етілген дискінің Path (жол) қасиетін жаңартады (change-өзгерту) және формада орнатылған Dir1, Drive1 объектілерін бір-біріне жалғап қосады (конкатенациялайды).

  1. Dir1 объектісін екі рет шертіп, код терезесінде көрінген Dir1_Change процедурасына


File1.Path = Dir1.Path

командасын енгізу. Команда файлдар тізімін каталогтар тізімімен байланыстырады (таңдалған бума ішіндегі файлдар File1 ішінде көрінеді).

  1. File1 объектісін екі рет шертіп, код терезесінде көрінген File1_Change процедурасы ішіне екі команда енгізу:


pf = File1.Path & "\" & File1.filename

Image1.Picture = LoadPicture(pf)


Мұның біріншісі - пайдаланушы таңдаған файлдың толық атын рf айнымалысына меншіктеу (Path, filename-File1 объектісінің қасиеттері; &-жалғап қосу белгісі). Келесісі – файлды форманың Image1 өрісіне тиеу командасы. Мұндағы LoadPicture-VB функциясы, Picture- Image объектісінің қасиеті. (Формаға Image орнына Picture объектісін орнатқан да дұрыс).

  1. Программаны сақтап, іске қосу (F5). Пайдаланушы интерфейсі орнатылған форма көрінеді. Онда көрінген объектілердің тік белдеуше белгілерін жоғары-төмен қозғалта беруге болады.

  2. File1 объектісінен қалаған кескіндік файлды таңдау, мысалы, Lion.wmf”. файлға жазылған кескін Image1 өрісіне кірістіріліп қойылады. (3.10-сурет).


[pic]

3.10-сурет. Файлдық жүйе объектілері,

олар арқылы орнатылған сурет


Мәтіндік өрістер. Мәтіндік өрістермен жұмыс


Қысқа мәтіндік мәліметтерді енгізудің қарапайым түрі: InputBox, MsgBox терезелерін пайдалану. Мәтінді формаға енгізу де мүмкін. ол үшін алдымен формаға мәтіндік өріс орнатып, курсорды мәтін өрісіне орналастырып алу керек.

Мысал. Форманың мәтіндік өрісіне үш қызметкердің фамилиясы (аты-жөні) мен туған жылы енгізілген жолдарды енгізу керек.

  1. Орталықты ашып, форманы барынша кеңейту.

  2. Элементтер панелінің TextBox түймесі арқылы формаға үлкен төртбұрышты өріс орнату (Text1).

  3. Text1 объектісінің қасиеттеріне мәндер меншіктеу (оның Caption қасиеті жоқ):

Қасиет

Мән

Name

txtMatin

Multilane (көп жол)

True

Scrollbars (айналдыру белдеушесі)

2-Vertical (тік)

Tabstop (табуляциялау)

False

Font

TimesKaz, 10 не 12

Locked (құлып)

False

TabIndex

0

Text

Бос ету

Мұндағы:

Multiline — бірнеше жолдардан тұратын мәтінді енгізуге мүмкіндік беру;

ScrollBars - мәтіндік объектіге тік белдеуше орнату;

Name - мәтін атауы. Үндемеген кезде атауға txt префиксі қосылып қойылады.

TabIndex - мәтіндік өрісті іріктеу. (Алғашкы рет 1- өрістің. бұл қасиетіне автоматты түрде 0 саны меншіктеледі. Егер келесі мәтіндік өріс орнатылса, оған меншіктелетін мән -1, т.с.с.).

  1. Іске қосу командасын беру. Курсор орналасқан форма көрінеді. Тізімді әдеттегідей мәтін сияқты тере беру (3.11 -сурет).

  2. Проектіні сақтап, іске қосу.

[pic]










3.11-сурет. Мәтіндік өріске енгізілген жазулар үзіндісі

Мәтіндік өріске берілгендерді енгізу үшін өрісті клавиатурамен байланыстыру керек. Ол үшін программаға енгізілетін әдіс: SetFocus. Оның жазылу синтаксисі: <Мәтіндік өріс атауы>. SetFocus. Мысалы, орнатылған TxtMatin өрісін екі рет шертіп, ашылған код терезесіне мынадай процедураны енгізу:

Private Sub txtText1_Change()

txtMatin.SetFocus

..................

End Sub

Мәтіндік өріске кез келген мәтінді программа арқылы енгізуге болады. Мысалы, оны Text1 өрісіне енгізу жолы:

  • жаңа форманы ашу.

  • формада Text1 және Command1 объектілерін орнатып, сәйкес қасиеттеріне мәндер меншіктеу.

  • Command1 түймесін екі рет шертіп, код терезесінде көрінген Command1_Click процедурасына мынадай команда енгізу:


Private Sub Command1_Click ()

Text1.Text = Text1.Text + “<мәтін>”

End Sub


- Іске қосу командасын беру. Форма көрінеді. Оның Command1 түймесін шерту. Программаға енгізілген мәтін сәйкес өрісте көрінеді (команданы Text1.Text= "<мәтін>" тұрінде беруге болады. Ол Text1.Text= Text1.Text + "<мәтін>" түрінде берілсе, міндетті түрде алдымен өрістің Text қасиетін бос ету керек).

  • Программаны сақтау.


Мысал. Caption қасиеттерінің мәні үшін сәйкес 1, 2, 3, 4 сандары енгізілген CommandK түймелерін пайдаланып, мәтіндік өріске осы сандардың кез келген екеуінің қосындысын не айырымын шығару керек (k=l, 2, 3, 4).

1. Экранға жаңа форма шығарып, оны барынша кеңейту. Форманың жоғарғы қатарына Text1, одан соңғы қатарларға CommandK (k=l, 2, ..., 9) объектілерін орнату.

  1. Объект қасиеттеріне мән меншіктеу:


  1. Код терезесінде программа құру:

Dim c, s1, simv

P [pic] rivate Sub Command1_Click()

Text1.Text = Text1.Text + "1"

c = Text1.Text

End Sub

Private Sub Command2_Click()

Text1.Text = Text1.Text + "2"

c = Text1.Text

End Sub

Private Sub Command3_Click()

Text1.Text = Text1.Text + "3"

c = Text1.Text

End Sub

Private Sub Command4_Click()

Text1.Text = Text1.Text + "4"

c = Text1.Text

End Sub

Private Sub Command5_Click()

s1 = Val(c): Text1.Text = ""

simv = "+"

End Sub

Private Sub Command6_Click()

s1 = Val(c): Text1.Text = ""

simv = "-"

End Sub

Private Sub Command7_Click()

Text1.Text = ""

End Sub

Private Sub Command8_Click()

Select Case simv

Case "+"

Text1.Text = s1 + Val(c)

Case "-"

Text1.Text = s1 - Val(c)

End Select

End Sub


4. Проектіні сақтап, іске қосу. Форма көрінеді (3.12-сурет). Объект түймелерін калькулятор түймелері сияқты пайдалана берсе болғаны. Мысалы, 3 және 4 сандарының қосындысын табу үшін ретімен 3 + 4 = түймелерін шерту жеткілікті.

3.12-суретте көрсетілген форманы қарапайым калькулятор ретінде пайдалануға болатын пайдаланушының сұхбаттық терезесін құру мысалы ретінде қарастыруға болады.


Калькулятор


3.12-суретте форма әдеттегідей калькулятор ретінде дайындалды. Форманы калькулятор сұхбаттық терезесі ретінде дайындаудың басқа әдістері де бар. Олардың бірі – элементтер панелінің Рамка (Frame), Ауыстырып қосқыш (OptionButton) түймелері арқылы формада жаңа объект орнатып, калькулятор құруға арналған басқа процедура құру. Мысалы, кез келген нақты екі санмен қосу, азайту, көбейту, бөлу амалдарын орындайтын калькуляторды (3.13-сурет) мынадай тәсіл бойынша дайындау да мүмкін:

1. Жаңа форма ашу.

2. Формада Text1, Text2, Text3, Label1, Label2, Label3, Frame1, Option1, Option2, ОрtiоnЗ, Option4, Label4, Label5, Label6, Label7, Command1, Command2 объектілерін орнату.

3.Объектілер қасиеттерін орнату:

Объект

Қасиет

Орнатылатын мән

Text1


Text


Бос ету


Text2


Text


Бос ету


Text3


Text


Бос ету


Label1


Caption


1 -айнымалы


Label2


Caption


2 -айнымалы


Label3


Caption


Нәтиже


Label4


Caption


Қосу (+)


Label5


Caption


Азайту (- )


Label6


Caption


Көбейту ( * )


Label7


Caption


Бөлу ( / )


Command1


Caption


Іске қосу


Command2


Caption


End





4. Код терезесін ашып, процедуралар енгізу:


P [pic] rivate Sub Command1_Click()

Dim bir, eki

bir = Val(Text1.Text)

eki = Val(Text2.Text)

If Option1.Value = True Then

Text3.Text = bir + eki

End If

If Option2.Value = True Then

Text3.Text = bir - eki

End If

If Option3.Value = True Then

Text3.Text = bir * eki

End If

If Option4.Value = True Then

Text3.Text = bir / eki

End If

End Sub

Private Sub Command2_Click()

End

End Sub


5. Іске қосу командасын беру (F5). Калькулятор іске қосылады. Онда 1- және 2-айнымалы өрістеріне сәйкес нақты сандар мәндерін енгізіп, амал орындау тұсындағы ауыстырып қосқышты орнату керек. Одан әрі Іске қосу түймесін шертсе болғаны.


Рамка. Ауыстырып қосқыш. Жалауша. Тізім.Құрастырылған өріс элементтері жөнінде

Элементтер панелінің бұл элементтері де формада интерфейстік объектілер құруға пайдаланылады. Рамка (Frame1) -ішіне ауыстырып қосқыштар мен жалаушалар орнатылатын тік төртбұрышты объект. Оның ерекшелігі - ішіне кірістірілген түймелер біртұтас топ құрайды. Мысалы, рамка жылжытылса, ішіндегі объектілер де бір элемент сияқты қоса жылжиды. Ауыстырып қосқыш пен Жалауша (CheckBox) - іс-әрекетті орнату не алып тастау белгілері. Ауыстырып қосқыштардың ерекшелігі - олардың біреуі орнатылса, қалғандары белсендірусіз (орнатылмай) қалады. Жалаушалардың бірнешеуін бірден орната беру мүмкін.

Ауыстырып қосқыштың негізгі қасиеттері: Name, Caption, Value:

Name - атау тағайындау. Ол енгізілген кезде атауға opt префиксі автоматты түрде қосылып қойылады.

Caption – қасиетінің мәні үшін ауыстырып қосқыштың не үшін қажеттілігін білдіретін сөзді жазып қоюға болады.

Value (Мән) қасиетінің мәні True не False болуы мүмкін. Ауыстырып қосқыш орнатылған кезде оған True мәні меншіктеледі.

Жалаушаның қасиеттері де ауыстырып қосқыш қасиеттеріне шамалас.

Тізім (ListBox) және Құрастырылған өріс (ComboBox) элементтері арқылы формада орнатылатын объектілердің көрінісі мәтіндік өріс сияқты. Объектілер ішіне мәтіндерден тұратын тізімді AddItem әдісі арқылы енгізуге болады.

Мысал. ListBox және ComboBox элементтері арқылы формада орнатылған объектілерге мәтіндер кірістіру керек (3.14-сурет).

1. Жаңа форма ашып, онда List1, Combo1 объектілерін орнату.

2. Қасиеттер терезесі арқылы объектілерге атау беру.

3. Программа терезесін ашып, оған процедура енгізу:

Private Sub Form_Load()

List1.AddItem "1. Информатика"

List1.AddItem "2. Математика"

Combo1.AddItem "1. С. Ибрагимов"

Combo1.AddItem "2. Д. Махамбетжанова"

End Sub

  1. Іске қосу командасын беру (F5). Программаның орындалу түрі 3.14-суретте көрсетілген.

[pic]

3.14-сурет. List1, Combo1 объектілеріне енгізілген тізімдер

Мысал. List1 өрісіне студенттердің аты-жөндерін, Label1 өрісіне оларға берілген сәйкес қысқаша мінездеме енгізу керек.

  1. Жаңа форма ашып, List1, Label1 өрістерін орнату.

  2. Форманы және List1 объектісін екі реттен шертіп, код терезесінде процедуралар құру:

Private Sub Form_Load()

L [pic] ist1.AddItem "Б. Борібаев"

List1.AddItem "А. Жанкожа"

List1.AddItem "К. Мустафакызы"

End Sub

Private Sub List1_Click()

Label1.Caption = List1.Text

Select Case List1.ListIndex

Case 0

Label1.Caption = "Озат окушы"

Case 1

Label1.Caption = "Орта окитын окушы"

Case 2

Label1.Caption = "Талантты. Когам жумысына белсенді"

End Select

End Sub

Соңғы процедураның бірінші жолы тізімнің таңдалған элементін көшіруді ұйымдастырады;

List1.Text - тізімнің таңдалған элементінің мәтіні;

ListIndex қасиеті тізімнен таңдалған элементтің нөмірін сақтайды (VBe нөмірлер реттері нөлден (0) басталады).

3. Проектіні сақтап, іске қосу командасын беру. Тізімнен Б.Бөрібаев жолы таңдалған кезде Label1 өpiсінде "Озат окушы" мәтіні көрінеді (3.15-сурет), т.с.с.

Элементтер панелінде Line (Сызық), Shape (Фигура) басқару құралдары да бар:

Line - формада түзу сызық кесіндісін сызу үшін, Shape - тік төртбұрыш, квадрат, бұрыштары дөңгелектенген тік төртбұрыш сызу үшін пайдаланылады.

Мәтін үзіндісін шығару

Формаға енгізілген мәтіннің таңдалған үзіндісін MsgBox терезесіне SelText әдісін пайдаланып шығаруға болады:

  • форманы ашып, оған Text1, Command1 объектілерін орнату;

  • Command1 түймесін екі рет шертіп, ашылған код терезесіне процедура енгізу:

Private Sub Command1_Click()

Text1.SetFocus

MsgBox "Тандалган узінді:" & Text1.SelText

End Sub

- Іске қосу командасын беру;

- көрінген форманың мәтіндік өрісіне мәтін енгізіп, үзіндісін таңдау.

Command1 түймесін шерту. MsgBox терезесінде үзінді көрінеді.


Формалар. Форма даналары

Осыған дейін бір формамен жұмыс істеп келінді. Ол пайдаланушы үшін жеткілікті де. Бірақ үлкен программалар мен жұмыс істеу кезінде проектіге бір не бірнеше формаларды қосу қажет болады.

Проектіге алғашқы рет қосылған Form1 атаулы формадан басқа формаларды (Form2, FormЗ, т.б.) қосу үшін берілетін команда:

Project - Add Form

(не аспаптар панелінің Add Form түймесін шертуге де болады). Ашылған терезенің Form белгішесін екі рет шертсе болғаны.

Ашылған формада интерфейс құру, мысалы, Form2'де жүріп тұрған сағатты орнату қиын емес.

Бірінші формада құрылған программаны екінші формаға көшіру не бірінші формада құрылған процедура арқылы екінші форманы ашу және ашулы форманы жасыру (экраннан алып тастап, жадта қалдыру) қиын емес. Мысалы, мынадай тапсырма қарастырылсын:

Жаңа проектіге Form2, Form3 атаулы қосымша формалар қосып, нәтижені форма беттеріне шығаратын сандық функциялар енгізілген лроцедуралар құрыңыз жөне проектіні іске қосыңыз (нәтижелер Print операторы арқылы шығарылсын).

Тапсырманы орындау жолы:

  1. Ортаны іске қосу.

  2. Project-Add Form командасы арқылы проектіге Form2, Form3 формаларын қосу.

  3. Формалардың AutoRedraw қасиеттеріне True мәнін меншіктеп, frmFunc1, frmFunc2, frmFunc3 атауларын беру.

frmFunc1-ге сәйкес код терезесін ашып, оған процедура енгізу:

Private Sub Form_Load()

Dim x, y

х=5 : y=4*x+2

Print y

Form2.Show

Form3. Show

End Sub

  1. frmFunc2, frmFunc3 объектілерінің код терезелеріне сәйкес процедуралар енгізу:

Private Sub Form_Load()

Dim x, y

х=2 : y=5*x+3

Print y

End Sub

.....................

Private Sub Form_Load()

Dim x, y

х=8 : y=2*x+3

Print y

End Sub

  1. Іске қосу командасын беру. Беттеріне сәйкес нәтижелер (22, 13, 19 сандары) жазылған үш форма көрінеді де, олардың біріншісі белсендірулі тұрады. (Процедураға енгізілген Show –форманы экранға шығару әдісі (show-көрсету)).

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

Экранға нәтиже енгізілген тек бір форманы шығару да мүмкін. Ол үшін бірінші форманың интерфейсін өзгерту керек. Мысалы:

    1. Form1- де Command1 түймесін орнатып, код терезесінде Command1_Click процедурасын құру:

Private Sub Command1_Click()

Dim s, x, y

көрінетін терезеге 1, 2 не басқа санды енгізіңіз

s = InputBox(s, "s=")

If s = 1 Then Form1.Show Else If s = 2 __

Then Form1.Hide : Form2.Show

If s >=3 Then Form1.Hide : Form3.Show

x = 5

y =4*x + 2

Print y

End Sub

2. Проектіні сақтап, іске қосу. Көрінген 1- форманың Command1 түймесін шерту.

3. Экранға шыққан InputBox сұхбаттық терезе өрісіне 1, 2 не басқа санды енгізу.


Форма даналары


Проектінің бір формасын форма данасы деп те атайды. Алғашқы рет ашылған форма данасында (Form1) интерфейс орнатылып сақталған соң оның бірнеше көшірмесін алу қиын емес. Мысалы, 3.1-тақырыпта дайындалып, сақталған FormClock.vbp проект формасының бірнеше көшірмелерін (даналарын) экранға шығару жолы:

  1. Ортаны ашып, FormClock проектісін экранға шығару.

  2. Көрінген формаға (3.3-сурет) Command1 объектісін орнатып, оның Caption қасиетіне NewForm, Name қасиетіне cmdNewForm мәндерін меншіктеу (3.16-сурет).


NewForm




3.16-сурет. Жаңа форма ашуға дайындалған форма моделі


3. New Form түймесін екі рет шертіп, ашылған код терезесіне форманың жаңа данасын орнату программасын енгізу:

Private Sub cmdNewForm_Clock()

Dim JnNewForm As Form1
Set JnNewForm = New Form1

JnNewForm.Visible=True

JnNewForm.Caption=”Келесі форма данасы”

End Sub

Мұндағы JnNewForm-Form1-дің жаңа данасы. Оны сақтайтын айнымалы Dim операторы арқылы сипатталған;

Set (орналастыру) - форманың жаңа данасын жадта құру командасы;

JnNewForm.Visible-жаңа дананы экранда көрсету командасы (=True).

Соңғысы — оның Caption қасиетін орнату командасы.

4.Программаны іске қосу командасын беру (F5). Экранда форма көрінеді.

5.Форманың New Form түймесін шерту. Бұрынғы форманың үстінгі бетіне форманың екінші данасы шығады (3.17-сурет). Оған енгізілген объектілер жұмысының Form1're енгізілген объектілер жұмыстарынан өзгешелігі жоқ.

Егер NewForm түймесі тағы шертілсе, экранда форманың келесі данасы көрінеді, т.с.с.

6.File-Save Project командасы арқылы проектіні сақтау.

[pic]

3.17-сурет. Форма даналары

Құрылған жаңа даналармен негізгі дана сияқты жұмыс істей беру мүмкін.

3.3 Көп құжатты (MDI) формалар


Windows командаларында бір құжат ішінде екінші құжат терезесін ашып, оларды толтырған соң бірден пайдалана беруге болатыны белгілі, мысалы, Word-та: Құжат1, Құжат2, т.б. VB-те де бір форманың ішіне басқа формаларды иерархиялық түрде орнатып, оларды байланысты түрде пайдалану қиын емес. Мұндай формалар жиынтығы көпқұжатты, MDI формалары делінеді (Multi document interface-бірнеше құжаттармен интерфейс).

Бас форманы кеңейтуге, толық экрандық етіп жаюға не бүктеуге болады. Онда мәзірден басқа объектілерді орнату мүмкін емес. Ол ішкі формаларды орнату үшін контейнер ретінде дайдаланылады. Ішкі формалармен жұмыс әдеттегідей формамен жұмыс сияқгы.

Кейде бас форманы аталық, ішкі формаларды сәбилік деп те атайды.

MDI формаларын құру тәсілі:

  1. Ортаны ашып, форма қасиеттерін орнату:


Объект

Қасиет

Мән

Форма

Name

frmSabi


Caption

MDI сәбилік формасы


MDIchild

True


  1. Бас (аталық) форманы орнату. Ол үшін:

-Project-Add MDI Form командасын беру;

-көрінген терезеден MDI Form белгішесін таңдап, Ашу түймесін шерту. MDI Form1 формасы көрінеді;

-осы форманың Name қасиетіне frmMDI, Caption қасиетіне “MDI бас формасы” мәндерін енгізу.

3. Бас форманы таңдап, Menu Editor терезесі арқылы оған мәзір енгізуге болады. Мысалы, онда File (New File) мәзірін құру:

-мәзір редакторын ашу;

-Caption өрісіне File, Name өрісіне mnuFile атауларын енгізіп, Next түймесін шерту;

-терезенің “Солдан оңға (→)” түймесін шерту;

-Caption өрісіне NewFile, Name өрісіне NewFileItem пункт атауларын енгізіп, ОК түймесін шерту. Бас форма ашылады.

4. Формада көрінген File мәзірінің NewFile пунктін екі рет шертіп, ашылған код терезесіне процедура енгізу:

Private Sub NewFileItem_Click()

Dim frm As New frmSabi

frm.Show

End Sub

5. Форма мен проектіні сақтау. Мысалы, frmMDI.frm, frmMDI. vbp

6. Бас форманы ашып, іске қосу командасын беру (F5). Мәзір орнатылған бас форма мен оның ішінде ішкі форма көрінеді (3.18 - сурет).

[pic]












3.18-сурет. MDI формалары


7. Формаға енгізілген мәзір арқылы File – NewFile командасын беру. Команда берілген сайын форма ішінде атаулары бірдей жаңа ішкі форма қосылады. Оларды бір-бірінен ажырату үшін атау соңына форма нөмірін енгізіп қойған жөн.

Оларды бірінен соң бірін түрлі түрде орналастыру үшін формаға Window (Tile, Cascade) мәзірін енгізіп қоюға да болады (tile — кафельдік, cascade - құлама). Ол үшін орындалуы тиіс іс-әрекеттер:

- бас форманы тандап, Menu Editor редакторын іске қосу;

-редактор терезесіне Window жаңа мәзірін (Window, mnuWindow) және оның пункттерін орнату (TileItem, CascadeItem).

- WindowList (терезелер тізімі) жалаушасын орнатып, OK түймесін шерту. File, Window мәзірлері орнатылған бас форма көрінеді (3.19 - суретгі қараңыз).

- Window мәзіріне орнатылған Tile, Cascade объектілерін ретімен екі реттен шертіп, процедуралар құру:


Private Sub TileItem_Click()

frmMDI.Arrange vbTileHorizontal

End Sub

Private Sub CascadeItem_Click()

frmMDI.Arrange vbCascade

End Sub


Мұндағы vbTileHorizontal, vbCascade – форма терезелерін орналастыруға арналған VB тұрақтылары, arrange – реттеу.

8. Жоғарыда дайындалған NewFileItem_Click процедурасын толықтыру:


Private Sub NewFileItem_Click()

Static k As Integer

Dim frm As New frmSabi

k = k + 1

frm.Caption = "MDI Сәбилік формасы" & k

frm.Show

End Sub

Процедураға енгізілген New кілттік сөзі VB 'ке жаңа форма кұрылу тиістігін хабарлау; k - бастапқы мәні=0 болатын integer типті айнымалы; frm.Show әдісі – форманы экранға шығару. Оның алдындағы команда - сәбилік формаға тақырып енгізу. (Тақырыпты қасиеттер терезесін пайдаланбай, процедурада енгізуге болады).

Іске қосу, одан әрі File - NewFile командалары берілген кезде бас форманың ішінде "MDI сәбилік формасы 1" терезесі көрінеді, т.с.с. (3.19- сурет).

Құрылған ішкі терезелерді жылжыту, жабу, бүктеу, жаю және олармен жұмыс істеу әдістері әдеттегідей. Мысалы, бір сәбилік форманы экранда қалдырып, оған Label1 өрісін және оның қасиеттерін орнатуға болады. Форманы екі рет шертіп, ашылған код терезесі процедурасына

Label1.Caption= “URA!”

командасы енгізілген соң іске қосу командасы берілсе, бас форма, оның ішінде сәбилік форма көрінеді. Ішкі форма шертілген кезде Label1 өрісіне URA! сөзі жазылып қойылады.


[pic]













3.19 - сурет. Нөмірленген MDI ішкі формалары




Форманы басып шығару

Интерфейс элементтері, графика, мәтін енгізілген форманы PrintForm әдісі (командасы) арқылы басып шығаруға болады. Оны код терезесіне енгізілген процедураға

FormK. PrintForm

түрінде енгізсе болғаны (К=1, 2, ... — форма нөмірі). PrintForm әдісі графикалық кескінді басып шығарудың қарапайым әдісі де.

Мысал. Формаға стандартты "Finish" суретін орналастырып, форманы басып шығару керек (Finish файлының адресі:

С:\Program Files\DevStudio\VB\wizards\Template\Finish).

1. Орталықты іске қосып, формада сурет кірістірілетін Picture1 өрісі мен Command1 басқару объектісін орнату.

2. Объект қасиеттеріне мән беру:


Толық адресті Picture қасиетінің оң жағына (мән бөлігіне) енгізу үшін Properties терезесінен осы қасиетті екі рет шертіп, Load Picture терезесін ашу керек. Одан әрі

VB\wizards\Template\Finish

файлын екі рет шертсе болғаны. Формаға " Finish " суреті кірістіріліп қойылады.

3. БАСУ түймесін екі рет шертіп, ашылған код терезесіне
процедура енгізу:

Private Sub Command l_Ctick()

Form1. PrintForm

End Sub

4.Проектіні сақтау.

5. Принтерді дайындап, іске қосу командасын беру (Ғ5). Форма көрінеді (3.20-сурет).

[pic]











3.20-сурет. Finish суреті енгізілген форма


6. Форманың БАСУ түймесін шерту. PrintForm әдісі формада көрініп тұрған барлық объектілерді басып шығарады.

Ескерту. Код терезесіне енгізілген программаны басып шығару қажет болса. File - Print командасын беру керек.


OLE технологиясы .


Элементтер панелінің OLE элементі аркылы формада орнатылған объектіге (OLE-объектісіне) Windows-та жұмыс істейтін қосымшалар белгішелерін орнатып, оларды формада бірден іске қосуға болады (OLE (Object Linking and Embed­ding - объектілерді қатарластыру және байланыстыру)). Мұндай технология OLE технологиясы делінеді, VB-ке оның OLE автоматтандыруы деп аталатын жеке түрі енгізілген. Мысалы, OLE- объектісін Word 97 мәтіндік редакторымен жұмыс істеуге пайдалану тәсілі:

1. Орталықтан жаңа форма ашу.

2 [pic] . Формада OLE- объектісін орнату. Тышқан түймесі босатылған кезде қосымшалар тізімі енгізілген Объектіні кірістіру сұхбаттық терезесі көрінеді (3.21 - сурет).








3.21-сурет. Объектіні кірістіру терезесі

3. Тізімнен Документ Microsoft Word қатарын таңдап, Белгіше түрінде (В виде значка) жалаушасын орнату. Жалаушаның астыңғы қатарында Word белгішесі орнатылып қойылады.

4.Терезенің ОК түймесін шерту. Форма ашылып, оның OLE объектісі ішінде Word белгішесі көрінеді. Алғашқы рет бірден Word редакторы да іске қосылуы мүмкін.

5. Проектіні сақтау.

6. Іске қосу командасын беріп, көрінген форманың OLE объектісінде орналасқан Word белгішесін екі рет шерту. Word редакторы Іске косылады да. онымен әдеттегідей жұмыс істей беруге болады. Ашылған бетте құжатты толтырған соң оны сақтау үшін File — Сохранить копию как ... командасын беру керек.

Word терезесі жабылған кезде экранда форма қайта көрінеді.

Класс ұғымы

VB соңғы кездерде шыққан объектіге бағдарлы программалау (ОБП) тілін басшылыққа алып құрылған визуальды күрделі программалау тілі. ОБП тілінің бұрынғы программалау тілдерден ерекшелігі - ол обьект, класс принципінде құрылған. Класс - дайындалатын объект схемасы, мысалы, сұхбаттық терезелер жобасы. ОБП-да программаның тип (класс) сипаттамасында айнымалылар және олардың қасиеттері мен әдістерді қосып сипатталады. Программаға объект даналары мен ішкі иерархиялық (сәбилік) объектілердің сипатталуы енгізілуі де мүмкін. Олар класс және ішкі класс даналары делінеді. Класс пен ішкі класс объектілері бірнеше данадан тұратыны белгілі (мысалы, оқу орны, факультеттер мен кафедралар біреуден емес).

ОБП-да класс үшін мұрагерлік, инкапсуляция және полиморфизм принциптері енгізілген.

Мұрагерлік — программада негізгі класс типінің ішкі иерархиялық кластарда да сақталуы. Мысалы, оқу орны үшін негізгі класқа енгізілген класс типінің Atau : string сипаттамасы барлық ішкі кластарға тиісті.

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

Полиморфизм - ішкі кластарға кейбір ерекшеліктерді қосу, өзгерту не алып тастау сияқты объектіні түрлі формада өзгерту мүмкіндігі. Мысалы, түрлі кластарға еніп, әр түрлі әрекеттерді орындайтын әдістерге бірдей атау беру мүмкіндігі полиморфизм делінеді (полиморфизм - көп формалық).































IV ТАРАУ. МОДУЛЬДІК ПРОЦЕДУРАЛАР


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

Мұндай буманы стандартты модуль не программалық модуль деп атайды (Паскаль модулі сияқты).

Ескеретін жайт: информатикадағы каталог және бума ұғымдарының айырмашылығы шамалы. Каталогта түрлі файлдар мен басқа каталогтар да сақталады, әдетте, бумаға тек бір облыстық файлдар енгізіледі.

Visual Basic'тe жан-жақтылық (жалпыға бірдей тағайындалатын, глобальды) модульдік процедураны дайындау үшін арналған Module терезесі бар. Онда Function не Sub типті модульдік процедура құрып, проектінің Module атаулы бөлімінде жеке файл түрінде сақтап қойса болғаны (сақталған файлға .bas типі автоматты түрде қосылып қойылады).

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


4.1. Function типті модульдік функция құру


Модульдік Function типті функция есептеу жүргізіп, мәнін қайтарып беретін процедура. Жазылу синтаксисі:

Function <атау> ([<аргументтер>]) [As]

S

End Function

Мұндағы <атау>- модульдік функция (модуль) атауы; S - процедура (функция) денесі. Квадрат жақшалар ішіндегі аргументтерді (формальдіы параметрлерді) енгізу міндетті емес. Егер олар енгізілсе, үтір арқылы бөлініп жазылуы тиіс.

Функция денесіне енгізілетін соңғы команда функция атауына меншіктеу командасы болуы керек. Программаға енгізілетін модульдік функцияны шақыру командасы бөлек жазылмай, әдеттегідей, меншіктеу командасының оң жағындағы өрнек құрамына енгізіледі.

Модульдің құрылу технологиясы:

1. Орталықты ашып, Project_Add Module командасын беру. Add Module сұхбаттық терезесі көрінеді.

2. Терезеден Module белгішесін таңдап, Ашу түймесін шерту.

Код терезесінде Module1 атаулы бос стандартты модуль кұрылады да {4.1-сурет), Project терезесіне модуль белгішесі кірістіріліп, оң жағына модульдік файл атауы көрінеді. (файлға ВБ-тің алғашқы рет меншіктеген атауы - Module1 (4.2-сурет). Ол проектіде бос модульдің құрылғандығы.

3. Module1 терезесіне модульдік функция программасын енгізу.

4. File-Save Module As командасын беріп не аспаптар панелінің осы атаулы түймесін шертіп, көрінген терезеден модуль сақталатын буманы ашу және "Файл атауы" өрісіне объектілік модуль атауын енгізіп, сақтау. Атауға автоматты түрде .bas типі (кеңейтілуі) қосылып қойылады. Проект терезесінде көрінетін объектілік модуль атауы да осы атауға өзгертіледі.

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

[pic]








4.1-сурет. Модуль терезесі

[pic] [pic]

1


[pic]







4.2-сурет. Модуль белгішесі қосылған проект терезесі


    1. модульдік файл атауы;

    2. объектілік (программада пайдаланылатын) модуль атауы.

  1. КҚ клавишін басу. Project, Properties және Module1 терезелерінде көрінген Module1 атауы осы атауға өзгертіліп қойылады.

  2. Проектіні сақтау.


[pic]








4.3-сурет. Модуль қасиеттері терезесі


Мысал. Тік бұрышты үшбұрыштың катеттері (а; в) белгілі. Пифагор теоремасы бойынша оның гипотенузасын (с) есептеуге арналған Pifag атаулы модульдік функция құру керек. Функция құру үшін:

1.Module1 терезесін ашып (4.1-сурет), оған мынадай программа енгізу:

Function Pifag (al, b1)

Pifag=sqr(a1^2+b1^2)
End Function

2. File- Save Module As командасын беріп және көрінген терезеден модуль сақталатын буманы ашып, онда модульді сақтау (Pifag.bas).

3. Properties- Module терезесін ашып, оның Name қасиетіне modPifag атын енгізіп, КҚ клавишін басу.

4. Модульдік терезені жабу.

Мысал. Тікбұрышты үшбұрыштың катеттері белгілі (а; b). Pifag функциясын пайдаланып, оның периметрін табу керек (р = а+b+с -?).

Орындау жолы:

1. Орталықгы ашу, егер проектіде Pifag модулі жоқ болса, проект терезесін оң түймемен шертіп, көрінген контексті мәзірден Add - Module командасын беру. Экранға шыққан Add Module терезесінің Existing қондырмасын ашып, Pifag.bas файлын екі рет шерту. Модуль проектіге қосылып қойылады.

2. Форманы ашып, екі рет шерту.

3. Көрінген код терезесінде процедура кұру:

Private Sub Form_Load()

Dim a, b, p As Single
a=InputBox(a,"a="): a=val(a)

b=InputBox(b,"b="): b=val(b)

p=a+b+Pifag(a,b)
msgBox(p), , “
периметр=”

End Sub

4. Проектіні сақтап, программаны іске қосу. MsgBox (шығару) терезесінде периметр мәні көрінеді.

Программаға (процедураға) енгізілген Pifag(a,b)- осы атаулы модульдік функцияны шақыру командасы. Оның іс-әрекеті әдеттегідей: Редактор Pifag модульдік функциясын іздеп табады да, al= a , bl=b меншіктеу командаларын орындайды. Одан әрі модуль денесін орындап, есептелген Pifag мәнін өрнек ішіндегі Pifag функциясының орнына қояды.

Процедурада сандық символдардан тұратын символдық функцияны сандық тұрақтыға айналдыратын Val функциясы пайдаланылды (value мән). Себебі кейде VB жадта сандық мәндерді символдық типте сақтайды. Ол көбінесе айнымалыларды вариант типінде сипаттауда кездеседі.


4.2. Sub типті модульдік процедура кұру

Процедураның жазылу синтаксисі:

Sub <атау> ([аргументтер])

S

End Sub

Мұндағы <атау> - модульдік процедура атауы;

<аргументтер> - үтір арқылы бөлініп жазылатын формальды параметрлер. Олар қажет болған кезде ғана енгізілуі тиіс;

S - процедура денесі.

Процедураны құру, оны сақтау жолы 1-мысалдағы сияқты.

Негізгі программаға енгізілетін Sub типті процедураны шақыру командасы Qbasic, Турбо Паскальдағы сияқты бөлек жазылады. Командаға енгізілетін аргументтердің типі мен саны модульдік процедурада пайдаланылатын айнымалылардың типі мен санына бірдей болуы тиіс. Тек шақыру командасында аргументтер жақшаларға алынбай жазылады.

Шақыру командасында аргументтер айнымалы не мән түрінде жазылуы мүмкін.

Мысал. Тік бұрышты үшбұрыштың катеттері белгілі (а, b). Оның гипотенузасын есептеуге арналған PifagSub атаулы Sub типті модульдік процедура құру керек.

Орындау жолы:

1. Орталықты ашу.

2. Стандартты Module1 терезесін ашып, оған PifagSub модульдік процедурасын енгізу (а1, b1, с1 - формальды параметрлер):

Sub PifagSub (al, b1, cl)
с1=sqr(а1^2+b1^2)
End Sub

  1. File – Save Module As командасы арқылы модульді сақтау (мысалы, PifagSub).

  2. Properties – Module1” терезесін ашып, оның Name өрісіне modPifagSub атауын енгізу және КҚ клавишін басу.

  3. Модуль терезесін жабу.

Мысал. PifagSub модульдік процедурасын пайдаланып, тік бұрышты үшбұрыштың берілген катеттері (a, b) бойынша оның периметрін есептеу керек.

Программаға енгізілетін гипотенузаны (с) есептеуге арналған модульдік процедураны шақыру командасының нақты параметрлері жақшаларға алынбай жазылады, мысалы, PifagSub a, b, c.

Жүйе алдымен нақты a, b, c және al, bl, cl параметрлерінің типтерін салыстырады. Олар бірдей болса, al=a; bl=b меншіктеу командаларын орындап, процедураны орындауға көшеді. Одан әрі с:=с1 командасы орындалады.

Есепті интерфейс құрып шешу тәсілі:

элементі).

  1. Орталықты ашып, формада Label1, Label2, Label3, Command1 объектілерін орнату (Label өрістерін a,b,s мәндерін енгізу үшін жоспарлау. Command1 түймесі – басқару элементі).

  2. Command1 түймесі арқылы код терезесін ашып, оған процедура енгізу:

Private Sub Command l_Click()

Dim a, b, c, s

а=InputBox (a, "a=") : Label1.Caption=a

b=InputBox (b, "b=") : Label1.Caption=b

a=val (a) : b=val (b)

PifagSub a, b, c : s=a+b+c

Label3.Caption=s

End Sub

  1. Процедураны сақтап, іске қосу.

Ескерту: Егер проект құрамында PifagSub модулі жоқ болса, алдымен оны қосып алу керек.

Мысал. Сандық массивтің минимумы мен максимумы есептелетін модульдік процедуралар құрып, оларды пайдалану программасын құру керек.

Жұмыс технологиясы:

  1. Орталықты ашу.

  2. Module1 терезесін ашып (4.1-сурет), оған Fnmin функциясын енгізу:

Function Fnmin (x1, y1)

If xl<=y1 Then Fnmin=xl Else Fnmin=yl

End Function

3. Properties – Module1 терезесін ашу. Оның Name қатарына modFnmin функциясын енгізіп, КҚ клавишін басу.

4. Module1 терезесін қайта ашып, оған Fnmax функциясын енгізу:

Function Fnmax (x1, yl)

If x1>=yl Then Fnmax=xl Else Fnmax=yl

End Function

5. Properties - Module1 терезесінің Name өрісіне "modFnmax" атауын енгізіп, КҚ клавишін басу.

6. Формада Label1, Label2 Command1 түймелерін орнату (Label1, Label2-ге min, max мәндерін енгізуді жоспарлау).

7. Command1 түймесі арқылы код терезесін ашып, процедура денесін енгізу:

Private Sub Command1_Click()

Static a(20), k, min1, max1

n=InputBox (n, “=”)

For k=1 To n

a(k)=InputBox (a(k), ”=”)

Next

min1=a(l): max1=a(1)

For k=2 To n

min1= Fnmin (min1, a(k))

max1= Fnmax (max1, a(k))

Next

Label1.Caption=min1: Label2.Caption=maxl

End Sub

Мұндағы Fnmin, Fnmax – сәйкес модульдерді шақыру командалары.

8. Процедураны сақтап, іске қосу. Форма терезесі көрінеді. Оның Command1 түймесін шерту.

9. Көрінген InputBox терезесіне элементтер саны мен кезекті мәндерді енгізіп, КҚ клавишін басу.

6, 4, 2, 5, 12, 7, 9 массиві үшін программаның орындалу нәтижесі 4.4 - суретте көрсетілген.

[pic]









4.4-сурет. Программаның орындалу нәтижесі


10. Аспаптар панелінің End түймесін шертіп, программа жұмысын аяқгау.

Ескерту. Модульдер - VB проектісінің құрамдық бөліктері. Проектінің басқа формасының модулінде сақталған процедураны не функцияны шақыру командасын

<Модуль аты>. <Процедура аты>

түрінде жазу керек. Мысалы, бір проектінің 1-формасында (Form1-де) minmaxok модулі мен minmax1 файлы жазулы болсын. Осы проектіде қосымша 2-форманы (Form2-ні) ашып, оның код терезесінде мынадай процедураны енгізіп, іске қосуға болады:

Private Sub Form_Load()

minmaxok.bas, minmax1.frm

End Sub

Егер модульдік процедура не функция бас0f проектіде орналастырылған болса, шақыру командасының синтаксисі:

<Проект аты>.<модуль аты>.<процедура аты>


Айнымалыны жан - жақты ету

Процедура ішінде сипатталатын айнымалы сол процедураға ғана тиісті. Оны жергілікті айнымалы деп атайды. Айнымалыны проектінің түрлі процедураларында пайдалануға мүмкін ету үшін оны модуль терезесінде Public (жан - жақты) кілттік сөзі арқылы сипаттау қажет.

Жан - жақты айнымалыны құру тәсілі:

1. Project - Add Module командасын беріп, ашылған терезенің Ашу түймесін шерту. Module1 атаулы бос модуль General (Жалпы) және Declaration (Жарилау) бөлімдері бар код терезінде көрінеді ((General) жан-жақты айнымалыны тағайындау пункті. (Declaration) өрісіне құрылған жан-жақты айнымалылар тізімі жазылып қойылады. Тізімді ашу әдеттегідей).

2. Терезеге модульдік айнымалыны, мысалы, Espt айнымалысын, Public кілттік сөзі арқылы сипаттауды енгізу:

Public Espt

3. Модульді сақтау командасын беру: File – Save Module As.

4. Ашылған терезе өрісіне mnEspt.bas атауын енгізу.

5. Модульдің қасиеттер терезесін ашу (терезе тақырыбы: Properties - Module1). Оның Name қасиетіне modEspt атауын енгізіп, КҚ клавишін басу.


Қорытынды




64