- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Интернет-журнал 'Домашняя лаборатория', 2007 №7 - Глуховский
Шрифт:
Интервал:
Закладка:
В Visual Basic for Applications определено большое количество различных типов данных (рис. 4.3). Так, переменная типа Integer — это целое число от — 32 768 до 32 767, а переменная типа String — это строка текста длиной до двух миллионов символов. Все возможные в Visual Basic for Applications типы данных подробно описаны в справке по этому языку. В зависимости от типа данных с переменной можно производить те или иные действия и вычисления, — с числовыми математические, с текстовыми — текстовые (выделение подстроки из строки, получение отдельных символов из строк и др.) и т. д.
Рис. 4.3. Пример справки по типам данных
Для того, чтобы переменной мог быть присвоен тип данных и она могла в дальнейшем использоваться в программе, эта переменная должна быть объявлена, — то есть в программу должно быть включено указание, что такая переменная существует и у нее такой-то тип. В Visual Basic for Applications объявление переменной проводится указанием ее имени и типа в соответствующем разделе модуля, который так и называется — Описания и располагается в самой верхней его части, до начала первой программы (рис. 4.4). Для размещения описания нужно поместить туда строчку вида "Dim х(переменная) As (тип данных)": "Dim а As Integer".
Вместо слова Dim могут также использоваться слова Public и Private, которые тоже служат для объявления переменных. Переменная, объявленная командой Public, может использоваться и программами из других модулей и форм, при этом она своего значения не теряет. Переменная же, объявленная командой Private (или Dim), может использоваться только в программах модуля, в котором она объявлена. При наличии одноименной переменной в программах другого модуля ее значение не будет передаваться в них при их вызове из программы модуля, где она объявлена, — т. е. если вы поместите в программу команду, запускающую макрос из другого модуля, то в этом другом модуле одноименная переменная отнюдь не будет иметь то же значение, что и в исходной программе.
Рис. 4.4. Область описаний
Как Public или Private переменная может быть объявлена только в разделе описаний переменных. С помощью же инструкции (команды, не выполняющей реальных действий) Dim она может быть объявлена и в тексте программы. Однако тогда ее другие модули уже использовать не смогут никак.
В области работы с типами данных Visual Basic for Applications имеет еще одну достаточно уникальную особенность. При написании программ на этом языке можно, как ни странно, даже вообще не объявлять специально переменные! Просто включите их в текст программы по мере надобности, и тогда Visual Basic for Applications автоматически присвоит им специальный тип для таких случаев — "Variant". В переменной, имеющей этот универсальный тип, может содержаться что угодно — хоть число, хоть текст. Однако следует помнить, что объем памяти, отводимый под переменную типа Variant, весьма велик, — значительно больше, чем под любой другой тип данных, поэтому определять все переменные как тип Variant не всегда рационально. Впрочем, учитывая большой объем оперативной памяти на современных компьютерах, потери памяти от использования Variant'а ощутимы крайне редко.
Тип Variant отличается еще и тем, что переменные с таким типом автоматически могут преобразовываться в любой нужный другой тип. Например, если переменная "х" имеет тип Variant и значение 2 (число), то после команды "x=Str(x)", которая преобразует число в строку, она уже будет иметь значение "2", то есть текстовая строка с цифрой "2". Такое преобразование было бы невозможно, если бы переменная "х" была бы объявлена как Integer — целое число.
Если вы не объявляете переменную заранее, а просто упоминаете ее в программе на Visual Basic for Application, то она объявляется "автоматически", и так же "автоматически" ей присваивается тип Variant. Подобная тактика написания программы может показаться неплохой, так как убыстряет этот процесс, однако, к сожалению, необъявленные переменные не могут быть использованы в других модулях или формах — при таком использовании их значения будут потеряны[228].
Можно запретить для себя использование необъявленных переменных, вставив в начало модуля, в верх раздела описаний инструкцию "Option Explicit", и тогда программа остановится и перейдет в режим отладки, если вдруг наткнется на такую переменную.
Стоит быть внимательнее с типами данных, так как в некоторых случаях неправильное их использование может дать ошибку. Например, переменная с типом Integer не может превысить значение 32 767; если же надо использовать большие числа, то следует определить ее тип как Long, а если она может быть еще и дробной, то — Double.
В именах переменных Visual Basic for Applications распознаёт строчные и прописные буквы русского алфавита как разные символы. А вот заглавные и строчные латинские буквы считаются одинаковыми.
3. Процедуры и функции.
В принципе любая программа может быть написана в виде одного длинного блока текста. Однако такой код будет крайне нерациональным. Например, в программе необходимо несколько раз подсчитать сумму всех членов арифметической прогрессии для разных чисел. Можно, конечно, считать результат каждый раз по известной формуле, но это очень усложнит код. А если неизвестно, для какого количества чисел надо считать эту сумму (например, это определяет пользователь), то написание программы становится вообще невозможным! Поэтому в Visual Basic for Applications, как и в других современных языках программирования, есть понятие процедур и функций, иначе называемых подпрограммами.
Процедура — это программа, которая может быть вызвана из другой программы и при этом получить для дальнейшей обработки определенную информацию. Например, можно написать процедуру для вычисления суммы всех членов арифметической прогрессии и помещения результата в текст активного документа, и вызывать ее