Шпаргалка по "Языкам программирования"

Автор: Пользователь скрыл имя, 22 Февраля 2013 в 10:03, шпаргалка

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

работа содержит ответы на вопросы по "Языкам программирования"

Файлы: 1 файл

яп.doc

— 205.00 Кб (Скачать)

Dim intCountPar ( ) As Integer

2. С помощью выполняемого оператора ReDim указывается размерность массива в виде числа или выражения. Синтаксис оператора ReDim аналогичен синтаксису оператора объявления массива фиксированного размера. Например, размерность массива может быть задана любым из следующих способов:

ReDim intCountPar (x)

ReDim intCountPar (20)

ReDim intCountPar (1 To 20)

При выполнении оператора ReDim данные, размещенные в массиве  ранее, теряются. Это удобно в том  случае, если данные больше не нужны  и вы хотите переопределить размерность массива и подготовить его для размещения новых данных. Если вы хотите изменить размер массива, не потеряв при этом данных, то необходимо воспользоваться оператором ReDim с ключевым словом Preserve. Например, приведенный ниже программный код увеличивает размер массива на единицу без потери хранящихся в массиве данных:

ReDim Preserve intCountPar (X + 1)

Замечание

Использование оператора ReDim с ключевым словом Preserve позволяет  изменять только верхнюю границу  последней размерности многомерных  размеров.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

40.

При программировании широко используются процедуры, позволяющие  разбивать программные коды на небольшие  логические блоки, которые, во-первых, легче отлаживать, а во-вторых, можно в свою очередь использовать при создании других процедур. В Visual Basic существуют следующие виды процедур:

- Sub

- Function

Процедуры Sub

Процедура Sub не возвращает значения и наиболее часто используется для обработки связанного с ней  события. Ее можно помещать в стандартные модули, модули классов и форм. Она имеет следующий синтаксис:

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

Между ключевыми словами Sub и End Sub в процедуре располагаются  выполняемые при ее вызове операторы программного кода. Параметр аргумент можно применять для объявления передаваемых в процедуру переменных

Процедуры Sub подразделяются на общие процедуры и процедуры  событий. Общие процедуры служат для размещения повторяющихся операторов, используемых процедурами по обработке событий, тем самым разгружая их и исключая дублирование часто встречающихся кодов, что в свою очередь облегчает поддержку приложения.

Процедуры обработки  событий связаны с объектами, размещенными в формах Visual Basic, или с самой формой и выполняются при наступлении события, с которым они связаны. Для события, связанного с формой, процедура Sub имеет следующий синтаксис:

Private   Sub Form__имяСобытия  (аргументы); операторы End Sub

Как видно из синтаксиса, наименование процедуры обработки события для формы содержит слово Form, затем размещается символ подчеркивания (_) и имя события. Например, имя процедуры, выполняемой при загрузке формы, будет Form_Load, а процедуры, выполняемой при щелчке мыши на форме - Form_click. При формировании процедуры для формы MDI ее имя будет содержать перед словом Form приставку MDI, то есть записываться MDIForm. Для события, связанного с элементом управления формы, процедура обработки событий Sub имеет следующий синтаксис:

Private   Sub  имяЭлементаУправления_ имяСобытия   (аргументы); операторы End Sub

Наименование процедуры  обработки события для элемента управления формы содержит имя элемента управления, заданное в свойстве Name, затем следует символ подчеркивания (_) и имя события. Например, имя процедуры, выполняемой при щелчке мыши на кнопке управления, имеющей наименование cmdPrint будет Form_Click.

Visual Basic облегчает формирование  имен создаваемых процедур. Разработчику  необходимо выполнить для этого  следующие действия:

1. В окне Properties с помощью  свойства Name (Имя) задать имя объекта,  для которого создается процедура.  Если имя не будет задано, то  при создании процедуры Visual Basic использует имя, присваиваемое  объекту по умолчанию при его  размещении в форме. При последующем изменении наименования объекта необходимо будет изменить и имя процедуры.

2. В окне редактора  кода из списка Object (Объект) выбрать  объект, для которого создается  процедура.

3. Из списка Procedure (Процедура)  выбрать событие, обработка которого будет выполняться.

Процедуры Function

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

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

операторы End Function

Процедуры Function, как и  переменные, имеют тип, задаваемый с  помощью ключевого слова AS. Если тип процедуры не задан, по умолчанию  ей присваивается тип Variant. Тип процедуры  определяет в свою очередь тип  возвращаемого ею значения. Возвращаемое процедурой значение присваивается имени процедуры имяПроцедуры и может быть использовано в выражениях программного кода аналогично стандартным функциям Visual Basic. Рассмотрим процедуру, вычисляющую площадь квадрата:

Function Square (intA As Integer) As Integer

Square = intA^2

End Function

Для вызова этой процедуры  в форме можно использовать, например, следующий код:

TxtSquare.Text = Square(TxtSide.Text)

Вызов процедур

Процедура Sub не возвращает значения, однако она может изменять значения переменных, заданных для нее в качестве параметров. Вызов процедуры Sub можно осуществлять двумя способами. Первый способ предполагает использование ключевого слова call. Например, процедуру с именем NameProc можно вызвать оператором

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

Второй способ позволяет  вызвать процедуру Sub по ее имени. Например,

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

При вызове процедуры  модуля формы из другого модуля необходимо указывать ссылку на имя модуля формы, содержащего процедуру. Например, для вызова процедуры с именем NameProc, находящейся в модуле формы Form1, оператор должен выглядеть так:

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

Вызов процедуры Function аналогичен вызову встроенных функций Visual Basic. Кроме этого, процедуру Function можно вызывать так же, как процедуру Sub:

Call  Square(Side)

Square  Side

В этом случае Visual Basic игнорирует возвращаемое функцией значение.

Передача параметров

Переменные, передаваемые процедуре, называют параметрами процедуры. По умолчанию они имеют тип Variant. Visual Basic позволяет задавать тип параметров с помощью ключевого слова AS:

Function Square   (intA As   Integer)   As  Integer

Передача параметров в процедуру  может осуществляться двумя способами: по значению (by value) и по ссылке (by reference). В первом случае в процедуру в качестве переменной передается не сама переменная, а ее копия. Поэтому изменение параметра в процедуре затрагивает не переменную, а ее копию. Для передачи в процедуру параметров по значению используется ключевое слово ByVal, например:

Sub NameProc (ByVal strArg As String)

тело процедуры

End Sub

Для передачи в процедуру параметров по ссылке используется ключевое слово ByRef, например:

Sub NameProc (ByRef strArg As String)

тело процедуры

End Sub

При передаче параметров по ссылке процедура  получает доступ к области памяти, в которой эта переменная хранится, в результате чего при изменении  в процедуре параметра происходит изменение значения переменной. Используя  ключевое слово Optional, можно задавать необязательные параметры процедуры. При этом необходимо иметь в виду, что если какой-либо из параметров задан как необязательный, то и расположенные после него параметры также должны быть объявлены необязательными:

Sub NameProc (Optional strArg1 As String, Optional strArg2 As String)

тело процедуры

End Sub

Обязательные параметры процедуры  должны задаваться до необязательных, например:

Sub NameProc (strArgl As String, Optional strArg2 As String)

тело процедуры

End Sub


Информация о работе Шпаргалка по "Языкам программирования"