Освоение программирования


   Блондинка с огромной грудью мастурбирует мужику член | Церазов | аварийная очистка канализации          

Basic - вводный курс

Давайте для начала договоримся об определениях, чтобы в дальнейшем говорить на одном языке, поскольку .язык алгоритмов должен быть понимаемым ясно и однозначно.
Под языком программирования мы будем понимать совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера. Отсюда неискушенный читатель может решить, что компьютер, оказывается, при всей его кажущейся могущественности, не поймет задачи, поставленной ему на простом человеческом языке, будь то русский, английский или даже китайский. Таким образом, существует разделение всех языков программирования на две большие группы — языки высокого и низкого уровней. Человек считает себя венцом творения (с этим можно согласиться, но можно и поспорить, если внимательней присмотреться к некоторым таким "венцам"), поэтому языком самого высокого уровня считается" человеческий язык, и когда компьютер станет его легко понимать, то он вплотную приблизится к человеку. Языком самого низкого уровня считается язык так называемых машинных кодов. Все остальные алгоритмические языки лежат где-то посередине. Например, к языкам низкого уровня принадлежат так называемые языки семейства ассемблеров. Их достоинство в том, что они почти не требуют перевода для компьютера, и он практически сразу выполняет алгоритм. Есть, однако, существенный недостаток — писать программы на таких языках может только очень опытный программист, и получаются они слишком громоздкими. Напротив, языки высокого уровня в достаточно сильной степени приближены к человеческому (чаше к английскому) языку — это и Фортран, и Паскаль, и Си, но выполнение алгоритма компьютером в данном случае несколько тормозится предварительным переводом на язык машинных кодов.

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

Немного истории
О языках: интерпретаторы и компиляторы
Дружественный интерфейс
Этапы решения алгоритмических задач на ПК

Язык Бейсик
Прежде чем непосредственно приступить к программированию, надо научиться пользоваться средой предлагаемого к изучению языка. А поскольку она на русском языке, то это не составит большого труда.

Оболочка Russian Quick Basic
Где взять русский Бейсик
Запуск русского Бейсика и начало работы
Как вводить текст программы в окне редактора
Запуск программы на выполнение
Сохранение и открытие файлов в Бейсике
Алфавит языка
Переменная и что в ней меняется
Арифметика в Бейсике
Оператор присваивания

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

Алгоритмы
Виды алгоритмов
Линейный алгоритм
Графика в Бейсике
Графические примитивы
Правила построения сложных изображений
Макроязык GML
Вывод текстовой информации в графике
Разветвляющийся алгоритм
Безусловный переход

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

Массивы
Описание массива
Заполнение одномерных массивов
Простейшие сортировки
Двумерные массивы
Подпрограммы
Работа с файлами
Файловая система
Способы доступа к файлам
Операции над файлами

Задания повышенной трудности, интегрированные, азартные
Если вы добрались до сих слов, дорогой читатель, то дальше, полагаю, вы сможете идти один, гордо неся знамя российского программирования над миром (ведь только в США 80% разработчиков программного обеспечения и математиков — наши соотечественники). Напоследок я хочу предложить вам ряд разнообразных задач, поломав голову над которыми, вы приобретете неоценимую закалку и опыт. Они будут без решений. Кроме того, подобные задания всегда хочется видеть не просто работающими, но и оформленными, и снабженные такими "FOOL PROOF" (защитой от дурака, т. е. выдерживающими случайные нажатия не тех клавиш неопытными пользователями), чтобы с ними было приятно работать.

Задания повышенной трудности
Угадайка
Анаграммы
Стрельба из пушки
Царь-пушка
Кинотеатр "Кристалл-Палас"
Тараканьи бега
Тесты

Решения
Арифметика в Бейсике
Оператор присваивания
Выводим результаты
Стандартные функции Бейсика
Вывод данных в заданном месте экрана
Вводим данные
Операторы DATA и READ
Линейный алгоритм
Графика в Бейсике
Разветвляющийся алгоритм

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

Дополнительные возможности
Экранные режимы: оператор SCREEN
Цвет символов и цвет фона: оператор COLOR
Движущиеся изображения: операторы GET a PUT
Цвет точки экрана: функция POINT
Одиночный звуковой сигнал: оператор ВЕЕР
Звуковое оформление: оператор SOUND
Музыка в Бейсике: оператор PLAY

Приложение
Здесь мне хочется коротко представить наиболее часто используемые операторы Бейсика, снабдив их краткими комментариями (табл. П1—П10). Полная справка по языку имеется в его оболочке, где вы легко можете найти полные сведения о том или ином операторе с наглядными примерами.

Язык Qbasic. Краткий справочник
Сообщения об ошибках и их коды

Самоучитель VBA

Настоящая книга является с одной стороны, подробным справочником по Visual Basic for Applications (VBA), а с другой стороны, самоучителем по составлению и разработке приложений, написанных на этом языке. Это уникальное сочетание, которое, следуя рекламному подходу, можно назвать "два в одном", обеспечивает большую гибкость при решении читателем своих собственных задач. Самоучитель на большом количестве примеров умело и доступно обучает, как можно быстро и эффективно решать разнообразные задачи. В справочнике приводится подробное описание возможностей VBA, имея такие сведения под рукой у читателя исчезнет необходимость бегать по магазинам в поиске дополнительной литературы при написании самостоятельных приложений, что несомненно сбережет время и кошелек.
Самоучитель состоит из уроков. В каждом из уроков разрабатывается пример пользовательского приложения и дается подробный анализ. Тексты всех программ снабжены доскональными комментариями. Можно сказать, что все рассматриваемые программы разложены буквально по маленьким разжеванным кусочкам, которые читателю только и остается проглотить. По завершению урока предлагается самостоятельное задание, выполнение которого поможет лучше закрепить разобранный материал.
С помощью VBA можно легко и быстро создавать пользовательские приложения, используя единую для всех офисных программ среду и язык. Научившись разрабатывать приложения для одной офисной программы, например Excel (которой, как наиболее популярной офисной программе, в основном и посвящена данная книга), можно создавать приложения и для других офисных программ, например Access.

Введение
Внимательно читая эту книгу, можно стать искусным разработчиком и научиться пользоваться мощными средствами разработки приложений Excel для того, чтобы конструировать эффективные и применимые к реальной жизни приложения. Кроме того, по своей структуре, интерфейсу и синтаксису VBA образует ядро Visual Basic. Поэтому тот, кто изучит программирование на VBA очень быстро может освоить и Visual Basic.

Зачем нужен VBA
Журнал ежемесячных расходов
Макрос ежемесячных расходов
Диалоговое окно Запись макроса
Диалоговое окно Макрос
Главное окно редактора VBA

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

Что такое VBA
Объекты и их семейства
Объекты OLE и ActiveX
Классы
Иерархия объектов
Иерархия встроенных объектов VBA
Методы
Свойства
События
Структура редактора VBA

Основные объекты VBA
Объект Application (приложение) является главным в иерархии объектов Excel и представляет само приложение Excel. Он имеет более 120 свойств и 40 методов. Эти свойства и методы предназначены для установки общих параметров приложения Excel. Кроме того, объект Application позволяет вызывать более 400 встроенных функций рабочего листа

Объект Application
Свойства объекта Application
Методы объекта Application
События объекта Application Событие
Свойства объекта Workbook и Workbooks
Методы объекта Workbook и Workbooks
События объекта Workbook и семейства
Свойства объекта Worksheet и Worksheets
Методы объекта Worksheet и Worksheet Evaluate
События объекта Worksheet Событие

Методы объекта Range
Метод DataSeries (прогрессия) создает профессии. Вручную метод DataSeries выполняется с помощью команды Правка, Заполнить, Прогрессия (Edit, Fill, Series).

Метод DataSeries
Метод AutoFill
Метод AutoFilter
Метод AdvancedFilter
Метод Consolidate
Метод Find
Метод GoalSeek
Метод Sort Сортировка позволяет

Сценарии и определение структуры данных
Объект scenario (сценарий) позволяет хранить несколько значений в одной ячейке. Каждое уникальное значение в ячейке или каждая уникальная группа значений для группы ячеек называется сценарием. Семейство scenarios (сценарии) содержит все сценарии рабочего листа. Вручную сценарии создаются с помощью команды Сервис, Сценарии (Tools, Scenarios).

Объект Scenario
Объект Outline

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

Объекты Chart и ChartObject
Иерархия объектов Chart и ChartObject
Свойства объекта Chart
Методы объекта Chart
Пример диаграммы Шаг 0
Диалоговое окно 1 шага работы мастера диаграмм
Диалоговое окно 2 шага работы мастера диаграмм
Вкладка Ряд 2 шага работы мастера диаграмм
Вкладка Заголовки 3 шага работы мастера
Диалоговое окно 4 шага работы мастера диаграмм

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

Объект PivotTable
Семейство PivotTabies PivotFieids и Pivotitems
Метод PivotTableWizard
Отчет о продаже сети из 3 магазинов
Первое диалоговое окно мастера сводных таблиц
2 диалоговое окно мастера сводных таблиц
3 диалоговое окно мастера сводных таблиц
3 диалоговое окно структуры сводной таблицы
ActiveSheet PivotTables
4 диалоговое окно мастера сводных таблиц

Элементы управления и пользовательская форма
VBA обладает встроенным набором элементов управления. Используя этот набор и редактор форм не трудно создать любой пользовательский интерфейс, который будет удовлетворять всем требованиям, предъявляемым к интерфейсу в среде Windows. В данной главе дан обзор встроенных элементов управления VBA. Элементы управления являются объектами. Поэтому, как любые объекты, они обладают свойствами, методами и событиями. Элементы управления создаются при помощи панели инструментов Элементы управления (Control Toolbox)

Элементы управления
Режим конструктора
Установка свойств элемента управления
Редактор кода
Пользовательская форма UserForm
Семейство Controls
Создание пользовательской формы
Общие свойства элементов управления
Соглашения об именах
Общие методы и события элементов управления

Программирование панели инструментов
Семейство CommandBars содержится в объекте Application. Оно представляет собой панели команд. В свою очередь каждый объект CommandBar содержит семейство commandBarControls, состоящее из всех элементов управления данной панели инструментов. Свойство controls объекта CommandBar возвращает семейство CommandBarControls. Элементы семейства CommandBarControis относятся к одному из трех типов.

Объект CommandBar и семейство CommandBars
Иерархическая схема объекта CommandBar
Названия панелей инструментов
Семейство CommandBarControls
Пример создания панели инструментов
Пользовательский интерфейс
Пример создания строки меню пользователя
Интерфейс с пользовательской строкой меню
Создание пользовательской панели инструментов
Диалоговое окно Настройка

Программирование средств для работы со справочной информацией
Помощник программируется на VBA при помощи объекта Assistant. Структура объекта Assistant приведена на 9.1. Важной особенностью объекта является то, что это единичный объект, не являющийся элементом никакого семейства объектов. В каждый момент времени можно вывести только одного помощника. Но помощника можно видоизменять по ходу работы программы. Объект Balloon представляет собой окно помощника, содержащее список разделов справки, связанных с помощником.

Структура помощника
Типы помощника
Свойства объекта Assistant
Объект Balloon

Работа с графическими объектами
Объект shape — это любой графический объект, размешенный на рабочем листе или диаграмме. Семейство shapes представляет собой семейство всех графических объектов рабочего листа. Семейство ShapeRange содержится в семействе shapes и является конкретным набором графических объектов рабочего листа. В крайних случаях семейство ShapeRange может состоять только из одного объекта или совпадать с семейством shapes, которое его содержит.

Семейства Shapes и ShapeRange
Методы создающие объекты Shape
Объекты прямоугольник, овал и лицо
Графические объекты линии и текстовое поле

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

Типы данных
Описание переменных
Допустимые имена
Инструкция DefТип
Массивы
Динамические массивы
Функции и процедуры для работы с массивами
Константы
Тип данных определенный пользователем
Операции VBA

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

Разработка процедур
Перехват и обработка ошибок
Отладка программ
Ошибки компиляции
Ошибки выполнения
Логические ошибки
Инструкция Option Explicit
Пошаговое выполнение программ
Точка останова
Вывод значений свойств и переменных

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

Типы файлов в VBA
Открытие и закрытие файла
Ввод данных в файл последовательного доступа
Вывод данных из файла доступа
Работа с файлом произвольного доступа
Наиболее употребляемые инструкции и функции
Объект FileSearch
Иерархическая структура объекта FileSearch

Пользовательские объекты
В VBA наряду с огромным числом встроенных объектов предусмотрена возможность создания пользовательских объектов. Использование таких объектов позволяет сократить текст программы и сделать его более понятным. Пользовательские объекты являются элементами пользовательских классов (или образно говоря, классы являются формами, из которых "пекутся" конкретные объекты). Пользовательские классы конструируются в модулях классов, которые создаются в редакторе Visual Basic выбором команды Вставка, Модуль класса (Insert, Class Module).

Создание модулей класса
Процедуры Property Let Property Set и Property Get

Работа с внешними базами данных
В Microsoft Office входит отдельная программа, которая называется Microsoft Query, предоставляющая доступ к базам данных, созданных с помощью таких программных средств, как dBASE, Access, Paradox, Microsoft SQL Server и т. п. Эта программа позволяет отбирать информацию из базы данных, сортировать, редактировать и копировать ее на рабочий лист. Используя Microsoft Query, можно получить данные на основе заданных пользователем критериев. Excel связывается с Microsoft Query посредством механизма DDE (Dynamic Data Exchange — динамический обмен данными).

Создание запросов с помощью Microsoft Query
База данных о студентах
Диалоговое окно Выбор источника данных
Диалоговое окно Select Database
Создание запроса выбор столбцов
Создание запроса отбор данных
Создание запроса порядок сортировки
Создание запроса заключительный шаг
Возврат данных в Microsoft Excel
Результат запроса

Практические приемы программирования на VBA
На примере простейшей компьютерной игры будет полностью разработано первое приложение в этой книге. Это приложение должно моделировать игру в орел и решку. Игрок вносит в банк определенную сумму денег. Во время игры нельзя добавлять деньги в банк. Игра состоит из последовательности шагов, которая, вообще говоря, может быть бесконечной. На очередном шаге игрок загадывает либо орел, либо решку. Компьютер "бросает монету". Если "монета падает той же стороной", которую загадал игрок, то банк увеличивается на единицу, в противном случае - уменьшается на единицу.

Урок 1
Цель урока
Теория
Практика
Пользовательская форма для игры в орел и решка
Возможное сообщение о неправильном вводе
Диалоговое окно ОрелРешка
Самостоятельное задание

Расчет маргинальной процентной ставки
Рассматриваемое приложение решает задачу следующего типа. В одной стране со стабильной валютой, скажем рублем, жил-был Ксенофон Заковыркин, начинающий бизнесмен. Однажды ему была предложена следующая сделка. Ксенофон дает в долг 10 000 руб., а ему возвращают по 2 000 руб. в течение 6 последующих лет, т. е. в сумме 12 000 руб., что больше даваемой в долг суммы денег. Ксенофон Заковыркин может не давать эти деньги в долг, а положить под проценты в банк.

Урок 2
Цель урока
Теория
Практика
Диалоговое окно Маргинальная процентная ставка
Сообщение о некорректном вводе данных
Отчет выводимый на рабочем листе программой
Диалоговое окно Формат ячеек

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

Практика
Самостоятельное задание

Расчет амортизации
Под амортизацией подразумевается уменьшение стоимости имущества в процессе эксплуатации. Обычно оценивают величину этого уменьшения на единицу времени. Функция рабочего листа AMP (SLN) возвращает величину амортизации имущества за один период времени, используя метод равномерной амортизации.

Цель урока
Теория
Практика
Диалоговое окно Расчет амортизации
Расчет амортизации при Методе k кратного учета
Сообщения о несогласованности данных
Отчет выводимый на рабочем листе программой
Самостоятельное задание

Решение уравнения, зависящего от параметра
В этом разделе решается уравнение х3 - х - b = 0 при различных величинах параметра Ь, изменяющихся от начального до конечного значения с указанным шагом. При каждом конкретном значении параметра корень уравнения находится методом Goaiseek. Для нахождения корней уравнения при различных значениях параметра, эти значения вводятся в диапазон ячеек рабочего листа, формулы левых частей уравнений в другой диапазон, третий диапазон отводится под неизвестную.

Цель урока
Теория
Практика
Нелинейное уравнение с параметром
Отчет выводимый на рабочем листе программой
Самостоятельное задание

Управление размером и перемещением элементов управления
В первый свой рабочий день в банке молодой программист Нестор Щукин получил задание от менеджера составить приложение, вычисляющее чистый текущий объем инвестиций от вкладов банка. Допустим, что с помощью этого приложения необходимо найти чистый текущий объем инвестиции 10 000 руб. при 7% годовой ставке, при которой банк получает годовые доходы 2 000 руб., 4 000 руб. и 7 000 руб. в последующие три года после вложения денег в инвестиционный проект

Цель урока
Теория
Практика
Пример управления размером и перемещением
Перемещение элемента управления - draganddrop
Самостоятельное задание

Заполнение базы данных
Для заполнения базы данных на рабочем листе с помощью редактора пользовательских форм создадим диалоговое окно Регистрация туристов фирмы "Эх, прокачу!"

Цель урока
Практика

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

Цель урока
Практика

Периодические выплаты
Функция ППЛАТ (РМТ) вычисляет величину постоянной периодической выплаты ренты (например, регулярных платежей по займу) при постоянной процентной ставке

Цель урока
Теория
Практика
Самостоятельное задание

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

Цель урока
Практика
Рабочий лист БазаДанных
Рабочий лист Архив
Регистрация туристов фирмы
Диалоговое окно Поиск
Перерегистрация туристов фирмы
Диалоговое окно Фильтрация
Рабочий лист Сводная
Public Sub UserForml_Initialize() '

Игра в крестики и нолики
В данном уроке запрограммируем игру с компьютером в крестики—нолики на игровом поле размером 3x3 условных клетки. Эта не такая уж тривиальная игра является хорошим примером, чтобы легко научить компьютер играть и воспользоваться возможностью выиграть, если вы, по невнимательности, дадите ему этот шанс

Пример игры в крестики- нолики после2 шага
Пример сообщения о результате игры
Самостоятельное задание
Цель урока
Практика
Крестики - нолики в редакторе форм

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

Цель урока
Теория
Температура и объемы продажи
Температура и объемы
Практика
Вкладка Тренд - Линейная регрессия
Вкладка Параметры - Линейная регрессия
Результат решения первой задачи
Результат решения второй задачи
Самостоятельное задание

Составление расписания
В данном уроке разрабатывается приложение, автоматизирующее составление расписания с одновременным подведением итогов

Цель урока
Практика
Магазин Придорожный лопух 24 часа
Заполнение диалогового окна

Работа с файлами
Файл последовательного доступа. При последовательном доступе файл рассматривается как последовательность строк произвольной длины, разделенных специальными знаками. Чтение из файла и запись в файл производится построчно.

Цель урока
Практика
Файл последовательного доступа
Файл произвольного доступа

Основы офисного программирования и язык VBA

Обычно книги и статьи по VBA посвящены тому, что можно сделать на VBA, но для чего он совсем не предназначен. Так, например, у меня есть книга (на 800 страниц), посвященная, в основном, таким вещам, как системные вызовы и конструирование древовидных структур вручную. Это как раз то, чего нужно бы избегать,- если вы не пишете трояны, конечно.
В этом смысле данная статья - полная противоположность книгам такого рода, то есть мы займемся именно тем, для чего VBA предназначен: созданием и "оживлением" COM-объектов. Полученная программка будет полезна не только в качестве примера, но и практически - то есть ее можно использовать и даже, если повезет, продать.

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

Подвижный VBA'стик в кислотной ActiveX-среде
Use Case с точки зрения программиста
Use Case с точки зрения пользователя
Постановка задачи
Дополнительные условия
Вопросы для системного администратора
Вопросы для системного администратора - 2
Вопросы для системного администратора - 3

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

Офисное программирование
Офисное программирование - 2
Офисное программирование - 3
Состав Office 2000
Инсталляция Office 2000
Инсталляция Office 2000 - 2
Инсталляция Office 2000 - 3
Инсталляция Office 2000 - 4
Содержимое диска "Resource Kit"
Документ Issues

VBA и объекты. Обзор
Office - это среда, в которой многие задачи можно решать без всякого программирования. Office 2000 - это среда, в которой класс таких задач существенно расширился. Но для программиста ценность офисной среды состоит в том, что все задачи, решение которых может быть получено "руками", можно получить и программно. И все, что нельзя сделать руками, можно сделать программно.

Библиотека Office 2000 - каркас приложений
Библиотека Office 2000 - каркас приложений - 2
Встраивание вместо наследования
Встраивание вместо наследования - 2
Встраивание вместо наследования - 3
Macrorecorder
Macrorecorder - 2
Macrorecorder - 3
Macrorecorder - 4
Построение каркаса документа

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

Документ и его программный проект
Модули - обработчики событий
Модули - обработчики событий - 2
Стандартные модули
Стандартные модули - 2
Модули классов
Модуль макросов
Структура модуля. Окно проекта и Окно кода
Окно проекта
Свойства проекта

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

Простые типы данных.
Простые типы данных. - 2
Объявление переменных и констант простых
Объявление переменных и констант простых - 2
Синтаксис объявления простых переменных
Синтаксис объявления простых переменных - 2
Объявления по умолчанию
Константы
Массивы
Массивы - 2

Что нового в классах "Office 2000"
Класс является обобщением понятия типа данных и задает свойства и поведение объектов класса - экземпляров класса. Каждый объект принадлежит некоторому классу. Отношение между объектом и его классом такое же, как между переменной и ее типом. Класс - это объединение данных и обрабатывающих их процедур и функций. Данные называются также переменными класса, а процедуры и функции - методами класса. Переменные определяют свойства объекта, а совокупность их значений - состояние объекта. Наряду со свойствами и методами с классом связывается еще одно понятие - события

Что нового в классах "Office 2000"
Создание класса "Личность"
Создание класса "Личность" - 2
Создание класса "Личность" - 3
Объекты и переменные
Объекты и переменные - 2
Объекты, класс определен пользователем.
Объекты "родного" приложения
ActiveX-объекты
ActiveX-объекты - 2

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

Наследование
Наследование - 2
Виртуальные методы и полиморфизм
Виртуальные методы и полиморфизм - 2
Виртуальные методы и полиморфизм - 3
Абстрактные классы
Наследование и полиморфизм в Office 2000
Наследование интерфейсов
Наследование интерфейсов - 2
Наследование интерфейсов - 3

Несколько слов об API, Win32, DLL
API (Application Programming Interface - интерфейс прикладных программ) - это множество функций, организованных, обычно, в виде DLL. Функции API позволяют организовать интерфейс между прикладной программой и средой, в которой работает эта программа. Вызов функций API позволяет программе получать доступ к ресурсам среды и управлять ее работой. Как правило, API задает стандарт взаимодействия среды и прикладной программы.

Вызов функций и оператор Declare
Вызов функций и оператор Declare - 2
Вызов функций и оператор Declare - 3
Две кодировки ANSI и Unicode
API Viewer
API Viewer - 2
Два языка: C и VB. Различия при вызове функций
Соответствие между простыми типами данных
Структуры языка C и тип VBA
Об описателях языка C и объектах Windows

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

Операторы и строки
Оператор комментария
Присваивание
Оператор Let
Оператор LSet
Оператор RSet
Оператор Set
Управляющие операторы
Оператор выбора Select Case
Цикл Do...Loop

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

Работа с числовыми данными
Математические функции
Работа со строками
Сравнение строк
Сравнение с образцом
Основные операции над строками
Основные операции над строками - 2
Новые функции для работы со строками
Функция InStrRev - поиск последнего вхождения
Функция Replace - замена всех вхождений

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

Классификация процедур
Синтаксис процедур и функций
Синтаксис процедур и функций - 2
Синтаксис процедур и функций - 3
Синтаксис процедур и функций - 4
Функции с побочным эффектом
Создание процедуры
Создание процедур обработки событий
Вызовы процедур Sub
Вызовы процедур Sub - 2

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

Написание надежных программ
Написание надежных программ - 2
Оптимизация программ
Приемы оптимизации кода
Объявление переменных
Математические операции
Строковые операции
Циклы
Искусство отладки
Средства отладки

Проектирование интерфейса. Меню
В предыдущих лекциях в примерах и описании VBA использовалась заключительная англоязычная бета - версия Office 2000. При описании интерфейса я перешел на русифицированную бета - версию Office 2000. Я полагаю, что программисту должно быть все равно, с какой версией он работает, как называется соответствующий пункт меню "Сервис" или "Tools". Тем не менее, разумнее описывать интерфейс применительно к русифицированному варианту.

Общие объекты Office 2000
Коллекция CommandBars
Свойства и методы коллекции CommandBars
Свойства и методы объекта CommandBar
Коллекция CommandBarControls и ее элементы
О роли интерфейса
Создание собственных и модификация меню
Немного терминологии
Возможности настройки и изменения меню
Создание собственного головного меню

Диалоговые окна и элементы управления
Диалоговые окна (формы) и элементы управления составляют основу современного визуального интерфейса. Все эти элементы и технология работы с ними в основном стандартизованы и являются похожими для разных платформ и программных сред. Поэтому не удивительно, что приложения Excel, Word и PowerPoint разделяют единые объекты, задающие диалоговые окна и элементы управления. Эти объекты помещены в специальную библиотеку MSForms.

Общие сведения и применение
Коллекция Dialogs и объект Dialog
Коллекция Dialogs и объект Dialog - 2
Вывод сообщений. Функция MsgBox
Вывод сообщений. Функция MsgBox - 2
Вывод сообщений. Функция MsgBox - 3
Окно ввода данных. Функция InputBox
Окно ввода данных. Функция InputBox - 2
Создание пользовательских диалоговых окон
Создание пользовательских диалоговых окон - 2

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

Коллекция Controls
Перечень основных элементов управления
Объект-родитель
Имя объекта
Значение объекта
Метод Move (Сдвинуть)
Метод Paste (Вставить)
Реализация операций Cut, Copy, Paste в окнах
Метод RedoAction (Повторить действие)
Метод Remove (Удалить)

Метод Repaint (Перерисовать)
Этот метод предназначен для восстановления модифицированных изображений диалоговых окон, рамок и страниц. Поскольку система сама перерисовывает изменные элементы управления, использовать метод Repaint следует лишь тогда, когда пользователь немедленно должен увидеть результаты модификации, не дожидаясь, пока это сделает система.

Метод Scroll (Прокрутить)
Метод SetDefaultTabOrder
Метод SetFocus (Установить фокус)
Метод UndoAction (Отменить действие)
Реализация операций Undo и Redo в окнах
Метод ZOrder (Z-упорядочить)

Основные виды файлов в Office 2000
Как правило, приложения Office имеют дело с файлами, хранящими документы этих приложений. Это файлы с документами Word (с расширениями.doc), рабочими книгами Excel (с расширениями.xls), базами данных Access (с расширениями.mdb). Операции по созданию, открытию и записи этих файлов выполняются с помощью соответствующих методов приложений, которые запускаются командами меню File. Но офисные системы должны уметь работать и с файлами других форматов. Например, часто требуется считывать данные из обычных текстовых файлов и заносить информацию, в них хранящуюся, в таблицы Excel или базы данных Access.

