Программирование >>  Проектирование интерфейса пользователя 

1 ... 37 38 39 [ 40 ] 41 42 43 ... 153


В таких ситуациях, когда необходимо автоматизировать решение и

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

Основные темы занятия.

Механизмы создания функций и процедур.

Заповеди программирования.

Практические примеры.

Функции импорта текстовтх даннтх.

Механизмы создания процедур

Язык программирования VBA поддерживает две разновидности именованнтх блоков кода - процедуры (подпрограммы) и функции. Вначале обратимся к процедурам.

Их проще создавать и удобнее использовать в качестве отправного пункта дальнейшего повествования.

В основе технологии процедурного программирования лежат очевидные и естественные предпосылки, связанные с ограниченными возможностями человеческой памяти и стремлением представить сложную проблему в виде набора простых именованных сущностей, каждая из которых ссылается на некую группу данных или подразумевает выполнение определенного законченного множества операций. Как я, например, запоминаю телефонные номера? Я мысленно разбиваю номер на три группы цифр: первая соответствует коду региона, вторую я называю префиксом, а третью -

суффиксом. Вместо беспорядочного нагромождения цифр, в моей памяти сохраняется

четко структурированная и поэтому легче воспринимаемая информация.

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

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

Новый термин

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

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

В каждой процедуре легко заметить несколько основных частей. Первая - это наименование, которому предшествует служебное слово Sub. Далее могут быть перечислены значения параметров, которые передаются в процедуру. Такие значения называют аргументами. За первой строкой следует блок тела процедуры. Любая процедура завершается парой служебных слов End Sub. Ниже подробно рассмотрены все основные части процедуры, написанной на языке VBA.



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

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

Su ртцедуры ] ИмяАргумента As ТипДанных, . . . ] ) End Sub

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


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

Правила именования процедур

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

Sub DocumentPrint( DocumentNumber As Long, DocumentDate As Date ) End Sub

Название процедуры - DocumentPrint. Оно говорит само за себя - процедура

выполняет печать документа (например, платежного). Наименования аргументов,

DocumentNumber и DocumentDate, также достаточно понятны. Первый из них - это номер документа (скажем, в базе данных), а второй - дата его сохранения. Если подпрограмма решает только задачу печати документа, специальные комментарии, вероятно, не понадобятся. (За дополнительными сведениями о правилах конструирования процедур и функций обращайтесь к разделу Заповеди программирования , приведенному ниже в этой главе.)

Аргументы - как их звать-величать

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



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

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

именно назван тот или иной объект программы, но вам самим и будущим читателям вашей программы это далеко не безразлично. Если когда-либо вашему преемнику (или даже вам самому - через пару месяцев) придется разбираться в пазпачепии процедуры с душераздирающим названием BrrMrrDrr J201,вам не удастся избежать упреков от посторонних или приступов самобичевания.

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

начинающиеся с прописной буквы, последовательности слов или

общепринятые аббревиатуры - и код будет оставаться понятным и

доступным всем и всегда.

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

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

Аргумент определяется следующим образом: вначале указывается его наименование, за которым следуют служебное слово As и обозначение типа данных. Количество

аргументов процедуры не ограничено. Если необходимо передать процедуре более одного аргумента, их следует разделять запятыми. (Количество запятых, таким образом, на единицу меньше числа аргументов.)

Ниже приведен пример короткой процедуры, которая вычисляет общую стоимость изделия с учетом налога. Результат сохраняется в глобальной переменной. Global TotalSale As Double

Sub CalculateSalesTax( SaleAmount As Double, SalesTax As Double )

TotalSale = SaleAmount * (1 + SalesTax) End Sub

Эта процедура использует два аргумента. Синтаксис ее правильный. Она также точна логически. Синтаксическая и логическая правильность - два обязательных условия, которых следует придерживаться. Если конструкция неверна с точки зрения синтаксиса, она просто не будет работать. Логическая правильность заключается в гарантии получения верного предсказуемого результата. Процедура CalculateSal-esTax удовлетворяет обоим названным стандартам.

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


Вопросам обеспечения устойчивости и надежности программного кода посвящена глава 18-й час. Обработка ошибок во время выполнения программы . Напомним еще раз - старайтесь избегать использования глобальных переменных.



1 ... 37 38 39 [ 40 ] 41 42 43 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика