Използване на модули и процедури
background image

Използване на модули и процедури

Стандартния

 

модул 

е отделен контейнер в дадена програма, който съдържа глобални или 

публични променливи и процедури Function и Sub.

Локални променливи 

за процедурата означава, че могат да бъдат четени или променяни само в 

процедурата, в която са били създадени.

 Процедурите за събития  са локални за формата

, в която са били създадени (не може да 

осъществите достъп до процедура за събитие 

cmdQuit_Click 

от Form2, ако тя е асоциирана с Form1.

За да поделите променливите и процедурите между всички форми и процедури за събития в 

проекта, е необходимо да ги декларирате в един или повече стандартни модули за този проект.

 

Стандартния или кодов модул 

е специален 

файл с разширение *. bas,

 съдужащ променливи и 

процедури, които могат да бъдат използвани навсякъде в програмата.

Точно както и формите  стандартните модули, са в отделен списък в прозореца Project и могат да 

бъдат записвани на HDD чрез командата Save Module1 As от менюто File. За разлика от формите обаче, 
стандарните модули не съдържат обекти или настройки на свойствата, а само код, който може да бъде 
визуализиран и редактиран в прозореца за кода.

!!!        За разлика от стандартните модули, обектите и процедурите за събития, асоциирани с дадена 
форма се съхраняват в модула на формата, а нов обект се създава в модул на клас. 

За да създадете нов стандартен модул в програмата, в лентата с инструменти натиснете стрелката 

надолу на бутона 

Add Form 

и щракнете върху 

Module 

или от менюто 

Project Add 

изберете командата 

Module. 

Когато създадете нов стандартен модул, той веднага се появява в прозореца за кода. Първия 

стандартен модул в една програма по подразбиране се нарича MODULE 1, но вие можете да промените 
това име, като го записвате на диска.
В прозореца Project името Module1 e в скоби, за да покаже подразбиращото се файлово име на модула, а 
името на модула се появява в ляво от скобите.Можете да заредите този файл (

*.bas

) и в друг проект, като 

използвате командата 

Add File 

от менюто 

Project. 

Според конвенцията, на имената на модули се дава 

префикс 

mod. 

За да премахнете стандартен модул от проекта, в прозореца 

Project

 щракнете върху модула, 

след което от менюто 

Project 

изберете командата 

Remove.

 По този начин не се изтрива модула от твърдия 

ви диска, но премахвате връзката между него и текущия проект.

Декларирането на глобална, или публична, променлива в един стандартен модул е просто- пишете 

ключовата дума 

Public,

 следвана от името на променливата. След като декларирате променливата, можете 

да я четете, променяте или визуализирате в която и да е процедура в програмата си. По подразбиране 
публичните променливи се декларират в модулите като променливи от вариантен тип, но вие можете да 
зададете конкретно име на тип, като използвате ключовата дума 

As

 и укажете типа.

Обект

Свойство

Насройка

Label5

Font

Arial, Bold Italic, 12-point

ForeColor

Green (on Custom tab)

Name

lblWins

Text

“Wins: 0”

TextAlign

MiddleCenter

Form1

Caption

Lucky Seven

   
В прозореца на кода за процедурата за събитие Command1_Click за бутона Spin под конструкцията Beep 
напишете следната програмна конструкция:
Wins = Wins + 1
 lblWins.Caption = "Wins:   " & Wins
този код увеличава публичната променлив Wins, ако при завъртането се появи седмица.Втората 
конструкция използва оператора за конкатенция (&), за да присвои низ на обекта lblWins във формата 
Wins: Х, където Х е броят на печалбите.
След като стартирате приграмата етикета Wins седи печалбите ви.
Публичната променлива 

Wins 

беше полезна тук, защото си запази стойността по време на многократните 

(десетте) извиквания на процедурта за събитие Command1_Click. Ако бяхте я декларирали като локална 
промрнлива в процедурата за събитие Command1_Click, тя щеше да се нулира всеки път. Използване на 
публична променлива в стандартен модул ви позволява да избегнете нулиране.  

1

background image

Създаване на процедури с общо предназначение

Освен глобални променливи, стандартните модули  могат да съдържат 

процедури с общо 

предназначение

,  които могат да бъдат извиквани от произволно място в програмата. Процедурата с общо 

предназначение не е като процедурата за събитие, защото не е асоциирана със събитие или обект, които сте 
създали посредством някой контрол от кутията с инструменти.Процедурите с общо предназначение са 
подобни на вградените конструкции и функции на VB – извикват се по име, могат да получават аргументи 
и всяка изпълнява конкретна задача.

В стандартен модул можете да съдавате три типа процедури с общо предназначение:

Function процедури – 

се извикват по име от процедури за събитие или от други процедури. Те 

могат да получават аргументи и винаги връщат стойност. Обикновено се използват за изчисления.

Sub процедури - 

извикват се по име от процедури за събитие или от други процедури. Те могат да 

получават аргументи и могат да бъдат използвани и за изпълнение на задачи и могат да връщат 
стойности. За разлика от функциите обаче 

Sub процедурите 

 не връщат стойности, асоциирани с 

техните имена(въпреки че могат да връщат стойности чрез променливи). 

Sub процедурите 

обикновено се използват, за получаване или обработване на входни и изходни данни или за 
насройка на свойства.

Property процедури 

 - се използват, за да създават и манипулират дефинирани от потребителя 

свойства в програмата. Това е полезна, допълнителна възможност, която ви позволява да правите 
потребителски настройки на съществуващи контроли на VB и да разширявате езика му, като 
създавате нови обекти, свойства и методи.

Предимства на процедури с общо предназначение

Процедурите с общо предназначение ви позволяват да асоциирате често използван програмен код с 
познато име в стандартен модул. Процедурите с общо предназначение предоставят следните 
предимства:

Отстраняват повтарящи се редове.Можете да дефинирате дадена процедура веднъж и да я 
изпълнявате в програмата си произволен брой пъти.

Правят програмите по-лесни за четене. Програма, разделена на колекция от малки части, е по-лесна 
за разделяне и разбиране, отколкото такава, състояща се от една голяма част.

Опростяват разработването на програма.Програми, разделени на логически единици, са по-лесни за 
рзработване, писане и дебъгване. Освен това, ако пишете програма в екип, можете да обеняте 
процедури и модули, вместо цели програми.

Могат да бъдат използвани отново в други програми.Лесно можете да съедините процедурите от 
някой стандартен модул в други програми проекти.

Разширяват езика VB. Процедурите често изпълняват задачи, които не могат да бъдат изпълнени от 
отделни ключови думи на VB.

Писане на Function процедури

Една 

Function процедура

 е група конструкции, разположени между конструкциите 

Function

 и 

End Function

 в стандартен модул. Конструкциите във  функцията извършват  основната работа-

обикновено обработват текст, управляват въвеждане или изчисляват стойност. Вие  изпълнявате, или 
извиквате, такава функция във вашата програма, като поставяте името и в програмна консрукция заедно 
с необходимите и аргументи(Аргументите са данните, използвани за работа на функциите).С други 
думи, използването на 

Function

 процедура е точно като използването на вградена функция, като Time, 

Int или Str.

Синтаксис на Function

Function FunctionName([arguments]) [As Type]

function statements

End Function

FunctionName 

е името на функцията, която създавате в стандартния модул.

Arguments

 е списък от опционални аргументи(отделени със запетаи), които ще бъдат използвани 

във функцията.

As Type

 е опция, която определя типа на връщаната от функцията стойност (по подразбиране е 

Variant).

function statements 

е блок от конструкции, който извършват работата във функцията.

2

background image

Функциите винаги връщат за извикващата процедура стойност за името на 
функцията(

FunctionName). 

Последната конструкция във функцията често е израз за присвояване, 

който присвоява последното изчисление на функцията на 

FunctionName.

Пример:
Funktion TotalTax(Cost) As Single
StateTax=Cost*0.05 ‘щатския данък е 5%
CityTax=Cost*0.015’градския данък в 1,5%
TotalTax=StateTax+CityTax
End Function

Извикване на Function процедура

За да извикате функцията 

TotalTax 

в някоя процедура за събитие, трябва да използвате конструкция 

подобна на следната:

lblTaxes.Caption=TotalTax(500)

Тази конструкция изчислява всички дължими данъци за доходи от 500$ и след това присвоява 
резултата на свойството 

Caption 

на обекта 

lblTaxes. 

Функцията 

TotalTaxes 

може да приеме като 

аргумент и променлива:

TotalCost=SalesPrice+TotalTax(SalesPrice)

Този ред използва функцията 

TotalTax

, за да определи данъците за числото в променливата 

SalesPrice

 и след това да ги прибави към 

SalesPrice

, за да се получи цялата стойност на артикула. 

Виждате колко е по-лесен кодът, когато се използва функция.

Използване на функция за извършване на изчисление

За да изчислим съотношението на печалбите в играта Lucky Seven – процента на завъртанията на 

числата, при които се появяват една или повече седмици ще добавим фукцията 

Rate 

и публичната 

променлива

 Spin

 към стандартния модул.След което ще извикваме фукцията 

Rate 

всеки път,  когато бъде 

натисна бутона 

Spin. 

Ще визуализираме резултататие в нов етикет, който ще създадем във формата.

Създайте функция за съотношението на печалбите

1. 

Отворете формата на програмата 

Track Wins

, която ще модифицираме.

2. 

Изпозвайте 

Label

 контрола, за да създадете нов етикет под

 

Wins

 етикета. Направете 

следните настройки:

Обект

Свойство

Насройка

Label5

Font

Arial, Bold Italic, 12-point

ForeColor

Red (on Custom tab)

Name

lblRate

Text

“0.0%”

TextAlign

MiddleCenter

Form1

Caption

Lucky Seven

Вашата форма би трябвало да изглежда така:

3. 

В  

Solution Explorer

, кликнете върху 

Module1.vb

 модула(ако не се вижда, а е създаден от 

меню Project­Add Existing Items­избирате върху 

Module1.vb­OK

) , и тогава кликвате върху бутона 

View Code

.

3

Това е само предварителен преглед!

Модули и процедури

модули и процедури (Visual basic 6.0) с приведени примери...

Модули и процедури

Предмет: Програмиране, Информатика, ИТ
Тип: Лекции
Брой страници: 11
Брой думи: 3516
Брой символи: 21124
Изтегли
Този сайт използва бисквитки, за да функционира коректно
Ние и нашите доставчици на услуги използваме бисквитки (cookies)
Прочети още Съгласен съм