Открытие и создание файлов
Открытие и создание файлов - 2
Открытие и создание файлов - 3
Закрытие файлов
Запись в файлы последовательного доступа
Запись в файлы последовательного доступа - 2
Запись в файлы последовательного доступа - 3
Запись в файлы последовательного доступа - 4
Чтение файлов последовательного доступа
Чтение файлов последовательного доступа - 2

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

Вопрос первый: Как сохранить
Вопрос второй: Как импортировать
Вместо заключения
Вопрос первый: Как сохранить
Вопрос первый: Как сохранить - 2
Вопрос первый: Как сохранить - 3
Вопрос первый: Как сохранить - 4
Вопрос второй: Как импортировать

VBA для тех кто любит думать

Программы на VBA - макросы - можно создавать для любой программы пакета Microsoft Office: для Word, Excel, Access, PowerPoint и даже Outlook. В этой книге будет преимущественно рассмотрен процесс создания макросов для Microsoft Word. Среда Microsoft Word выбрана для начального изучения работы с Редактором VBA и принципов программирования на Visual Basic for Applications из-за того, что, во-первых, именно Word является наиболее популярной программой из всего пакета Microsoft Office (по подсчетам исследователей из Microsoft, из каждой сотни запусков программ из комплекта Microsoft Office в 60% случаев запускаемой программой будет именно Word), а, во-вторых, писать программы, работающие в среде данного текстового редактора, несколько проще, чем дополнения для других компонентов Office. Научившись работать с VBA в Word, вам будет довольно просто перейти к программированию для остальных компонентов Office.
Не обязательно читать все главы книги подряд. После небольшого экскурса в историю программирования второй главы в третьей и четвертой главах будут описаны основные компоненты Microsoft Office, предназначенные для написания программ, рассказано о работе с ними, а также описан сам язык VBA, его синтаксис.

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

VBA и Office XP
VBA и Office XP - 2
VBA и Office XP - 3
VBA и Office XP - 4
VBA и Office XP - 5
VBA и Office XP - 6
VBA и Office XP - 7
VBA и Office XP - 8
VBA и Office XP - 9
VBA и Office XP - 10

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

Отличия новых версий Office
Отличия новых версий Office - 2
Отличия новых версий Office - 3
Отличия новых версий Office - 4
Отличия новых версий Office - 5
Отличия новых версий Office - 6
Отличия новых версий Office - 7
Отличия новых версий Office - 8
Отличия новых версий Office - 9
Отличия новых версий Office - 10

Turbo Basic 1.1. Руководство пользователя

Турбо-Бейсик представляет собой независимую среду программирования для персональных компьютеров IBM и совместимых с ними. Следуя по следам своего знаменитого родственника Турбо-Паскаля,Турбо-Бейсик сочетает в себе: редактор, быстрый компилятор типа память-память, библиотеку режима исполнительного времени и внутренний связник. Всего современном пользовательском интерфейсе применяются окна и последовательно детализированное меню. С целью достижения максимального быстродействия и эффективного использования памяти Турбо-Бейсик целиком написан на ассемблерном языке.
В число других отличительных характеристик входит следущие:
-поддержание арифметики с плавающей точкой(полная интеграция 8087 и полная программная эмуляция )
-среда профессиональной разработки
-новые операторы блочно-структурного программирования
-полная поддержка EGA.
Будучи языком как начинающего ,так и для опытного программиста, интегрированная конструкция Турбо-Бейсика дает возможность быстрого программного оборота без принесения в жертву мощных возможностей профессионального программирования. Он совместим с версией 3.00 Интепретатора передового БЕЙСИКА системы IBM (обычно именуемого BASKA) или GWBASIC микропрограммного обеспечения (с незначительными исключениями), а также имеется много расширений. (Далее мы будем ссылаться на передовой Бейсик или GWBASIC ,называя их вместе "Интерпретаторный Бейсик").

Интерпретаторы
Определяемые пользователем функции и процедуры дают возможность заявления локальных, статических и разделяемых переменных, а также допускают рекурсивность. Турбо-Бейсик поддерживает значительно расширенный строчный диапазон ( до 32 767 литер на строку ) и обеспечивает уничтожение данных задержек периодических строчных промежитков "подчистка". Имеется BINARY (двоичный) файловый режим для обработки фаилов низкого уровня и режим с числами типа данных целых для быстрой и гибкой числовой обработки.

Интерпретаторы
Интерпретаторы - 2
Интерпретаторы - 3
Интерпретаторы - 4
Интерпретаторы - 5
Интерпретаторы - 6
Интерпретаторы - 7
Интерпретаторы - 8
Интерпретаторы - 9
Интерпретаторы - 10

