Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 2 ч.docx
Скачиваний:
4
Добавлен:
27.09.2019
Размер:
68.73 Кб
Скачать

26Выполнение программ до определенной точки

Точка останова — это сигнал, который указывает отладчику временно остановить выполнение программы в определенной точке. Приостановка выполнения программы в точке останова называется режимом приостановки. Вход в режим приостановки выполнения не приводит к прекращению или завершению работы программы, поэтому выполнение программы может быть продолжено в любое время.

Режим приостановки выполнения можно представить как пребывание программы в неком времени ожидания. В этом режиме все элементы, например функции, переменные и объекты, сохраняются в памяти, но их перемещения и активность приостанавливаются. Во время режима приостановки выполнения можно выполнить поиск ошибок и нарушений целостности данных, проверив положения элементов и их состояние. В режиме приостановки в программу можно вносить коррективы. Например, можно изменить значение переменной. Можно перемещать точку выполнения, изменяя оператор, который будет выполняться следующим при возобновлении выполнения программы. В C++, C# и Visual Basic в режиме приостановки выполнения можно даже изменять код с помощью эффективного средства "Изменить и продолжить".

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

Многие языки программирования имеют операторы или конструкции, которые приостанавливают выполнение программы и вводят ее в режим приостановки. Например, в Visual Basic есть оператор Stop.

27Оператор условной передачи управления

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

Синтаксическая диаграмма <Оператор условной передачи управления>

Условия записывают в виде логического выражения, в зависимости от результата которого осуществляется выбор одной из ветвей: если результат true, то выполнятеся оператор, следующий за служебным словом then, иначе - оператор, следующий за служебным словом else.

28Понятие массива

Массив - это коллекция переменных, которые имеют общие имя и базовый тип. Все элементы данных, сохраняемых в массиве, должны иметь один и тот же тип. Информация, сохраненная в массиве, может быть доступна в любом порядке.

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

Одномерный массив - это самый простой вариант массива, использующий обыкновенный список данных. Например: Вася, Петя, Коля, Миша, Ваня, Слава, Игорь, Юра, Саша, Вова

Многомерные массивы

Одномерные массивы хорошо подходят для представления простых списков данных. Однако часто бывает необходимо представить таблицы данных в программах с организацией данных в формате строк и столбцов, подобно ячейкам в рабочих листах Excel. Для этого необходимо использовать многомерные массивы. Так адрес каждой ячейки листа состоит из двух чисел, одно из которых (номер строки) является первым индексом, а второе (номер столбца) - вторым индексом массива. Такой массив называется двумерным массивом. Добавив еще номер листа, получим трехмерный массив. VBA позволяет создавать массивы, имеющие до 60 измерений.

Массивы VBA - объявление и использование массивов

Объявление массивов

Объявление массива с использованием оператора Dim имеет следующий синтаксис:

Dim VarName([Subscripts]) [As Type] VarName - любое имя массива, использующее допустимый идентификатор имени; Subscripts - измерение массива. Если размерность массива больше единицы, то Subscripts разделяются запятыми.

29понятие пользовательской функции

Функция пользователя - определенный набор команд, на которые Вы ссылаетесь по имени, и возвращающие значение. Значение, возвращенное функцией, может быть числовым, true/false или текстовой строкой, и Вы можете использовать функции в любой части инструкции, где требуется это значение.

30оператор присваивания

Операторы присваивания необходимы для изменения значения переменных. В VBA существует четыре вида операторов присваивания:

Let (прямое присваивание);

LSet (левое присваивание);

RSet (правое присваивание);

set (объектное присваивание).

31понятие стандартной функции

Особенность использования стандартных функций состоит в том, что в тексте программы их описание не указывается. Вызов стандартных функций применяется в программе так же, как и при использовании любых других функций (это - обычная практика).

32оператор объявления массивов

Объявление массива с использованием оператора Dim имеет следующий синтаксис:

Dim VarName([Subscripts]) [As Type]

VarName - любое имя массива, использующее допустимый идентификатор имени;

Subscripts - измерение массива. Если размерность массива больше единицы, то Subscripts разделяются запятыми.

Оператор Subscripts имеет следующий синтаксис:

[lower To] upper [,[lower To] upper]..

lower - определяет нижний диапазон допустимых индексов для массива (необязательный аргумент);

upper - определяет верхний предел для индексов массива (обязательный аргумент).

Примеры правильного объявления массивов:

Dim Array_Str (1 To 10) As String - одномерный статический строковый массив, включающий 10 элементов;

Dim Array_Var() - динамический массив;

Dim Array_Mult (0 To 5, 0 To 7) As Integer - двумерный статический массив целых чисел, включающий 6*8=48 элементов.

33. Создание меню

Создание меню в Visual Basic осуществляется с помощью специального инстру мента создания меню — редактора меню. Окно редактора меню открывается одним из трех способов: путем нажатия комбинации клавиш [Ctrl+E], нажатием соответствующей кнопки на панели инструментов или после выбора команды меню Tools\Menu Editor.... На рисунке показано окно проекта меню с уже готовым проектом.

Из рисунка видно, что элементы меню создаются аналогично элементам управления и имеют такие свойства, как Caption и Enabled. Меню строится иерархически, и его структура выглядит примерно так:

Элемент! Строка_заголовка (Уровень_1) Уровень_2 Уровень_3 ~Уровень_4 Уровень_5 Уровень_6 Элемент2 Строка_заголовка Уровень_2

Проще всего создавать меню при помощи встроенного редактора меню Visual Basic. Для этого сначала в поле Caption окна редактора вводится текст, который будет виден в строке меню. Для быстрого открытия меню или вызова команды используются горячие клавиши. Для определения горячих клавиш достаточно в поле Caption перед соответствующей буквой поставить амперсанд (&). Например, для быстрого открытия меню File в поле Caption диалогового окна редактора меню необходимо ввести "&File". Если же в качестве горячих клавиш нужно определить [Alt+i], то в поле Caption следует ввести "F&ile".

Второй шаг — назначение имени элементу меню (так же, как любому элементу управления). Учтите, что Visual Basic не задает имя по умолчанию, как для других элементов управления.

Правила назначения имени

При назначении имен элементам меню также нужно соблюдать правила. Имя должно состоять из следующих частей: прежде всего, префикса, указывающего, что это меню, т.е. mnu; затем следует: для пунктов главного меню — имя пункта, для подменю — сокращенные имена родительских пунктов, а затем собственное имя меню. В таблице приводятся некоторые примеры:

Таблица 3.8. Имена меню

Команда меню

Имя

file

mnuFile

.ile\Qpen...

mnuFOpen

.ile\Send\Eax

mnuFSFax

Последняя задача при создании меню — определение уровней. Для этого вос пользуйтесь кнопками со стрелками. Кнопка со стрелкой вправо смещает элемент меню на уровень ниже, а со стрелкой влево — на уровень выше. Кнопки с вертикальными стрелками изменяют позицию отдельных элементов меню, т.е. перемещают их в списке вверх или вниз.

Поле Shortcut позволяет определить комбинации клавиш для быстрого доступа к отдельным элементам меню. Среди наиболее часто используемых приложениями Windows комбинаций клавиш можно отметить следующие: [Ctrl+X] (Cut), [Ctrl+C] (Copy), [Ctrl+V] (Paste).

Поля WtadowList и Index будут рассмотрены позже.

Свойства Visible, Enabled, Checked

В последней строке верхней половины окна редактора меню есть еще три свойства элементов меню. Свойство visible позволяет отображать или скрывать отдельные элементы меню. Свойство Enabled функционирует так же, как в других элементах управления: если его значение False, то текст надписи подсвечивается серым цветом и пользователь не может выполнить эту команду меню. Свойство Checked встречается в данной книге впервые. Оно позволяет пометить выбранный элемент меню галочкой.

Свойства элементов меню можно изменять и во время выполнения. При этом синтаксис такой же, как и для других элементов управления:

mnuFLoad.Caption = "&3агрузить" mnuFLoad.Enabled = False mnuFLoad.Visible = False mnuFLoad.Checked = True

Для создания процедуры выполнения команды меню следует во время проектирования выбрать соответствующий пункт в форме. При этом создастся процедура обработки события click. Другие элементы меню можно найти и в списке объектов окна кода.

Private Sub mnuFLoad_Click () LoadSomething End Sub

35

Функция

Описание

Пример

Len(str)

Определяет длину строки

Из а=lеn("Персонажи") следует а=9

Left (<строка>, <длина>)

Выделяет из аргумента <строка> указанное количество символов слева

Left(" 1234string", 4) ="1234"

Right(<строка>, <длина>)

Выделяет из аргумента <строка> указанное количество символов справа

Right(" 1234string", 6) ="string"

Mid(<строка>, <старт> [, <длина>])

Выделяет из аргумента <строка> подстроку с указанным числом символов, начиная с позиции <старт>

Mid ("12345678", 4.3) ="456"

Mid(<строка>, <старт>)

Выделяется подстрока от позиции <старт> до конца строки

Mid ("12345678", 4) ="45678"

LTrim (<строка>)

Удаляет пробелы в начале строки

LTrim(" печать") ="печать"

RTrim (<строка>)

Удаляет пробелы в конце строки

RTrim("печать ") ="печать"

Trim (<строка>)

Удаляет пробелы в начале и в конце строки

Trim(" печать ") ="печать"

InStr([<старт>, ] < строка1>, <строка2> [, <сравнение>])

Производит поиск подстроки в строке. Возвращает позицию первого вхождения строки <строка2> в строку <строка1>, <старт> - позиция, с которой начинается поиск. Если этот аргумент пропущен, поиск начинается с начала строки

Instr("C:Temp test.mdb", "Test")=9 Если искомая строка не находится в указанной строке, функция возвращает 0

InStrRev ([<старт>, ] <строка1>, <строка2> [, <сравнение>])

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

Replace (<строка>, <строкаПоиск>, <строкаЗамена>)

Позволяет заменить в строке одну подстроку другой. Эта функция ищет все вхождения аргумента <строкаПоиск> в аргументе <строка> и заменяет их на <строкаЗамена>