Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
310_1111.doc
Скачиваний:
3
Добавлен:
20.09.2019
Размер:
404.99 Кб
Скачать

Билет 10

1)Динамічні масиви

Масив - це набір елементів певного типу, кожен з яких має свій порядковий номер, званий індексом. Розрізняють статичні і динамічні масиви.

Іноді при оголошенні масиву його розмір не відомий. В цьому випадку слід оголошувати динамічний масив, що дозволяє змінювати його розмір або розмірність під час виконання застосування.

Динамічний масив створюється в два етапи. Спочатку масив визначають в секції General Declarations контейнера без вказівки розміру:

Dim aarray() As Variant

Потім за допомогою оператора Redim встановлюють фактичний розмір масиву:

Dim aarray() As Variant Private Sub Command1_click() Redim aarray(50, 10) 'Код End Sub

Синтаксис оператора Redim:

Redim [Preserve] Ім`я_перемінної (Межі) [As Тип_даних]

Проте Visual Basic надає можливість змінювати розмірність масиву без втрати вмісту. Для цього слід використовувати Redim разом з ключовим словом Preserve:

Dim aarray() As Variant Private Sub Comroand1_click() Redim Preserve aarray(50, 15) 'Код End Sub

Використання з оператором Redim зарезервованого слова preserve дозволяє зберегти вміст масиву при зміні його розміру або розмірності. Але слід враховувати, що для багатовимірних масивів можна змінювати тільки останнє вимірювання:

Dim aarray() As Variant Private Sub Command1_click() Redim aarray(10, 10) Redim Preserve aarray(10, 15) 'діє Redim Preserve aarray(15, 15) 'помилка End Sub

При зміні розмірності можна також змінювати верхню і нижню межі індексу. Але якщо при цьому використовується ключове слово Preserve, то дозволено змінювати тільки верхню межу:

Dim aarray() As Variant Private Sub Command1_click() Redim aarray(10, 20) Redim Preserve aarray(10, 25) 'діє Redim Preserve aarray(15, 25) 'помилка End Sub

Область видимості динамічних масивів (контейнерних, глобальних) визначається способом їх оголошення - якщо за допомогою оператора Public, то масив буде глобальним, якщо за допомогою Dim, то контейнерним.

2)List boxи его основные свойства.

ListBox используются для наглядного представления информации и возможности выбора как одного, так и нескольких его элементов.

BackColor

Style

Sorted

3) Point и метод Метод pset

Точка метод он делает возвращение как целое число (Long), цвет RGB точки вы указываете, могут быть использованы как в таком виде, как PictureBox.

PSET метод дает определенный цвет для точечного объекта.

В следующем примере используются оба метода.

Загрузить графический в picture1 а также место Picture2. Нажав на picture1, в случае MouseDown, вы получите цвет пикселя, что и это значение будет применяться к BackColor из Picture2, как показано на графике, зеленая точка установленном PSET метода.

Примечание: формы и варианты, в которых точка рисуется или других фигур с использованием графических методов, в зависимости от свойств объекта DrawStyle и DrawMode.

Это еще один пример, использующий PSET обратить точки, нажав на форме, на значений х и у, то событие MouseDown бланка, а затем рисует линию от одной точки до другой точки методом линии

4) On Error

Включает подпрограмму обработки ошибок и определяет местоположение этой подпрограммы в процедуре. Может также использоваться для отключения подпрограммы обработки ошибок. Если оператор On Error отсутствует, любая ошибка во время выполнения является фатальной: программа выводит сообщение об ошибке, и выполнение заканчивается.

Public Sub OnErrorDemo()

On Error GoTo ErrorHandler ' Enable error-handling routine.

Dim x As Integer = 32

Dim y As Integer = 0

Dim z As Integer

z = x / y ' Creates a divide by zero error

On Error GoTo 0 ' Turn off error trapping.

On Error Resume Next ' Defer error trapping.

z = x / y ' Creates a divide by zero error again

If Err.Number = 6 Then

' Tell user what happened. Then clear the Err object.

Dim Msg As String

Msg = "There was an error attempting to divide by zero!"

MsgBox(Msg, , "Divide by zero error")

Err.Clear() ' Clear Err object fields.

End If

Exit Sub ' Exit to avoid handler.

ErrorHandler: ' Error-handling routine.

Select Case Err.Number ' Evaluate error number.

Case 6 ' Divide by zero error

MsgBox("You attempted to divide by zero!")

' Insert code to handle this error

Case Else

' Insert code to handle other situations here...

End Select

Resume Next ' Resume execution at same line

' that caused the error.

End Sub

Resume

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

Next

Необязательно. Если ошибка возникла в той же процедуре, в которой находится обработчик ошибок, то выполнение возобновляется с оператора, непосредственно следующего за оператором, вызвавшим ошибку. Если ошибка возникла в вызываемой процедуре, то выполнение возобновляется с оператора, непосредственно следующего за оператором, который последним вызвал процедуру, содержащую обработчик ошибок (или оператор On Error Resume Next).

Sub ResumeStatementDemo()

On Error GoTo ErrorHandler ' Enable error-handling routine.

Dim x As Integer = 32

Dim y As Integer = 0

Dim z As Integer

z = x / y ' Creates a divide by zero error

Exit Sub ' Exit Sub to avoid error handler.

ErrorHandler: ' Error-handling routine.

Select Case Err.Number ' Evaluate error number.

Case 6 ' "Divide by zero" error.

y = 1 ' Sets the value of y to 1 and tries the calculation again.

Case Else

' Handle other situations here....

End Select

Resume ' Resume execution at same line

' that caused the error.

End Sub

5. Cls Dim n As Integer, i As Integer, j As Integer, p As Integer Dim max As Integer INPUT n Dim a(n) As Integer Print "Vvedite massiv iz"; n; "elementov:" For i = 0 To n - 1 INPUT a(i) Next i Print p = 1 For i = 0 To n - 2 If a(i) = a(i + 1) Then p = p + 1 If p > max Then max = p If a(i) <> a(i + 1) Then p = 1 Next i Print max

6. Написати фрагмент програми додавання записів в таблицю (без використання елементу Data). Set Data1.Recordset = Nothing rs.AddNew rs.Fields(0).Value = 111 rs.Fields(1).Value = 222 rs.Update Set Data1.Recordset = rs

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]