Функции Turbo Basic
Различия Различия между операторами CLEAR Интерпретаторного Бейсика и Турбо-Бейсика происходит,главным образом ,из различий между компиляторами и интерпретаторами.Интерпретаторный Бейсик дает вам возможность динамически устанавливать пространство стека и данных там ,где пространство стека и данных Турбо-Бейсика фиксируется во время компилирования

Функции Turbo Basic
Функции Turbo Basic - 2
Функции Turbo Basic - 3
Функции Turbo Basic - 4
Функции Turbo Basic - 5
Функции Turbo Basic - 6
Функции Turbo Basic - 7
Функции Turbo Basic - 8
Функции Turbo Basic - 9
Функции Turbo Basic - 10

Встроенные процедуры
При разработке некоторых прикладных систем может возник нуть задача, которая либо слишком долго решается в ТУРБО БЕЙСИКЕ, либо по каким-то причинам вообще не может быть реализована на нем. Для того, чтобы обеспечить потребность в большей скорости и гибкости, ТУРБО БЕЙСИК позволяет программе вызывать подпрограммы, написанные на ассемблере и обращаться к функциям DOS и BIOS.

Встроенные процедуры
Встроенные процедуры - 2
Встроенные процедуры - 3
Встроенные процедуры - 4
Встроенные процедуры - 5
Встроенные процедуры - 6
Встроенные процедуры - 7
Встроенные процедуры - 8
Встроенные процедуры - 9
Встроенные процедуры - 10

Язык WordBasic - практический подход

WordBasic – это встроенный язык для программирования макрокоманд в текстовом процессоре Word for Windows 6.0 (далее WinWord или просто Word). Несмотря на обилие возможностей этого текстового процессора, при выполнении конкретного вида работ у вас (у ваших знакомых, клиентов и т.п.) часто возникает необходимость в создании новых команд, сокращающих количество выполняемых при редактировании действий. WordBasic можно использовать для модификации любых имеющихся в Word команд и для создания новых. Написанную вами макрокоманду можно ввести в интерфейс Word как дополнительный пункт меню, значок (пиктограмму) панели инструментов или вызывать нажатием сочетания клавиш – таким образом она будет выглядеть как “родная” команда этого редактора. В отличие от обычных Бейсиков, в WordBasic очень много новых операторов, связанных со спецификой текстообработки, поэтому на первый взгляд он кажется громоздким и необозримым. К тому же русская версия этого пакета поставляется без описания языка, а имеющийся Help не переведен с английского. В популярном интегрированном пакете Microsoft Excel реализован язык Visual Basic. В СУБД Access используется сходный с WordBasic язык Access Basic.

Элементы языка
Элементы языка - 2
Элементы языка - 3
Элементы языка - 4
Элементы языка - 5
Элементы языка - 6
Занятие 2
Встроенные функции языка WordBasic
Встроенные функции языка WordBasic - 2
Взаимодействие с пользователем

Система программирования Турбо паскаль 7.0

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

Организация вычислений в Турбо Паскаль
Организация вычислений в Турбо Паскаль - 2
Главное меню
Команда File
Команда Edit
Команда Search
Команда Run
Команда Compile
Команда Debug
Команда Options

Программирование на языке Turbo Pascal

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

Свойства алгоритма
Свойства алгоритма - 2
Элементы блок-схемы
Работа в среде TURBO-PASCAL
Работа в среде TURBO-PASCAL - 2
Работа в среде TURBO-PASCAL - 3
Работа в среде TURBO-PASCAL - 4
Работа в среде TURBO-PASCAL - 5
Работа в среде TURBO-PASCAL - 6
Работа в среде TURBO-PASCAL - 7

Изучение принципов алгоритмического программирования на Pascal

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

Идентификаторы
Манипуляции переменными в языке Pascal
Манипуляции переменными в языке Pascal - 2
Манипуляции переменными в языке Pascal - 3
Стандартные типы данных
Стандартные типы данных - 2
Стандартные типы данных - 3
Общая структура программы на языке Pascal
Средства консольного ввода-вывода
Оператор последовательных действий

МТС пакета MetaStock - перейти
Экономика - перейти
Что такое финансы - перейти
Банки России - перейти
Статистика - перейти
Статистика - перейти
Биржевая статистика - перейти
Задачи статистики в пакете SPSS - перейти
Офисные задачи в Outlook 2002 - перейти
Введение - перейти
Основы Outlook - перейти
Outlook и Интернет - перейти
Дополнительные возможности Outlook - перейти
Программирование в Outlook - перейти
Заключение - перейти





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