Краткие описания основных функций и команд vb (для начинающих)


Содержание

4. Язык программирования Visual Basic

4.1 Команда Print

(англ. print : печатать)При помощи команды Print можно из какой-нибудь процедуры печатать тексты на форме. Текст должен при этом стоять в кавычках («). Пример:

[мои прим.: тексты в кавычках не мои и переведены почти дословно :-))))]

Print «Эй, перед монитором! Привет!»

Эй, перед монитором! Привет!

Команду Print можно применять также для решения:

Print «413 + 512 равно»

Выдаёт на форме:

413 + 512 равно
925

Всё, что стоит после команды Print в кавычках, при выполении компьютером, будут буква за буквой, цифра за цифрой и знак за знаком точно также «списаны». А всё, что стоит позади команды, не в кавачках, должно быть написано программным языком Basic — это будет «переведено» компьютером. Так, к примеру, 413 + 512 для компьютера значит » результат сложения 413 плюс 512 «. И этот результат должен быть при помощи команды Print напечатан. Поэтому там и стоит «925».

При помощи команды Print можно также печатать значения свойств или переменных (cм. ниже):

Пишет именно то, что стоит в его заголовке, т.к. Form1.Caption означает для компьютера » значение свойства надписи окна с именем Form1 «. Ну, а что будет напечатано командой
Print «Form1.Caption» ?

И ещё три заметки к этой команде:

1.Деление и умножение в Basic’e производится при помощи звёздочки (*) и слэша (/). Кроме того компьютер понимает нецелые числа, однако вместо запятой нужно применять точку, как в Англии и США.

Однако в результате, который будет выдан, число 7,5 будет написано с запятой! Только в самих Basic-кодах нужно применять точку.

2.Если нужно распечатать несколько вещей в одной строке, то их нужно перечислить всех после команды Print через точку с запятой (;):

Print «1 + 1 всё ещё равно «; 1 + 1;

Print «, а три умножить на нуль равно «; 3 * 0

1 + 1 всё ещё равно 2, а три умножить на три равно 0

3.Если нужно напечатать текст не с начала строки, можно использовать указание Tab(. ). Текст будет напечатан, как и стоит после Tab в скобках:

Print Tab(10) «Кое-что неопровержимо: мяч круглый!»

Print Tab(10) «Ха-ха!»; Tab(30) «Прфффффц!»

Получим на экране:

Кое-что неопровержимо: мяч круглый!
Ха-ха! Прфффффц!

Между «Ха-ха!» и левым краем 10 пробелов, а между «Прфффффц!» и левым краем (!) 30 пробелов. Внимание: символы на мониторе по-различному широкие, и W шире, чем i. Поэтому между позицией 10 и позицией 30 необязательно поместятся 20 букв!

4.2 Графические команды

При помощи графических команд можно создавать по-настоящему красивые рисунки в вашем приложении [мои прим.: у каждого свои вкусы и запросы — у кого брилианты слишком мелкие, а у кого суп слишком жидкий. ] . Чтобы «объяснить» в цифрах компьютеру что и куда он должен писать используют координаты . Обращение с координатами Вы будете учить в этом курсе.

Расстояния на мониторе, в Visual Basic измеряются не в сантиметрах, а с помощью специальной единицы измерения «твип». Один твип — это очень маленькое расстояние: взгляните на форму в режиме «design» — она вся изрисована серыми точками. Так вот от точки до точки помещается 120 твипов!

Итак, чтобы начертить линию на форме, нужно задать координаты её начала и конца. Пример:

Line (начальная точка)-(конечная точка)

Этой командой будет нарисована горизонтальная линия, т.к. начальная точка и конечная точка имеют одинаковое расстояние к верхнему краю окна (1500 твипов). Начало линии — 1000 твипов от левого края формы, а конец линии на 5000 твипов. Всего линия 4000 твипов длиной.

Если нужно, можно задавать ещё и цвет, в котором надо рисовать (чёрный цвет стоит по умолчанию). Для этого однако нужно знать, как Windows обращается с цветами: в компьютере имеется для каждого цвета, которые он «знает», просто одно число, т.к. числа, как известно, компьютер может обрабатывать особенно хорошо. Но для нас труднее понять, что светло-коричневый цвет соответсвует числу 8887245, поэтому в бэйсике имеется «компромисс»: GRB -функция. Этим компьютеру «объясняют», как должны смешиваться цвета. В телевизорах и компьютерных мониторах каждый цвет — это смесь из красного, зелёного и синего цвета. В каждом цвете разное содержание каждого из них. Однако это смешивание не действует, как в ящике с красками: если, например, смешать одинаково много синего, зелёного и красного, можно получить серый цвет.

Line (1000,1500)-(5000,3000), RGB(255,0,0)

Этим рисуется красная диагональная линия. Цвет описан с помощью RGB-функции, где отдельно задаётся каждый цвет (в пределах от 0 до 255). По этому принципу можно достигнуть любого цвета. Давайте я покажу, как это делается.

Важные цвета:

цвет R(ed) G(reen) B(lue) цвет R G B
черный жёлтый 255 255
белый 255 255 255 фиолетовый 255 255
красный 255 коричневый 205 155 135
зелёный 255 оранжевый 255 128
синий 255 серый 128 128 128

Итак, например, оранжевый цвет в бэйсике называется RGB(255,128,0).

Если нужно нарисовать прямоугольник , для этого хватит всего одной Line-команды, в которой вместо начальной и конечной точки нужно задать координаты левого верхнего и правого нижнего угла прямоугольника, и после цвета вписать ещё «, B» (В, потому что прямоугольник на английском называется box ):

чертит вместо линии прямоугольник из красных линий. Можно также «прицепить» за «B» букву «F». Тогда прямоугольник будет заполенен краской. Если Вы не хотите задавать цвет, обе запятые писать нужно всё-равно: при помощи команды

Будет начерчен чёрный, заполненый прямоугольник. Будьте внимательны и не пропускайте запятые между которыми мог бы стоять цвет!

Рисовать круги компьютер может, конечно же, тоже! Для этого имеется команда Circel . К этому нужно, конечно, добавить где и каким размером должен быть круг. Для этого описывают сначала координаты середины круга, и потом задают величину круга — его радиус в твипах. Кроме того можно устанавливать цвет круга.

компьютер рисует тёмно-зелёный круг с радиусом 2000 твипов и серединой с координатами (3000,4000).

Также можно рисовать отдельные точки , а именно при помощи команды PSet :

рисует оранжевую точку с координатами (1000,500). Цвет, как и во всех других командах, можно тоже убирать.

И, наконец, ещё одна важная команда: при помощи команды Cls можно всё, что было прежде нарисовано или написано командами PSet, Line, Print или Circle просто стереть. Если на форме находятся какие-нибудь объекты, они при этом стёрты не будут. Имя Cls происходит из ангийских слов clear screen : очистить экран.

4.3 Переменные и константы

Константы — это просто имена для цифр или набора символов. После написания программы, её будет намного проще читать, понимать, если, например, повсюду, где есть число pi (pi = 3,14159. ), действительно стоит Pi, а не каждый раз цифры 3.14159. Поэтому в начале процедуры пишут:

const PI = 3.14159

и если где-нибудь позже будет написано:

компьютер заменит Pi нужным числом и выдаст

на форме. Между VB-программистами принято константы писать всегда только большими буквами, чтобы их можно было отличить от переменных.

Переменные намного важнее констант, возможно даже важнейшая часть программирования. Переменные и константы вообще-то почти одно и тоже, кроме одного различия: значение переменной — числа или символы — в ходе программы могут быть изменены. Если к примеру в программе-игре имеется переменная Punktzahl , содержащая определённое кол-во пунктов, где-нибудь можно написать:

и для всех команд, которые появятся после этого, переменная Punktzahl будет всегда равна числу 1000 — пока возможно не появится комманда «Punktzahl = 1001». Punktzahl называют именем переменной, и 1000 в этом примере является её значением . Команду «Punktzahl = 1000» называют присвоением : переменной Punktzahl будет присвоено значение 1000.

Переменные могут содержать не только числа и символы, но и даты, время и т.д. Если UserName, BirthDay и EndOfTime переменные, тогда можно написать:

(здесь очень важны кавычки, т.к. иначе компьютер подумает, что John тоже является переменной!)

(как символы выделяют кавычками, так дату или время выделяют символoм «#»). Дату и время можно поместить в одну переменную:

DateAndTime = #13.2.1994 11:30#

И если после этого в программе появится команда

Print UserName; » должен «; DateAndTime;

Print » к зубному врачу!»

компьютер напишет на форме:

John должен 13.02.1994 11:30:00 к зубному врачу!

Важно: Если в программе нужно применять переменную, её нужно прежде объявить (для этого используется слово продекларировать ), а именно в отведённом для этого месте кода. Найти это место можно в окне Code, кликнув вверху слева, где стоят объекты, и в появившемся меню выбрать «(General)». В обоих верхних полях высвятятся надписи «(General)» и «(Declarations)». На этом месте должна была бы стоять строка «Option Explicit». Здесь нужно описать все переменные, которые будут использоваться в программе, а именно с ключевым словом Dim . Например, если нужна переменная Punktzahl, то нужно вписать следующее:

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

И ещё кое-что об именах переменных: имена перменных в Visual Basic могут состоять только из 40 букв, цифр и символа «_» (на клавиатуре находится под тирe «-«). Однако начало имени должно быть буквой! Кроме того нельзя применять слова зарезервированые бэйсиком, как имена переменнных, т.к. иначе компьютер всё перепутает. Если это случится просто из-за невнимательности и Вы применили зарезервированное слово, это легко можно будет определить, т.к. слово станет синим, как только курсор переместится на другую строку. Тогда нужно выдумать какое-нибудь другое имя перменной.

Примеры для возможных имён перменных:

Appel; Level42; PunktZahl;

Примеры для не возможных имён перменных:

4gewinnt (начинается числом)

Name (ключевое слово бэйсика)

Hui Buh (состоит из двух слов)

(длиной больше сорока символов)

Stan&Ollie (содержит недопустимый символ)

4.4 Свойства объектов

Свойства объектов имеют много общего с переменными: так, например, они тоже имеют имя (к примеру Form.Caption) и значение (к примеру «Моя первая программа V2.0b»). Большинству из них можно также присваивать значения в ходе программы:

Form.Caption = «Теперь здесь стоит что-то другое. «

впечатляет, когда вдруг в заголовке окна вдруг появляется что-нибудь другое! Кроме того, можно кругом, где только могут стоять имена переменных, подставлять их имена:

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

4.5 Команды со значением (функции)

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

PSet (500,1000), 8887245

чтобы нарисовать свело-коричневую точку, можно просто написать:

PSet (500,1000), RGB(205,155,135)

что означает тоже самое! RGB-функция переводит части красного, зелёного и синего цветов в длиный номер цвета.

не выдаст ничего другого как число 8887245 в окне.

И тут же другой пример функции:

компьютер напишет цифру 5 , номер дня недели той даты, которая стоит в скобках (причём: 1-воскресенье, 2-понедельник, 3-вторник и т.д.). Короче дата будет переведена в номер дня недели. (англ. weekday : день недели)

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

4.6 MsgBox, InputBox

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

С помощью команды MsgBox (англ. message box : ящик сообщения) получают окно, в котором просто стоит текст, и в котором можно видеть некоторые иконки. Пользователь должен ответить, чтобы продолжить дальше. Простейшая программа, если нужен только текст и ОК-кнопка:

MsgBox «Не надо паники!»

появится маленькое окошко с текстом «Не надо паники!». Окошко с заголовком можно получить при помощи команды:

MsgBox «Не надо паники!», 0,»Клёво. «

Почему между запятыми стоит нуль сейчас будет разъяснено, но сначала вот что: позади второй запятой можно определять надпись для заголовка диалогового окна, в этом примере — «Клёво. «. Если эта часть будет пропущена, в этом заголовке будет просто имя проекта.

А теперь этот «мистический» нуль: эта часть кода определяет для компьютера, какая иконка и сколько кнопок должно быть показано в диалоговом окне. Часть этого кода я хочу здесь раскрыть:

0 показать только «OK» (это будет сделано также тогда, когда там не будет ничего вообще).

1 показать «OK» и «Отмена».

2 показать «Отмена», «Повторить» и «Игнорировать».

3 показать «Да», «Нет» и «Отмена».

4 показать «Дa» и «Нет».

5 показать «Повторить» и «Отмена».

MsgBox «. пока смерть не разлучит вас?», 3

поставит пользователя перед выбором между «Да», «Нет» и «Отмена». Однако такие команды в программах не встречаются, т.к. программа так никогда может и не узнать решение пользователя! Поэтому для таких случаев имеется практичный вариант команды MsgBox : команда MsgBox как функция! Можно к примеру объявить переменную «Reshenie» и потом написать:

Reshenie = (MsgBox «. пока смерть не разлучит вас?», 3)

Если эта строка будет выполнена, на экране появится диалоговое окно с тремя кнопками, и в зависимости от того какую кнопку нажмёт пользователь, переменная Reshenie получит соответсвующее значение:

Значение Нажатая кнопка

Программа может тогда при помощи команды If (см. ниже) продолжать в зависимости от значения переменной.

Но только как функция имеется очень похожая команда InputBox (англ. input : ввод). Которую применяют, если от пользователя требуется больше чем просто решение — например, его имя или возвраст. Пример:

FirstName = InputBox(«Введите ваше имя!»)

Выдаст диалоговое окно с текстом, двумя кнопками (ОК и Отмена) и полем для ввода (некрасивое, но практичное). То, что введёт пользователь будет стоять в переменной FirstName. Если будет нажата кнопка «Отмена», тогда перменная FirstName окажется пустой. Как и у команды MsgBox имеется возможность задать заголовок окна. Также имеется возможность вписать текст в текстовое поле, так сказать, предложить пользователю один из вариантов.

Otpusk = InputBox(«Ваше времяпровождение?»,»Что я люблю»,»Компьютер»)

выдаст под заголовком «Что я люблю» вопрос «Ваше времяпровождение?» и в поле ввода уже будет стоять ответ «Компьютер». [мои прим.: Вы должны будете либо согласится с предлогаемым вариантом и подтвердить или ввести свой и подтвердить] . Попробуйте!

4.7 Математические операторы

Решать компьютер, конечно же, может! Повсюду в Basic-программе, где стоят цифры, может вместо них стоять также сложные математические выражения, из которых полается одно число. Компюьер знает также правила деления на нуль, скобки и т.д. Кроме того, повсюду, где находятся цифры могут находиться переменные, константы, функции или также свойства объектов, вместо которых компьютер подставит потом числа.

Математические операторы в Visual Basic (в порядке, в котором они будут решаться):

^ возвести в степень

Sqr(число) вычесть корень (англ. square root )

Fix(число) обрезает все числа после запятой, округление

Fix(3.5) — это 3, Fix(-3.5)- это -3.

Символы, конечно же, нельзя приминять в таких случаях, но их можно объединять символом &:

Two = One & » — это сумасшествие!»

выдаст на форме: Компьютер — это сумасшествие!

4.8 Выбор: If. Then

Очень часто бывает, что компьютер в зависимости от значения переменной должен выполнять различные вещи. Например, в переменной может стоять какую кнопку нажал пользователь в диалоговом окне (см. MsgBox). Для таких случаев имеются команды If. Then. Else. End If (англ. if : если, then : тогда, else : иначе). Легче всего понять со следующим примером:

Otwet = MsgBox(«Как дела?» ,4)

If Otwet = 6 Then ‘ выбрано «да»

MsgBox «Это чудесно!»

Else ‘ иначе, т.е. выбрано «нет»

MsgBox «Ну тогда удачи!»

В зависимости от того, правильно или ложно решение «Otwet = 6» (пользователь выбрал «да»), будут выполнены различные команды. Те команды, которые находятся между Then и Else будут выполнены если условие истинно, а команды между Else и End If , если условие ложно. Но в любом случае после End If исполнение команд будет продолжено. Часть Else можно вообще-то не вставлять, если оно не нужно. Кроме того существует ещё и короткая форма: если должна быть выполнена только одна команда и если условие истинно, можно также писать в этом роде:

If GamerLife = 1 Then Print «У Вас осталась только одна жизнь!»

В этом случае не нужны слова End If.

Конечно же, существуют также сложные условия:

If a / 7 = Fix(a / 7) Then

Print a; » можно поделить на семь без остатка!»

В Бэйсике существуют следующие возможности, для того что сравнить два выражения:

> больше >= больше либо равно

= равно <> не равно

Эти сравнения можно также использовать при сравнении символов. Причём «меньшее» выраженее не то, которое короче, а то которое в алфавите стоит ближе к началу. И «Apfelkern» меньше, чем «Birne»!

Также имеются логические операторы And(и), Or(или) и Not(не). При помощи них можно связывать различные условия и противопоставлять:

Old >= 10 And Old

Old 18 истинно тогда, и только тогда, когда значение Old не находится в промежутке от 10 до 18

Со сложными условиями с And, Or и Not можно иногда легко запутаться!

4.9 Комментарии строк ( ‘ или Rem )

Иногда программы, которые мы пишем становятся очень сложными. Усложнёными настолько, что если просмотреть коды спустя пару недель и они будут возможно уже изменены, то станет почти невозможным понять, что там имеется ввиду и как это работает. Но это нормально! И поэтому ко всему, что Вы делаете в сложной программе, надо делать пометки. Чтобы вводить такие заметки в программу, существует возможность комментирования строк: всё, что стоит позади символа «‘» будет распознано компьютером при запуске программы, как строки, которые не нужно брать во внимание. Пример:

Line (0,0)-(2000,2000) ‘линия сверху слева в

‘право вниз в окне

Вместо ‘ можно также применять слово Rem (англ. remark = заметка), но уже для полной строки, не разбитой на две части, иначе можно запутаться:

Rem линия сверху слева в право вниз в окне

Считается хорошим тоном повсюду вставлять комментарии в свою программу, чтобы потом её лучше понимать самому и другим программистам.

4.10 Команда End

Закончить программу можно, нажав на кнопку «End» в панели VB. Однако иногда нужно прекратить программу командой, например, если игра подошла к концу и возникла критическая ошибка. Для этого существует команда End, которой тотчас же прекращает программу. Visual Basic возвращается тогда сразу в режим design.

4.11 Цикл Do. Loop

Под словом «цикл» (на английском loop ) программисты подразумевают часть программы, которая будет исполнена несколько раз подряд. Вы познакомитесь ещё со многими примерами из этого курса, т.к. циклы нужны очень часто. Здесь же я только объясню, как правильно применять цикл Do. Loop:

Этот цикл существует для того, чтобы выполнять ряд команд, так называемые тела циклов , так долго, пока не будет испонено какое-нибудь определённое условие — условие прерывания . Или до тех пор, пока пока какое-нибудь определённое условие будет не исполнено. Два следующие примера делают одно и тоже : они вызывают диалоговое окно на экран до тех пор, пока пользователь не нажмёт «Да». А потом они выдают шутку:

YesNo = MsgBox(«Хотите шутку?»,4)

‘ диалоговое окно с выбором между «Да» и «Нет»

Loop Until YesNo = 6 ‘ 6 соотвествует ответу «Да»

MsgBox «Печь можно и без муки!» ‘ сама шутка . -[мои прим. Ах, как смешно! :)]

‘ (c) Helge Schneider

(англ. until : до тех пор, во время) другая версия:

YesNo = MsgBox(«Хотите шутку?»,4)

Loop While YesNi <> 6

MsgBox «Печь можно и без муки!»

(англ. while: пока не. ). Условие «YesNo = 6» или «YesNo <> 6″ будет перепроверяно каждый раз после выполнения, и в зависимости от того, верно или ложно ли условие, будет выполнен цикл ещё раз или прекращён и далее будут исполнены команды, следующие за ним.

Если условие должно быть перепроверяно уже перед первой «петлёй» цикла, можно поставить While или Until в начале цикла:

Do Until Aepfel > 6

(. ) ‘ здесь находится тело цикла

Do While Aepfel

(. ) ‘ здесь находится тело цикла

Настоятельно рекомендую как вверху отделять тело цикла сверху и снизу пустыми строками.

Также можно покидать цикл в середине тела, а именно при помощи команды Exit Do. Тогда сразу будет исполнена следующая команда после цикла. В основном Exit Do применяют вместе с If. Then. Также, если цикл может быть покинут только при помощи Exit Do, проверку условия Until или While можно и не испоьзовать:

If Aepfel > 6 Then Exit Do

Программист всегда должен быть внимателен, чтобы цикл в любом случае когда-нибудь мог закончиться! Так называемые бесконечные циклы относятся к частым ошибкам программистов. Часто в этом случае может помочь только прерывание программы при помощи клавиш Ctrl + Break .

4.12 Оператор GoTo

(англ. go to : иди к/на [мои прим.: :-))] ) При помощи GoTo можно приказать программе, продолжать в каком-нибудь другом месте программы, вместо того, чтобы исполнять следующие команды. Т.е. GoTo заставляет перепрыгнуть программу от одних операторов к другим. Но прежде перед тем местом, куда должны «прыгнуть» программа, нужно установить метку — это всего лишь слово с двоеточием позади. Этоже слово, но без двоеточия, ставится потом позади команды GoTo. Этим определяют куда программа должна перепрыгнуть. Метка должна стоять в той же процедуре, что и сама команда GoTo и оно не должно быть зарезервированным словом VB, переменной или константой! Кроме того метка должна всегда стоять перед нужным оператором.

Metka: ‘ это метка на которую нужно прыгнуть

GoTo Metka ‘ сейчас программа перепрыгнет наверх

‘ то, что здесь стоит никогда не будет выполнено!

Если используется много GoTo-команд, программа станет нечитаемой («спагетти-код»). Поэтому эту команду надо избегать. Учёные специализируюшиеся на компьютерах доказали, что все программы можно писать без GoTo, и применять вместо этого If. Then. Else и Do. Loop.

4.13 Генератор случайных чисел (Randomize, RND)

( англ. random: случайно) Иногда в программе нужно где-нибудь применить случайное число. Для этого в Бэйсике существует функция RND : она возвращаетчисло между 0 (включительно) и 1 (исключительно), но какое именно — чистая случайность!

Чтобы получить случайное значение между 0 и каким-нибудь другим числом, например, между 0 и 256, случайное число можно просто умножить на это число: RND * 256 выдаст случайное число между 0(включительно) и 256(исключительно). Командой

PSet (RND*1000,RND*1000), RGB(RND*256,RND*256,RND*256)

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

Осторожно: Каждый раз старте программы случайные числа будут всё время онинаковыми! Компьютер берёт случайные числа из, так сказать, одинаково рассортированых карт. Чтобы этого избежать в начале программы нужно просто «перетусовать карты». И для этого имеется команда Randomize . Если в программе Вам нужно использовать случайные числа, эту команду лучше всего вызывать из события Form_Load.

Учебное пособие «Основы программирования в VB»

Приводятся основные сведения по алфавиту языка, синтаксису и семантике операторов. Рассматриваются элементы объектно-ориентированного программирования. Излагаются основы правил построения процедур.

Скачать:

Вложение Размер
uchebnik_po_vb.doc 57.5 КБ

Предварительный просмотр:

Основы Visual Basic

1.Из чего состоит VB-программа?
1.Как работают Windows-программы.
2. . и как их программируют
2.Обращение с системой Visual Basic
1.Запуск, прерывание и окончание программ
2.Сохранение и загрузка проектов
3.Стандартное окно — Form
4.Окно свойств
5.Набор инструментов (ToolBox)
6.Окно Code
7.Окно Debug
8.Окно палитры
9.Окно проекта
3.Процедуры события
1.Процедуры — рецепты для компьютера
2.Событие Form_Load
3.Событие Click
4.Событие DblClick
4.Язык программирования Visual Basic
1.Команда Print
2.Графические команды
3.Переменные и константы
4.Свойства объектов
5.Команды со значениями (функции)
6.MsgBox, InputBox
7.Математические операторы
8.Выбор: If. Then
9.Комментарии строк (‘ или Rem)
10.Команда End
11.Цикл Do. Loop
12.Оператор GoTo
13.Генератор случайных чисел (Randomize, RND)
5.Важные свойства объектов
1.Свойство Name
2.Свойство Caption
3.Свойство Visible
4.Свойство Enabled
5.Свойство BackColor
6.Свойство ForeColor
7.Свойствa Left, Top
8.Свойствa Width, Height
6.Элементы управления и их свойства
1.Кнопки (Button)
2.Таймер
3.Линии и фигуры
4.Текстовое поле и поле надписи
5.Графическое поле

1. Из чего состоит VB-программа?

1.1. Как работают Windows-программы.

Если под Windows’ом запускается программа, на экране открывается её окно . Окна разных программ, конечно же, тоже различны, например различны по размеру, имеют различные формы, и на них видны различные вещи. Особенности, которые касаются самих окон, такие как размер, цвет, заголовки и т.д. называют свойствами окна. А вещи, которые видны на окне, в основном тексты, картинки, иконки, называют объектами или элементами управления . Каждый из этих объектов тоже имеет такие же свойства, как длина, ширина, цвет и т.д.

Если программа была запущена, и её окно было открыто, программа спокойно ждёт, пока что-нибудь не произойдёт, что, к примеру, будут нажаты кнопки, активировано меню и т.д. Когда это происходит, это называют событием . Для каждого события, которое только интересует нашу программу, программисты (мы!) написали в языках программирования, как Basic, отдельные «кусочки» кодов, которые будут вызваны каждый раз, если событие «происходит»( событие процедуры ). Со словом «процедура» у Вас ассоциировались, может быть, проверка самолёта пилотами перед стартом или ежегодные кофепития с заключительной игрой в минигольф на Дне Рождения у Дяди Альфонса. Короче, прецедуры — это процессы, которые, как один вид поваренного рецепта, всегда одинаковы. И примерно так это в программировании: процедуры это шаг-за-шагом исполняемые указания для глупого компьютера, который не может ничего другого, как слепо следовать простым командам — это, однако, очень быстро.

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

1.2 . и как их программируют

Visual Basic-программа, так называемый проект, состоит из минимум одного окна (с определёнными свойствами), объектами и из многочисленных процедур событий для различных функций программы. С помощью Visual Basic делают программы примерно так: в них сначала создают окно с различными объектами и потом для каждого из них пишут процедуры, вдыхающие жизнь в серое окно. Это и есть собственно «программирование».

2. Обращение с системой Visual Basic

2.1. Запуск, прерывание и окончание программ

Чтобы запустить, прервать или окончить работу со своей программой, можно использовать либо меню «Run» либо три иконки наверху окна VB, которые выглядят, как кнопки магнитофона. Программу можно также в любой момент остановить, нажав одновременно комбинацию кнопок Ctrl + Break. Это же произойдёт при нажатиии на иконку «Break», но это работает только тогда, пока программа только ждёт события. В обоих случаях можно продолжить с помощью иконки «Start». Однако если программа прервана таким образом, её можно изменять только в некоторых границах, а именно: можно изменять процедуры — написанные в VB коды, но не переключаться на различные объекты или изменять свойства: для этого нужно остановить программу с помощью третьей иконки «Stop». Узнать запущена ли или прервана ли или остановлена ли программа можно узнать, посмотрев на самый верх экрана — заголовок VB. После «Visual Basic» стоит там в угловатых скобках либо «run», если программа запущена, либо «break»,если программа прервана или «design», если программа остановлена. Только если в заголовке стоит «design» можно изменять объекты и их свойства.

2.2. Сохранение и загрузка проектов

Чтобы уберечь свой с трудом созданный объект перед грустной смертью с выключением компьютера, нужно его прежде сохранить на жёстком диске или дискете. Сохранит проект можно, выбрав пункт «Save Project» в меню «File». Если вместо этого выбрать «Save Project As. » то можно сохранить проект под другим именем. Нужно знать, что Visual Basic сохраняет свой проект не в один единственный файл, а в минимум два: файл для окна, имя которого оканчивается на .frm и файл проекта, имя которого оканчивается на .vbp. Для каждого можно/нужно выдумать имя, которое должно состоять минимум из восьми букв. Внимание: если вместо «Save Project» Вы выберите «Save Form1», то сохранён будет только .frm-файл, и тогда программу иногда уже не удастся загрузить. В общем, используйте только «Save Project», кроме тех случаев, когда Вы точно знаете, что Вы делаете!

Если нужно загрузить проект в следующий раз, нужно выбрать пункт меню «Open Project. «, найти в появившемся окне имя нужного проекта и выбрать его. При последующем нажатии на ОК, проект будет загружен.

2.3. Стандартное окно — Form

Окно Form является началом вашей программы. Его можно двигать по экрану, увеличивать, уменьшать, менять его свойства в окне свойств, упорядочивать на нём объекты и в окне Code писать для него процедуры. Само окно тоже считается как объект, так сказать, «высший объект». Один из объектов всегда является » актуальным объектом «, чьи свойства будут перечислены в окне свойств. Объект становится актуальным, когда на него кликнут. Узнают это чаще всего по обрамлению или по какой-нибудь другой маркировке.

2.4. Окно свойств

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

2.5. Набор инструментов (ToolBox)

Здесь можно выбрать объекты, которые нужно поместить на форме. Например, чтобы нарисовать линию, кликните на символ линии. Теперь кликните на то место на форме, где должна начинаться линия и тяните мышь с нажатой кнопкой туда, где эта линия должна кончаться. Отпустите кнопку мышки. Готово! Отдельные объекты будут описаны позже.

В окне Code пишутся процедуры события и другие Basic-конструкции. Окно Code называется так потому, что тексты, написанные там называются на языке программирования именно «коды» . Окно Code открывается тогда, когда производится двойной клик на объект, для которого должна быть написана процедура. Или если кликнуть в окне проекта на иконку «View Code». Сверху слева в окне Code стоит имя объекта, а справа его событие, для которого пишется его процедура. Т.е. сразу видно, когда команды, написанные здесь, будут выполнены. С помощью мышки можно выделять текст , над которым нужно провести с нажатой левой кнопкой. Когда курсор будет убран из строки, Visual Basic сразу же проверяет, правильна и полна ли структура строки. Если нет, тут же появляется сообщение об ошибке.

Важнейшие комбинации клавиш в окне Code.

Ctrl+C Копировавние выделенного текста в буфер.

Ctrl+X Вырезание выделенного текста в буфер.

Del Удаление выделенного текста.

Ctrl+V Вставка выделенного текста из буфера.

Ctrl+Z Отмена последнего действия.

Ctrl+Y Вырезание строки, на которой стоит курсор, в буфер.

F5 Запустить проект.

Окно Debag, собственно, служит помощью в поиске и отлавливании ошибок в программных кодах ( bugs — в компьютерном слэнге). Однако его также хорошо применять для проверки отдельных маленьких Basic-команд. Это окно появляется каждый раз при запуске вашего приложения снизу справа. Если программа прервана, это окно появится поверх всех окон и в нём появится курсор. Прямо здесь можно вводить строки и клавишей ENTER давать команду на исполнение этих строк, которые будут сейчас же выполнены. Команда Print (см. ниже) пишет в этом случае не в окно, а прямо под командной строкой в окне Debug, что тоже очень практично.

2.8. Окно палитры

Если нужно изменить цвет какого-нибудь объекта, нужно сделать двойной клик по соответствующему свойству «цвет» в окне свойств. Должна появиться палитра цветов со стандартными цветами, из которых нужно выбрать один. Если Вам не нравятся предложенные там цвета и Вам нужен зелёный или красный, Вы можете кликнуть на вкладку ‘Palette’ и довольствоваться тем, что там есть.

2.9. Окно проекта

Это окно нужно только тогда, когда пишутся сложные программы, которые, к примеру, состоят из многочисленных окон. Тогда с помощью этого окна можно переключаться между отдельными окнами. Мы это окно применять пока не будем. Если Вам вдруг не видно вашу форму кликните в окне проекта на кнопку «View Object» — окно появится вновь.

3. Процедуры события

3.1. Процедуры — рецепты для компьютера

В Basic’e процедуры начинаются с команды Sub , потом идёт имя процедуры и () . Оканчиваются процедуры командой End Sub (англ. subroutine: подпрограмма). Между этим стоят команды, принадлежащие этой процедуре. Они будут, при вызове процедуры, следовать одна за другой.

В большинстве своём процедуры — это процедуры события: для каждого события, на которое должна реагировать программа, нужно писать процедуру. Причём Sub, имя процедуры, () и End Sub будут заданы самим Basic’ом.

3.2. Событие Form_Load

Событие Click происходит в том случае, если на объекте кликнуть левой кнопкой мыши. Если, к примеру, пользователь щёлкнет на одном из элементов управления, событие Click этого объекта будет тут же исполнено. Можно кликнуть по форме — для этого имеется событие Form_Click , которое может содержать различные процедуры.

3.4. Событие DblClick

Это событие происходит при двойном клике мышкой на каком-либо объекте. Внимание: ещё при первом нажатии произойдёт событие Click, но при мгновенном втором уже нет.

4. Язык программирования Visual Basic

4.1. Команда Print

(англ. print : печатать). При помощи команды Print можно из какой-нибудь процедуры печатать тексты на форме. Текст должен при этом стоять в кавычках («). Пример:

Print «Эй, перед монитором! Привет!»

Эй, перед монитором! Привет!

Команду Print можно применять также для решения:

Print «413 + 512 равно»

Выдаёт на форме:

413 + 512 равно
925

Всё, что стоит после команды Print в кавычках, при выполнении компьютером, будут буква за буквой, цифра за цифрой и знак за знаком точно также «списаны». А всё, что стоит позади команды, не в кавычках, должно быть написано программным языком Basic — это будет «переведено» компьютером. Так, к примеру, 413 + 512 для компьютера значит » результат сложения 413 плюс 512 «. И этот результат должен быть при помощи команды Print напечатан. Поэтому там и стоит «925».

При помощи команды Print можно также печатать значения свойств или переменных (cм. ниже):

Пишет именно то, что стоит в его заголовке, т.к. Form1.Caption означает для компьютера » значение свойства надписи окна с именем Form1 «. Ну, а что будет напечатано командой Print «Form1.Caption» ?

И ещё три заметки к этой команде:

1.Деление и умножение в Basic’e производится при помощи звёздочки (*) и слэша (/). Кроме того компьютер понимает нецелые числа, однако вместо запятой нужно применять точку, как в Англии и США.

Однако в результате, который будет выдан, число 7,5 будет написано с запятой! Только в самих Basic-кодах нужно применять точку.

2.Если нужно распечатать несколько вещей в одной строке, то их нужно перечислить всех после команды Print через точку с запятой (;):

Print «1 + 1 всё ещё равно «; 1 + 1;

Print «, а три умножить на нуль равно «; 3 * 0

1 + 1 всё ещё равно 2, а три умножить на три равно 0

sitesa >

Создание сайта

Работа с Visual Basic с примерами

Справочные данные Visual Basic 6.0
Поэтапное создания программ
Элементы программирования
Основы программирования

Программу написанную на Visual Basic можно вставить в HTML страницу только в виде ссылки на файл этой программы с расширением EXE.Пример ссылки вы можете посмотреть на вкладке «Примеры создания приложений».Прямое внедрение непосредственно в VEB сайт не получится.Для вставки предназначена разновидность языка Visual Basic — VBScript или ещё лучше JavaScript.

Для того чтобы запустить программу VB6, необходимо выполнить следующую последовательность действий:

  1. 1. Нажать кнопку Пуск на панели задач Windows.
  2. 2. Выбрать пункт Программы
  3. 3. Выбрать из списка программ раздел Microsoft Visual Studio 6.0
  4. 4. Выбрать команду Microsoft Visual Basic 6.0

После выполнения этих действий на экране откроется окно среды разработки VB6 IDE. Внешний вид IDE VB6 показан на рисунке ниже.

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

Основными элементами IDE являются:
Меню. В состав этого элемента входят все команды, которые используются при создании приложений в среде разработки VB6. Среди пунктов меню есть как стандартные, присущие большинству окон Windows (File,Edit,View,Windows, Неlр), так и пункты, при помощи которых разработчик может создавать, запускать или отлаживать свое приложение

ТооlBох (Панель элементов управления).

Основной рабочий инструмент при визуальной разработке форм приложения. Панель элементов управления вызывается из меню View (Вид) командой Toolbox (Панель элементов управления). Для вызова этой панели можно воспользоваться также кнопкой Toolbox на стандартной панели инструментов.

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

Элементы управления ТооlBох

Элемент
Название Назначение
(Рисунок) Вывод графических элементов в форме
(Метка) Отображение надписей в форме
(Текст) Ввод текста
(Рамка) Объединение в группу различных элементов управления (такие объекты называются контейнерами)
(Управляющая кнопка) Выполнение приложением определенных действий, вызванных нажатием на управляющую кнопку
(Флажок) Установка/отключение настроек
(Переключатель) Выбор пользователем одного из нескольких возможных пунктов (их должно быть не менее двух)
(Комбинированный список) Выбор элемента из раскрывающегося списка
(Список элементов) Выбор пользователем какого-либо элемента из тех,которые имеются в списке
(Горизонтальная полоса прокрутки) Пролистывание в горизонтальном направлении имеющегося в другом элементе управления списка
(Вертикальная полоса прокрутки) Пролистывание в вертикальном направлении имеющегося в другом элементе управления списка
(Таймер) Выполнение приложением действий в реальном времени
(Список дисков) Выбор пользователем какого-либо диска
(Список каталогов) Выбор пользователем каталога на диске
(Список файлов) Выбор пользователем файла из каталога
(Фигура) Отображение геометрических фигур в форме
(Линия) Изображение графических линий
(Изображение) Выведение графических элементов в форме (не может использоваться в качестве контейнера)
(Данные) Соединение с существующей базой данных
(OLE) Добавление в приложение функций других программных средств

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

ToolBar (Панели инструментов).

Эти элементы представляют собой различные группы кнопок с изображенными на них иконками. При помощи данных кнопок можно выполнять те или иные операции, предусмотренные в среде разработки, не используя при этом меню; то есть выполнять одно действие — нажатие соответствующей кнопки — вместо нескольких, в случае выполнения этой же операции при помощи меню.Панели инструментов расположены в верхней части IDE VB6, под элементом Меню.

В IDE существует четыре основные панели инструментов:

  • Debug (Отладка)
  • Edit(Правка)
  • Form Editor(Редактор форм)
  • Standart (Стандартная)

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

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

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

Панель Edit(см. рис. 2.15) предназначена для работы с текстом программы (пункт меню Edit.) Эта панель реализует возможности простейшего текстового редактора: копирование и вырезание текста в буфер обмена, вставка из буфера, поиск или замена слов и фраз в тексте программы и т.д.

Панель Form Editor(см. рис. 2.16) предназначена для перемещения элементов управления в форме, изменения их размеров, выравнивания относительно границ формы (пункт меню Format).

В случае выравнивания элементов формы относительно эталона (пункт Align Lef) при выполнении одной из возможных команд изображение кнопки выравнивания на панели Form Editor изменяется в соответствии с выбранным пунктом. Возможны следующие команды:

LEFT— выравнивание всех выделенных объектов относительно левого края эталонного объекта;
CENTER — выравнивание по центру эталона относительно вер-тикальной оси:
RIGHT— выравнивание относительно правого края эталона;
Top— выравнивание по верхней границе эталонного объекта:
MIDDLE — выравнивание по центру эталона относительно горизонтальной оси:
BOTTOMS— выравнивание относительно нижнего края эталонного объекта.

Расположение элементов формы относительно ее центра: (пункт CENTER Horizontally) которое задается при помощи одной из возможных команд приводит к изменению изображения соответствующей кнопки на панели Form Editor аналогично предыдущему пункту. При этом возможны следующие команды:
Horizontally — выравнивание относительно вертикальной оси,
Vertically — выравнивание относительно горизонтальной оси,

Выравнивание выделенных объектов относительно центра формы
Аналогично предыдущим рассмотренным возможностям преобразованием размера выбранных элементов формы (пункт Make With Same Size) также приводит к изменению соответствующей кнопки в панели Form Editor:
Width-приведение ширины выделенных объектов к эталонной
Height-преобразование высоты выделенных объектов к высоте эталона.
Both — приведение ширины и высоты объектов на форме к эталонным размерам.

Панель Standart или стандартная панель инструментов является основной в среде разработки.С ее помощью можно выполнить широкий спектр действий, которые реализованы в пунктах меню File (Файл), Project(Проект), Debug (Отладка) и Run (Запуск), Стандартная панель обычно расположена под строкой меню.

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

Графический режим используется з том случае, когда осуществляется редактирование формы. Первая пара чисел представляет собой горизонтальную и вертикальную координаты для левого верхнего угла выбранного объекта относительно левой верхней точки формы, а вторая пара чисел отображает его длину и ширину. По умолчанию в качестве координат в Visual Basic используются так называемые твипы (567 твипов = 1 сантиметр).

Текстовый режим активизируется при редактировании в окне кода. Приведенные числа показывают, в какой строке и на какой позиции (относительно начала строки) располагается в данный момент курсор.

Form Designer (Дизайнер форм).

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

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

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

Code (Окно редактирования кода.) Предназначено для создания или редактирования кода программы. Если на экране осуществляется работа с несколькими окнами дизайнера форм, то имеется возможность открыть для каждого из них свое окно кода.Это можно реализовать при помощи двойного щелчка на объекте (форме или элементе управления), для которого предполагается изменить или создать программный код.Данное действие также осуществляется путем выбора в пункте меню View команды Code.

Project Explorer (Окно проводника проектов). Используется в случае необходимости работы с несколькими проектами одновременно. Содержимое этого окна отображает иерархические структуры, в которых вершинами всех иерархий являются открытые в данный момент проекты, а исходящие от них ветви — являются составными частями проектов (например, формы).

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

Form Layout (Окно размещения форм). Дает возможность расположить формы открытого проекта в тех областях экрана, в которых они должны находиться при выполнении приложения.Чтобы задать для формы какую-либо область, необходимо в окне размещения форм при помощи мыши переместить ее изображение в заданное место.

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

АЛГОРИТМИЧЕСКИЙ ЯЗЫК БЕЙСИК

Язык Basic – язык. программирования, ориентированный на обучение основам программирования.

Программа на Basic – последовательность пронумерованных операторов и комментариев.

Структура программы:

Основные правила записи алгоритма на языке Basic:

1. В программе на языке Бейсик операторы (предписания, действия) записываются построчно. В одной строке может быть один или несколько операторов. Операторы в одной строке отделяются двоеточием.

2. Строки должны быть пронумерованы. Желательно задавать номера строк с пропусками для того, чтобы при необходимости, можно было до­бавить новые строчки. Максимальный номер строки зависит от версии ин­терпретатора и не превышает 32767.

3. Программу не обязательно набирать в порядке возрастания номеров строк, их упорядочение произведет интерпретатор,

4. Алфавит Бейсика:

— 26 латинских букв.

— цифры от 0 до 9.

— точка (для отделения целого от дробного в написании чисел).

— запятая — является разделителем.

— кавычки используются в диалоге.

— знаки арифметических операций ( +, -, /, *, А ).

— знаки отношений двух величин ( , = , >=,

номера оператора названия оператора содержания оператора признака конца

Идентификаторы:

Идентификаторы — основа любого языка. Под идентификаторами понимаются имена констант, переменных, элементов управления, процедур и методов объектов.

В Basic существует следующие правила составления идентификаторов:

1. Первый символ идентификатора обязательно является буквой или символом подчеркивания (Например, идентификаторы First, _Var являются правильными, а 1st, 100 — неправильными).

2. В середине или на конце идентификатора допускается использовать цифры (например — A1, A1B2 и др.).

3. В идентификаторах не допускается использовать пробелы, а также специальные символы: знаки препинания, а также @, #, $, & (Идентификаторы My Var, New& — являются неправильными).

4. Максимальная длина идентификатора не может превышать 255 символов.

5. Идентификатор не может совпадать с зарезервированными словами языка программирования Basic

6. В пределах одного модуля или проекта недопустимо объявлять один и тот же идентификатор дважды.

Переменные:

Типы данных должны быть заданы для того, чтобы транслятор мог размес­тить их в памяти. В различных ЭВМ такое размещение осуществляется по-разному.

Бейсик допускает строго определенные типы данных. Тип определяется для чисел, переменных, функций.

Для описания типа некоторой переменной существует два способа:

1. В конце имени ставится определенный символ.

2. С помощью оператора DEF .

Структура оператора DEF

DEF тип буква[-буква][,буква]

«тип» — может быть одним из следующих буквенных сочетаний:

1. INT (integer) – целое.

2. SNG (single precision) — одинарная точность.

3. DBL (double precision) — двойная точность.

4. STR (string)-строка.

«буква» — это любая из букв английского алфавита A-Z. Оператор DEF указывает Бейсику то, что все переменные, начинаю­щиеся с одной из перечисленных букв, будут иметь тип, заданный в клю­чевом слове оператора.

Переменные целого типа: целыми числами являются числа от -32768 до +32767 и не содержат десятичной точки, так как компьютер не оставляет места под дробную часть. Занимают 2 байта памяти. Арифметические действия над целыми числами выполняются быстрее, чем над другими числами.

Переменные целого типа можно описать с помощью знака процента (%). Например: Р%, К3% и т.д.

Вещественные переменные одинарной точности — может быть любое число, которое не является целым и содержит 7 или менее цифр, записыва­ется в экспоненциальной форме с символом Е, занимает 4 байта памяти, точность составляет до 7-ми десятичных цифр, но только шесть будут представлены точно, седьмая округляется. Диапазон чисел от -1.701412Е+38 ДО+1.701412Е+38.

Переменные данного типа в конце имени могут содержать восклица­тельный знак (!). Например: Р!. КЗ! и т.д.

Вещественные переменные двойной точности: вещественными переменными двойной точности могут быть любые числа, имеющие 8 или более цифр. Записываются эти числа в экспоненци­альной форме с буквой D. Занимают 8 байт памяти, точность составляет до 16-ти десятичных цифр.

Переменные данного типа в конце имени могут иметь знак #.

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

1. Арифметические операции могут выполняться над смешанными операндами любого из трех числовых типов. Реальная точность мо­жет оказаться не выше точности самого неточного операнда.

2.Следует запомнить, что символ типа в имени переменной важнее оператора DEF.

3. Операции одного приоритета выполняются последовательно слева направо. Исключение составляет операция возведения в степень, которая выполняется справа налево.

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

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

Операторы:

Описание типов и массивов в Бейсик:

s$, p$, sl$, pr$ — символьные;

n%, m%, n1%, m3% — целочисленные;

x!, y!, x1!, y5! – вещественные;

a#, b#, a1#, b8# — вещественные двойной точности.

Операторы описания типов переменных в В.:

def str p, q, s – символьные;

def int n, m, l – целочисленные;

def sng x, y, z – вещественночисловые;

def dbl a, b, c – вещественные двойной точности.

Оператор описания массивов DIM – служит для описания одномерных и двумерных массивов

одномерные 30 dim fm$(20), nm$(20), r(20)

двумерные 40 dim ms(10, 10)

Обращение к массивам: fm$(4)=”Егоров”, r(4)=r(3)+10

Описание данных: 10 data “Иванов”, “Саша”, 180, 80

Оператор ввода блока данных DATA,

Оператор считывания данных из блока READ,

Оператор восстановления блока данных RESTORE.

Операторы чтения данных: read fm$(1), nm$(1), r(1)

Операторы чтения данных сначала: restore – чтение сначала.

Операторы повторного чтения данных, начиная с 10: restore 10 – чтение с 10 оператора.

Оператор ввода данных с клавиатуры – INPUT.

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

Операторы организации подпрограмм GOSUB – служит для обращения к подпрограмме, RETURN – служит для завершения подпрограммы и обеспечивает возврат в то место основной подпрограммы, из которого произошло обращение к подпрограмме.

Обработка одномерных и двумерных массивов:

Массивом называют упорядоченную последовательность величин, обо­значаемую одним именем. Именем массива может быть любое допусти­мое в Бейсике имя.

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

Номер ячейки соответствует значению индекса элемента массива. Чтобы получить доступ к элементу массива, нужно указать имя и индекс, индекс указывается в круглых скобках (например, Н(14)).

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

Максимальное число элементов в любом массиве в БЕЙСИКЕ зави­сит от версии и не может быть больше числа 32767. Нижняя граница по умолчанию в некоторых версиях равна нулю или равна единице — в дру­гих. Массивы могут быть числовые и символьные (например, DIM Y(21), F$(5), C2$(23)).

Наиболее мощное средство при работе с массивами — возможность представления индекса переменной или сложным выражением.

Надо только предусмотреть, чтобы значение индекса всегда удовлетво­ряло заданному размеру массива; т.е. программа не должна пытаться обра­титься к элементам, номер которых меньше 0 или больше заданного в описании размера массива.

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

Основные правила при работе с массивами.

1. Рекомендуется описание массивов делать в начале программы — это необходимо для улучшения структуры программы и для избежания оши­бок. Если оператор описания массива отсутствует, то по умолчанию макси­мальное значение индекса равно 10 (то есть количество элементов в одномерном массиве = 10, а в двухмерном = 100(10*10)). Надо помнить – явное описание массивов экономит память ЭВМ.

2. Нежелательно использовать в объявлении массива имя простой пе­ременной, присутствующей в программе.

3. Программа не должна пытаться обратиться к элементам массива, но­мер которых меньше 0 или больше заданного в описании размера массива.

4. Индекс не может быть не целым числом. Максимальное значение индекса не должно превышать 32767.

5. Элемент числового массива имеет значение 0 с момента, когда мас­сив определен, и до того, как Он получит какое — то другое значение.

Матрицами называют двухмерный массив чисел вида:

Матрица характеризуется размерностью m * n, т.е. произведением числа строк на число столбцов.

Размер матрицы устанавливается оператором DIM, где указывается имя матрицы и в круглых скобках верхние границы изменения индексов, которые должны быть целыми положительными числами (например: DIM A(7,4), FIO$(5,9)).

В Бейсике могут использоваться массивы как числовые, так и сим­вольные.

Под двухмерный массив выделяется линейный участок памяти, в кото­ром массив располагается по строкам.

а11 а12 а1n а21 а22 а2n am1 am2 amn

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

УПОРЯДОЧЕНИЕ МАССИВОВ (СОРТИРОВКА),

Сортировкой является такая перестановка элементов (в массиве), после которой они оказываются упорядоченными требуемым образом.

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

Сортировка методом пузырька.

Этот метод очень прост; он практически не требует рабочих ячеек, но работает довольно медленно. Однако его легко понять и он может служить идеальным методом сортировки общего назначения в условиях, когда па­мять ЭВМ ограничена, а время исполнения не очень существенно. Этот метод основан на попарном сравнении смежных элементов дан­ных; если порядок следования элементов» в очередной паре неправилен, то эти элементы обмениваются местами. Для выполнения обмена требуется дополнительная переменная, сохраняющая на время обмена одно из зна­чений. Рассмотрим сортировку числовых значений в порядке убывания. Пере­менные I и J — индексы пары смежных значений.

Функции пользователя:

Помимо стандартных функций в программе можно определить и далее использовать другие (нестандартные) функции. В Бейсике имеется воз­можность вводить в текст программы определение новых функций и в дальнейшем обращаться к ним по имени в различных выражениях.

Определить функцию можно в любом месте программы с помощью специального оператора DEF.

Общий вид оператора: DEF FNv(x) = где v — имя функции латинская буква;

Х — формальный аргумент функции — простая переменная;

— формула, по которой вычисляется функция.

Имена всех функций должны начинаться с FN.

Пример: определим функцию FNy(x) следующим образом: 10 DEF FNy(x) = COS(x) / SIN(x).

В соответствии с этим определением функция FNy(x) – это тригономет­рическая функция котангенс, отсутствующая среди встроенных в интер­претаторе языка Бейсик.

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

20 PRINT FNy(2) будет напечатано значение котангенса для угла, равного 2 радианам,-.457658

Подпрограммы:

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

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

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

Использование подпрограмм уменьшает общее количество операто­ров в программе, и, следовательно, для размещения программы требу­ется меньше памяти. Время на выполнение программы практически не из­меняется.

Подпрограммы обладают также некоторыми другими преимуществами:

1. Использование подпрограмм улучшает структуру программы.

2. Облегчается отладка программы, так как работа подпрограммы может быть проверена по отдельности.

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

В Бейсике подпрограмма оформляется как группа операторов, которая должна выполняться при обращении к ней, и составляет с программой единое целое.

Обращение к подпрограмме осуществляется оператором

GOSUB N где N -номер строки, с которой начинается подпрограмма.

Подпрограмма размещается в последовательных строках, начиная с N-ой. Последним оператором, выполняемым в подпрограмме, должен быть оператор RETURN. По оператору RETURN осуществляется возврат в то место программы, из которого произошло обращение к подпро­грамме, а именно к оператору, следующему за GOSUB N. Подпрограмма может содержать обращения к другим подпрограммам.

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

Тем не менее, будем условно разделять подпрограмму (функцию) и ос­тальные операторы. Последние назовем ОСНОВНОЙ или ВЫЗЫВАЮ­ЩЕЙ программой.

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

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

Выходные — это переменные, в которых получаются результаты рабо­ты подпрограммы.

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

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

Внутренние переменные — это переменные подпрограммы, которые являются вспомогательными, т.е. не являются входными и выходными и использу­ются только в подпрограмме.

Прочие переменные — это все остальные переменные основной программы.

При использовании подпрограмм необходимо помнить следующее:

1. Перед обращением к подпрограмме всем ее входным переменным не­обходимо присвоить нужные значения.

2. В основной программе имя прочей переменной не должно совпадать с именем внутренней переменной подпрограммы, если эта прочая пере­менная не должна быть испорчена в процессе работы подпрограммы.

3. Подпрограмма не должна начать выполняться без обращения к ней.

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

Обращение к подпрограмме из основной имеет вид:

Пример использования подпрограммы для вычисления факториалов нескольких чисел.

10 КЕМ Вычисление 5! 6! 7! 8!

50 PRINT» ЗНАЧЕНИЕ ФАКТОРИАЛА»; N;» =»; F

1000 REM подпрограмма вычисления факториалов

1020 FOR 1=1 TO N

Работа с файлами данных:

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

Эту операцию обычно связывают со словом «открыть». Затем мы про­изводим поиск и достаем интересующий нас документ, т.е. «читаем» затре­бованную неделимую порцию данных. Следующий шаг связан с изучением и обработкой информации, расположенной в соответствующих разделах документа.

Включение нового документа в файл соответствует процедуре «записи» поступившей порции данных.

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

Обращение к Файлу данных:Любая программа, обращающаяся к файлу данных, должна выполнить 3 операции над этим файлом.

2. Считать данные из файла, записать данные в файл или изменить данные в файле.

Открытие файла файла в Бейсике выполняется оператором OPEN FOR AS # ,

где номер файла представляет собой целое выражение со значением в диа­пазоне от 1 до максимально допустимого числа одновременно открытых файлов (15).

Режим доступа: Открыть файл можно в одном из 3-х режимов доступа:

1. Для ввода данных из файла в оперативную память ЭВМ:

OPEN «M101 .DAT» FOR INPUT AS #1.

Теперь из файла Ml 01.DAT можно только считать данные, начиная с первой записи.

Для ввода данных из файла в рабочую область памяти используется оператор INPUT # , Синтаксис этого оператора практически идентичен оператору INPUT, за исключением того, что нужно указать канал, по которому мы собираемся вводить данные. Оператор INPUT # просто считывает данные из файла, а не с клавиатуры, но данные из файла вводятся точно в такой же форме, в какой они должны были вводиться с клавиатуры (например — 120 INPUT #1, NOM, FAM$).

2. Для вывода данных в файл из оперативной памяти машины:

OPEN «M101 .DAT» FOR OUTPUT AS #1.

Если файл открывается в режиме OUTPUT, то все содержимое этого файла (если такой имеется) пропадает, и можно записать в этот файл новые данные.

Сохранение данных из рабочей области памяти машины в файле дан­ных выполняется оператором PRINT # , (например -160 PRINT #l, NOM; «,»; FAM$).

3. Для добавления данных в файл из оперативной памяти:

OPEN «Ml 01 .DAT» FOR APPEND AS #1.

Когда файл открывается в режиме APPEND, то имеющиеся в нем дан­ные сохраняются и новые записываются после последней записи файла.

Если был открыт файл, то нужно его и закрыть. Для этого используется оператор

CLOSE [[# номер файла> [,номер файла]. ]

Оператор CLOSE без параметров закрывает все файлы, которые к этому моменту программа успела открыть. Если в параметрах задан номер файла, то закрывается только файл с указанным номером канала. Закрытие файла имеет решающее значение: только после закрытия файла данные записываются на диск! Если вы забудете закрыть файл, то можете потерять данные! (например — 1000 CLOSE #1).

Маркер конца файла.

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

Когда, файл создается, то операционная система помещает после по­следней записи специальный символ, который называется маркером конца файла.

Программист должен предусмотреть в программе действия, которые надо выполнить при достижении конца файла, иначе попытки чтения будут продолжаться, и интерпретатор сообщит об ошибке «Input past and error» (Попытка чтения после конца файла).

В Бейсике имеется функция определения того, можем ли мы считать из файла еще какие-либо данные. Она называется EOF (End of file — Конец файла). Она имеет следующий синтаксис:

Эта функция истинна только тогда, когда достигнут конец файла, а ес­ли в файле еще остались данные, то она ложна.

Организация цикла. Программа ввода данных из файла в оперативную память должна выглядеть следующим образом: ПОКА НЕ КОНЕЦ ФАЙЛА

1. Прочитать запись.

2. Обработать запись.

3. Вывести информацию, если нужно. Функция EOF делает этот цикл очень простым.

29. ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ ПРОЛОГ: ОБЪЕКТ, ПРЕДИКАТ, ТЕРМ, ФАКТ, ПРАВИЛО, УТВЕРЖДЕНИЕ, ЦЕЛЬ. МЕХАНИЗМ ДОКАЗАТЕЛЬСТВА ЦЕЛИ В ТУРБО-ПРОЛОГЕ. ВНЕШНИЕ И ВНУТРЕННИЕ ЦЕЛИ. СТРУКТУРА ПРОГРАММ ТУРБО-ПРОЛОГА. СОДЕРЖАНИЕ РАЗДЕЛОВ. ДОПУСТИМЫЕ ТИПЫ ДОМЕНОВ. ЛОГИЧЕСКИЕ ОПЕРАЦИИ В ПРОЛОГ-ПРОГРАММАХ.[63]

Пролог был разработан в1973 г. Аленом Кольмером в составе группы Марсельского Университета во Франции. Пролог декларативный (описательный) язык, язык формальной логики. Предназначен для моделирования процесса логических умозаключений человека. Требует особого мышления программиста и считается языком сверх высокого уровня.

Атом – набор символов латинского алфавита, начинающихся со строчной буквы, либо набор любых символов заключенных в “ ”.

Константа – либо атом, либо число.

Переменная – именуется набором латинских символов, цифр и символа подчеркивания, начинающимся с прописной буквы.

Если значение переменной не представляет интереса, ее имя заменяют символом подчеркивания и называют анонимной.

Терм (простой) – константа или переменная.

Терм (составной) – имеет имя и аргументы. learn (“Маша“, “Пролог“)

Имя терма может содержать 256 символов и обязательно начинаться с прописной буквы.

Встроенный предикат – процедура, входящая в систему программного обеспечения Турбо-Пролога.

Факт – простой или составной терм с аргументами, константами.

Факт – некоторое истинное утверждение, характеризующее объект или устанавливающее отношение между объектами.

Правило – составной терм, содержащий переменные в условиях (подцелях).

Правило – предложение, содержащие условия. В отличие от факта содержит переменные.

Заголовок (голова правила) :- тело правила (голова истинна, когда истинно тело). learn («Коля», X) :- learn («Маша», X).

Утверждения (предложения) – либо факт, либо правило.

Предикат – отношение между объектами. learn (“Маша“, “Пролог“)

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

Constants

domains (раздел описания объектов)

имя объекта = тип объекта

predicates (раздел описания предикатов)

database (раздел описания динамических БД)

predicates(раздел описания предикатов).

clauses (раздел описания фактов и правил программы)

goal (раздел описания цели)

допустимые типы доменов:

integer – целое; real – действительное; char – одиночный символ; string и symbol – символьные; file – для работы с файлами.

Логические операции: часто для достижения цели одного условия в правиле бывает недостаточно, тогда используются составные условия, где несколько простых объединяются логическими операциями: «и» (.), «или» (;), «не» ().

Если в программе предполагается использовать динамические базы данных, то до раздела clauses появляется раздел описания динамической базы данных database.

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

Цель в программе задается предикатом; объявляет, что должна доказать программа; используется для запуска программы на выполнение.

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

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

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

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

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: При сдаче лабораторной работы, студент делает вид, что все знает; преподаватель делает вид, что верит ему. 9339 — | 7293 — или читать все.

188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Краткое описание VBA

История

Язык программирования Basic был создан в 1964 году двумя профессорами из Dartmouth College — Джоном Кенеми и Томасом Куртцом для обучения студентов навыкам программирования. Язык получился настолько простым и понятным, что через некоторое время его начали применять и в других учебных заведениях. В 1975 году, с приходом первых микрокомпьютеров, эстафету Basic приняли Билл Гейтс и Пол Аллен, основатели Microsoft. Именно они создали новую версию Basic для первых компьютеров «Альтаир» (MITS Altairs), способную работать в 4КБ оперативной памяти. Со временем именно эта версия и превратилась в один из самых популярных языков программирования в мире.

На пути к вершине славы у Basic было множество трудностей, которые он всегда с честью преодолевал, и когда появились первые персональные компьютеры IBM PC, именно он стал стандартом в программировании, но уже в виде GW-Basic. Потом был Turbo Basic, QuickBasic, Basic PDS, но всегда при разработке новой версии языка сохранялась совместимость с прежними версиями и программа, написанная для практически первого Basic, вполне (с незначительными изменениями) могла бы работать и в последующих версиях этого языка. Но наступили новые времена, и в начале 90-х появляется операционная система Microsoft Windows с новым графическим интерфейсом пользователя (GUI). Жизнь программистов превратилась в ад. Чтобы создать простую программу, приходилось писать несколько страниц кода: создавать меню и окна, менять шрифты, очищать память, «рисовать» кнопки и т.д. Однако преимущества нового интерфейса были настолько неоспоримы, что уже третья версия этой операционной системы стала фактическим стандартом для персонального компьютера[1].

В это время в недрах Microsoft велось несколько параллельных проектов по созданию нового языка программирования для Windows. И в 1991 году под лозунгом «теперь и начинающие программисты могут легко создавать приложения для Windows» появилась первая версия нового инструментального средства Microsoft Visual Basic. В тот момент Microsoft достаточно скромно оценивала возможности этой системы, ориентируя ее, прежде всего, на категорию начинающих и непрофессиональных программистов. Основной задачей тогда было выпустить на рынок простой и удобный инструмент разработки в тогда еще довольно новой среде Windows, программирование в которой представляло проблему и для специалистов.

Система программирования, созданная разработчиками Visual Basic, позволяла «отстраниться» от сложнейшей внутренней структуры Windows и создавать программы из «кубиков», как в детском конструкторе. Меню, окна, списки, кнопки, поля ввода текста и другие элементы интерфейса Windows добавлялись в программу с помощью простейших операций drag&drop. Свою первую программу VB-программисты создавали уже через несколько минут после начала изучения этого языка! Более того, Visual Basic позволял разработчикам создавать новые объекты — «кубики», которые также могли использоваться в программах наравне со стандартными. И хотя многие С-программисты тихо посмеивались над попытками Microsoft сделать простой и понятный инструмент разработки Windows-программ, Visual Basic начал свое победное шествие по миру, и ничто не могло остановить этот процесс. Последние барьеры упали в 1994 году с выпуском Visual Basic for Applications. Именно в это время, после включения VBA в состав Microsoft Office, Basic начинает превращаться в один из основных стандартов программирования для Windows. Для фирмы Microsoft язык Basic имеет особое значение, в свое время разработка варианта Basic для компьютера Altair 8800 положила начало трудовому программистскому пути ее основателей, Билла Гейтса и Пола Аллена. Поэтому в свое время — в 1989 году, когда пришла пора распределить основные направления создания сред разработки на различных языках программирования между различными фирмами, Microsoft оставила за собой QuickBasic — среду разработки программ на Basic’е, отказавшись, к примеру, от дальнейшей работы над языком программирования Pascal, оставив его фирме Borland, которая, в свою очередь, остановила работы над своей версией Basic’а (впоследствии Pascal стал языком Delphi) [5].

Первоначально задумывавшийся как игрушка, Visual Basic от Microsoft невероятно быстро завоевал программистский мир. Его популярность обусловлена двумя причинами: относительной простотой и продуктивностью. Программы на VB работают медленнее своих аналогов на C/C++, но все же они достаточно быстры для многих деловых целей и требуют гораздо меньше времени на разработку. Формы были той самой сберегающей усилия абстракцией, которую предложил VB программистам Windows. IDE VB позволила разрабатывать окна графически, перетаскивая элементы управления, такие как кнопки и списки, с панели инструментов в форму. Получив удовлетворительный внешний вид формы, можно было переходить к кодовой части и писать обработчики событий для каждого элемента управления формы. Разработка приложения в VB, таким образом, состояла из создания нескольких форм, которые общались друг с другом и, возможно, обращались к базе данных за необходимой информацией. В результате форма оказалась окном, которое предлагало использовать оконные методы гораздо более удобным способом. VB уменьшил число ошибок путем удаления некоторых скрытых элементов синтаксиса C/C++[1]. Кроме специальных случаев, выражения ограничивались одной строкой кода, а переменные должны были объявляться и инициализироваться в отдельных строках кода. Операторы присваивания и сравнения использовали один и тот же символ, однако грамматика VB требовала, чтобы эти операторы применялись таким образом, чтобы их намерения были четко обозначены. Возможно, самым важным было то, что отсутствовали указатели — требование Билла Гейтса, начиная с первых версий Microsoft BASIC[2]. Хотя указатели полезны, так как разрешают прямой доступ к памяти по любому адресу, их использование сопряжено с ошибками в том случае, если они применяются неаккуратно. Требование грамматической простоты BASIC восходит к тому факту, что первоначально он был создан как язык для обучения: «Beginner’s All-purpose Symbolic Instructional Code» (Многоцелевой символьный командный код для начинающих). VB версии 6 — это уже мощный язык, который можно использовать для создания распределенных приложений с применением компонентов СОМ и Microsoft Transaction Server. Microsoft предложила трехуровневый подход для архитектур «клиент-сервер», в котором «тонкие» пользовательские интерфейсы взаимосвязь с удаленными компонентами VB для получения данных из базы данных или с другой машины[2].

При помощи VBScript и VBA (VB для приложений) можно писать сценарии для web-браузеров и автоматизировать приложения Microsoft Office. Более того, VB6 можно использовать для создания элементов управления Active-X, работающих вместе с Internet Explorer, хотя это делается крайне редко, поскольку требуется, чтобы на машине клиента, работающего в Интернете, была установлена библиотека времени исполнения DLL VB. Начиная с VB5, программы VB компилировались в машинный код, но они были основаны на применении DLL, предоставляющей повсеместно используемые функции и реализующей объектные возможности VB. Интересно то, что компилятор VB для трансляции использует многопроходный режим, а в конечном счете полагается на компилятор Microsoft C++ для получения выходного машинного кода после компиляции в промежуточный язык. В этом свойстве VB — использование библиотеки времени исполнения и внутреннего интерфейса C++ — видны зародыши.NET[2].

Встроенные функции V isual B asic

1. Математические функции

Возвращает абсолютное значение аргумента number , который может быть любым числовым выражением.

Возвращает арктангенс аргумента number (заданного в радианах), который может быть любым числовым выражением.

Возвращает косинус угла (заданного в радианах). Аргумент number может быть любым числовым выражением.

Возвращает значение типа Double, содержащее результат возведения числа e (основание натурального логарифма) в указанную степень. Аргумент number может быть любым числовым выражением.

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

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

Возвращает натуральный логарифм от аргумента number , который может быть любым числовым выражением большим 0.

Инициализирует генератор случайных чисел. Рекомендуется выполнять перед первым использованием функции Rnd . Если аргумент number отсутствует, то в качестве seed -значения используется значение системного таймера.

Возвращает значение типа Single, содержащее псевдослучайное число, большее 0 и меньшее 1. Для любого заданного начального числа ( number ), генерируется одна и та же последовательность, потому что каждый последовательный запрос к этой функции использует предыдущий номер как начальное число для следующего номера в последовательности.

Возвращает число, округленное до указанного числа десятичных знаков. Тип возвращаемого значения совпадает с типом аргумента.

Функция возвращает значение типа Integer. Если аргумент отрицательный, то функция возвращает -1, если положительный, то возвращается 1 и, если аргумент равен 0, то функция возвращает 0.

Возвращает синус угла (заданного в радианах). Аргумент number может быть любым числовым выражением.

Возвращает значение (типа Double ) квадратного корня из аргумента number , который может быть любым числовым выражением.

Возвращает тангенс угла (заданного в радианах). Аргумент number может быть любым числовым выражением.

2. Функции преобразования типов и представления данных

Преобразует числовое выражение или строку в значение типа Boolean (логическое).

Преобразует числовое выражение или строку в значение типа Byte (короткое целое).

Преобразует числовое выражение или строку в значение типа Currency (денежный формат).

Преобразует числовое выражение или строку в значение типа Data (дата).

Преобразует числовое выражение или строку в значение типа Doub le (вещественное число двойной точности).

Преобразует числовое выражение или строку в значение типа Decimal (десятичное число).

Преобразует числовое выражение или строку в значение типа Integer (целое).

Преобразует числовое выражение или строку в значение типа Long (длинное целое).

Преобразует числовое выражение или строку в значение типа Single (вещественное).

Преобразует числовое выражение или строку в значение типа String (строка).

Преобразует числовое выражение или строку в значение типа Variant.

Преобразует любой допустимый код ошибки в значение типа Variant.

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

Преобразует числовое выражение в строку, содержащую восьмеричное представление аргумента.

3. Функции работы с массивами

Создает новый массив типа Variant и заполняет его указанными элементами из списка аргументов arglist . Для создания массива другого типа необходимо объявлять его с помощью оператора Dim.

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

Возвращает наименьшее доступное значение индекса (типа Long ) для указанной размерности массива.

Возвращает наибольшее доступное значение индекса (типа Long ) для указанной размерности массива.

4. Функции обработки строк

Возвращает ASCII -код первого символа строки. Если строка пустая, то возникает ошибка выполнения.

Выбирает или возвращает значение (типа Variant ) из списка аргументов. Аргументы:

index – номер элемента в списке выбора;

choice 1 [, choice 2 , . [, choiceN ]] – список выбора.

Возвращает символ, соответствующий указанному ASCII-коду (аргумент может быть целым числом в диапазоне от 0 до 255).

Возвращает текст сообщения об ошибке указанного номера.

Возвращает строковый массив (нижняя граница которого равна 0), содержащий строки, отобранные из входного строкового массива ( sourcearray ) в соответствии с заданным образцом ( string ). Необязательный аргумент include (типа Boolean ) задает критерий отбора (если True – отбираются строки, содержащие образец, а если False – строки, не содержащие образец). Необязательный аргумент compare задает вид сравнения.

Возвращает строку, содержащую значение выражения, оформленное по заданному формату. Аргументы (кроме первого – необязательны):

expression – любое выражение;

format – формат выражения;

firstdayofweek – константа, определяющая первый день недели;

firstweekofyear – константа, определяющая первую неделю года.

Таблица. Символы — заполнители для создания пользовательских форматов

Цифровой символ , отображает цифру , если таковая находится в этой позиции , или 0, если – нет . Можно использовать символ 0 для отображения начальных нулей для целых чисел и конечных нулей в десятичных дробях ; 00000 . 000 отображает число 124.5 как 00124,500 .

Цифровой символ , отображает цифру , если таковая находится в этой позиции , иначе – не отображает ничего , Символ — заполнитель # эквивалентен 0 , кроме того , что начальные и конечные нули не отображаются ; #####.### отображает число 1234.5 как 1234,5 .

Отображает знак доллара ; $###,###.00 отображает число 1234.5 как $1234,50 .

Десятичный символ — заполнитель , отображает десятичную точку в обозначенной позиции в строке символов — заполнителей 0; #.##.## отображает число 1234.5 как 1234,5 .

Символ процента , умножает значение но 100 и добавляет знак процента в позицию , указанную символами — заполнителями 0; #0. 00% отображает число 0.12345 как 12,35% (12 ,345 округляется до 12,35 ).

Разделитель тысяч , добавляет запятые как разделители тысяч в строках символов — заполнителей 0 и #; ###,###,###. 00 отображает число 1234.5 как 1234 , 50 .

Отображает значения в экспоненциальном формате со знаком порядка только для отрицательных значений #.#### е +00 отображает число 0. 0445 как 4,45 Е -02 .

Отображает значения в экспоненциальном формате со знаком порядка для положительных и отрицательных значений ; #. #### Е +00 отображает число 0.0445 как
4,45 Е -02 .

Отделяет день , месяц и год для форматирования значений дат ; mm / dd / yy отображает 06/06/97. Символы » /» можно заменять на символы дефиса для отображения как 06-06-97.

Указывает , как отображать месяцы в датах ; m отображает 2, mm – 02, mmm – фев , mmmm – февраль .

Указывает , как отображать дни в датах ; d отображает 1,
dd отображает 01, ddd – Пт , dddd – пятница .

Отображает день года как число от 1 до 366.

Указывает , как отображать годы в датах ; yy отображает 99 , yyyy1999 .

Отображает квартал года как число от 1 до 4.

Отображает день недели как число ( 1 – это воскресенье ).

Отображает неделю года как число от 1 до 54.

Отделяет часы , минуты и секунды в значениях формата времени ; hh : mm : ss отображает 02:02:02.

Указывает , как отображать часы ; для значения времени 02:01:38 символ h отображает 2, символы hh отображает 02.

Минутный символ — заполнитель для времени ; для значения времени 02:01:08 символ n отображает 1, а символы nn отображает 01.

Секундный символ — заполнитель для времени ; для значения времени 02:01:08 символ s отображает 8, и символы ss отображает 08.

Отображает время в 12- часовом формате времени с добавленными AM и PM ; h : nn AM / PM отображает
4:00 PM . Альтернативные форматы включают am / pm , A / P и а / р .

Символьный заполнитель , отображает пробел , если не имеется соответствующего символа в форматируемой строке ; @@@@ отображает строку Hi с двумя начальными пробелами ( порядок заполнения по умолчанию – справа налево ).

Примеры использования функции Format :

Dim MyTime, MyDate, MyStr

MyDate = #January 27, 1993#

‘Возвращают системное время и дату в длинном формате времени/даты:

MyStr = Format( Time , «Long Time» )

MyStr = Format( Date , «Long Date» )

MyStr = Format( MyTime , «h:m:s» ) ‘ Возвращает «17:4:23»

MyStr = Format( MyTime , «hh:mm:ss AMPM» ) ‘ Возвращает «05:04:23 PM»

MyStr = Format( MyDate , «dddd , mmm d yyyy» )
‘ Возвращает «Wednesday, Jan 27 1993»

‘Если формат не задан, возвращается сама строка:

MyStr = Format ( 23 ) ‘Возвращает «23»

‘Форматы, задаваемые пользователем:

MyStr = Format(5459.4, «##,##0.00») ‘ Возвращает «5,459.40»

MyStr = Format(334.9, «###0.00») ‘ Возвращает «334.90»

MyStr = Format(5, «0.00%») ‘ Возвращает «500.00%»

MyStr = Format(«HELLO», » ‘ Возвращает «hello»

MyStr = Format(«This is it», «>») ‘ Возвращает «THIS IS IT»

List1.AddItem «0 : » & Format(124.5, «0»)

List1.AddItem «00000.000 : » & Format(124.5, «00000.000»)

List1.AddItem «$###,###.00 : » & Format(4124.5, «$####,###.00»)

List1.AddItem «#.####E+00 : » & Format(0.0445, «#.####E+00»)

List1.AddItem «#.####E-00 : » & Format(0.0445, «#.####E-00»)

List1.AddItem «#0.00% : » & Format(0.123451, «#0.00%»)

Debug.Print MyDate, MyNumber, MyMoney ’11/24/1997 26.5 1,636.32

MyDate = #8/22/1997 5:22:20 PM#

NewDate1 = Format(MyDate, «Medium Date»)

NewDate2 = Format(MyDate, «Short Date»)

NewDate3 = Format(MyDate, «Long Date»)

NewDate4 = Format(MyDate, «General Date»)

Debug.Print NewDate1, NewDate2, NewDate3, NewDate4

’22-Aug-97 8/22/97 Monday, August 22, 1997 8/22/97 5:22:20 PM

Возвращает значение типа Currency в формате, определенном в системе. Аргументы:

Expression – форматируемое выражение.

Digits Right – количество отображаемых разрядов справа от десятичного разделителя (по умолчанию: -1, используются параметры региональных настроек компьютера).

NullLeft – константа, определяющая наличие нуля слева от десятичного разделителя для дробных значений:

TristateFalse – 0 ( False );

TristateTrue – -1 ( True );

TristateUseDefault – -2 (используются параметры региональных настроек компьютера);

ParensNeg – константа, определяющая заключение отрицательных чисел в круглые скобки (0, -1 или -2);

GroupDig – константа, определяющая группировку разрядов числа, используя разделитель группы, указанный в параметрах региональных настроек компьютера (0, -1 или -2).

Возвращает значение типа Date , в формате даты или времени, определенном в системе.

d ate – форматируемое выражение даты.

f ormat – константа, определяющая используемый формат даты или времени:

vbGeneralDate ( 0) – дата отображается в коротком формате, а время – в длинном формате (используется по умолчанию);

vbLongDate ( 1) – дата отображается в длинном формате даты, указанном в параметрах региональных настроек компьютера;

vbShortDate ( 2) – дата отображается в коротком формате даты, указанном в параметрах региональных настроек компьютера;

vbLongTime ( 3) – время отображается в формате, указанном в параметрах региональных настроек компьютера;

vbShortTime ( 4) – время отображается в 24-часовом формате (hh:mm).

Возвращает значение в числовом формате. Аргументы такие же, как в функции FormatCurrency.

Возвращает значение в процентном формате (т.е. умноженное на 100) с символом «%» справа. Аргументы такие же, как в функции FormatCurrency.

Возвращает одно из двух значений или выражений ( truepart или falsepart ), в зависимости от значения логического выражения ( expr ). Например :

Function CheckIt(TestMe As Integer)

CheckIt = IIf(TestMe > 1000, «Large», «Small»)

Производит поиск номера символа, с которого начинается образец поиска ( string 2 ) в заданной строке ( string 1 ). Поиск начинается от указанной позиции ( start ) слева направо (по умолчанию – с первой позиции). Необязательный аргумент compare задает вид сравнения.

Производит поиск номера символа, с которого начинается образец поиска ( string 2 ) в заданной строке ( string 1 ). Поиск начинается от указанной позиции ( start ) справа налево. Необязательный аргумент compare задает вид сравнения.

Производит слияние всех элементов указанного массива в одну строку со вставкой между ними необязательного разделителя (delimiter – указывается в кавычках ).

Преобразует символы строки (string) в строчные, все буквы в нижнем регистре и небуквенные символы остаются неизмененными.

Возвращает строку, содержащую указанное количество (length) первых символов (слева) исходной строки (string).

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

Удаляет начальные пробелы (слева) из исходной строки (string). Если аргумент имеет значение Null, то возвращается Null.

Возвращает часть строки (подстроку), содержащую указанное количество символов (length) начиная с позиции (start) слева направо.

Возвращает значение типа String, указывающее положение числа ( number ) в вычисляемом наборе диапазонов.

Возвращает строку, полученную из исходной строки ( string ), в которой указанная подстрока ( find ) была заменена другой подстрокой ( replace ) указанное количество раз ( count ) начиная с позиции ( start ). Необязательный аргумент compare задает вид сравнения.

Возвращает строку, содержащую указанное количество (length) последних символов (справа) исходной строки (string).

Удаляет завершающие пробелы (справа) из исходной строки (string). Если аргумент имеет значение Null, то возвращается Null.

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

Возвращает одномерный массив, содержащий определенное количество ( count ) подстрок из исходной строки (string). В исходной строке подстроки разделены разделителями delimiter . Необязательный аргумент compare задает вид сравнения.

Преобразует любое числовое выражение в строку. Эта функция аналогична функции CStr .

Возвращает результат (типа Integer) сравнения двух строк:

-1 – если string1 меньше чем string 2 ;

0 – если string 1 равен string 2 ;

1 – если string1 больше чем string2 ;

Null – если string 1 или string 2 содержат Null .

Необязательный аргумент compare задает вид сравнения.

Преобразует все символы исходной строки (string) в соответствии с заданным видом преобразования (conversion):

vbUpperCase (1) – перевод в верхний регистр;

vbLowerCase (2) – перевод в нижний регистр;

vbProperCase (3) – все слова будут начинаться с заглавных букв.

Возвращает строку, состоящую из указанного количества ( length ) повторяющихся символов. Повторяющийся символ задается первым символом параметра string или переменной number ( ASCII-код символа).

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

Проверяет список выражений и возвращает первое найденное значение или выражение value (типа Variant), связанное с первым выражением ( expr ) в списке, равным True. Аргументы:

expr – проверяемое выражение типа Variant.

value – возвращаемое значение или выражение, соответствующее первому выражению expr .

Function MatchUp(CityName As String)

Matchup = Switch(CityName = «London», «English», _
CityName = «Rome», «Italian», CityName = «Paris», «French»)

Удаляет начальные и завершающие пробелы (слева и справа) из исходной строки (string). Если аргумент имеет значение Null, то возвращается Null.

Преобразует символы строки (string) в прописные (заглавные), все буквы в верхнем регистре и небуквенные символы остаются неизмененными.

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

5. Стандартные функции ввода-вывода и работы с цветом

Вызывает диалоговое окно с подсказкой и полем ввода текста. Кнопки » OK » и » Cancel » предназначены для управления вводом данных. Нажатие кнопки » OK » возвращает строку, введенную пользователем в текстовое поле. Аргументы:

p rompt – текст (не более 1024 символов), отображающийся в диалоговом окне как приглашение к вводу. Для вывода многострочной подсказки могут использоваться символы перевода строки возврата каретки ( Chr(13) и Chr(10));

t itle – заголовок диалогового окна (по умолчанию – отображается название приложения);

d efault – значение по умолчанию, отображаемое в поле ввода (по умолчанию – пустая строка);

y p os – координаты левого верхнего угла диалогового окна (по умолчанию – окно отображается посредине экрана). Оба параметра используются совместно;

c ontext – полное имя файла контекстно-зависимой справки (если она используется в приложении) и номер ее соответствующего раздела. Оба параметра используются совместно.

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

p rompt – текст сообщения (не более 1024 символов) в диалоговом окне. Для вывода многострочного сообщения могут использоваться символы перевода строки возврата каретки ( Chr(13) и Chr(10));

t itle – заголовок диалогового окна (по умолчанию – отображается название приложения);

c ontext – полное имя файла контекстно-зависимой справки (если она используется в приложении) и номер ее соответствующего раздела. Оба параметра используются совместно;

buttons – числовое выражение, определяющее наличие пиктограммы (значка) и кнопок в диалоговом окне:

Buttons = Button + Icon + Default + Modal + Extras

Для категорий параметра Button , Icon , Default и Modal можно использовать только одну из допустимых констант, а для категории Extras допускается применение комбинации значений:

vbOKOnly ( 0) – только кнопка OK;

vbOKCancel ( 1) – кнопки OK и Cancel ;

vbAbortRetryIgnore ( 2) – кнопки Abort , Retry и Ignore ;

vbYesNoCancel ( 3) – кнопки Yes , No и Cancel ;

vbYesNo ( 4) – кнопки Yes и No ;

vbRetryCancel ( 5) – кнопки Retry и Cancel ;

vbCritical ( 16) – значок » Ошибка » – ;

vbQuestion ( 32) – значок » Запрос » – ;

vbExclamation ( 48) – значок » Предупреждение» – ;

vbInformation ( 64) – значок » Информация» – ;

vbDefaultButton 1 ( 0) – по умолчанию активна 1-ая кнопка;

vbDefaultButton 2 ( 256) – по умолчанию активна 2-ая кнопка;

vbDefaultButton 3 ( 512) – по умолчанию активна 3-ая кнопка;

vbDefaultButton 4 ( 768) – по умолчанию активна 4-ая кнопка;

vbApplicationModal ( 0) – модальное диалоговое окно приложения;

vbSystemModal ( 4096) – модальное диалоговое окно системы;

vbMsgBoxHelpButton ( 16384) – дополнительная кнопка Help;

v bMsgBoxSetForeground ( 65536) – отображение диалогового окна в фоновом режиме ;

vbMsgBoxRight ( 524288) – выравнивание текста в окне по правому краю ;

vbMsgBoxRtlReading ( 1048576) – отображение текста справа налево (еврейский, арабский) .

Функция MsgBox может возвращать значения, соответствующие нажатой в диалоговом окне кнопке:

vbOK ( 1) – кнопка OK ; vbIgnore ( 5) – кнопка Ignore ;

vbCancel ( 2) – кнопка Cancel ; vbYes ( 6) – кнопка Yes ;

vbAbort ( 3) – кнопка Abort ; vbNo ( 7) – кнопка No .

vbRetry ( 4) – кнопка Retry ;

Примечание . Встроенные константы Visual Basic (соответствующие управляющим символам), используемые в аргументе p rompt :

vbCr = Chr (13) – возврат каретки;

vbLf = Chr (10) – перевод строки;

vbTab = Chr (9) – табуляция.

Возвращает RGB -код (типа Long ), соответствующий указанному номеру цвета ( color – изменяется в диапазоне: 0-15):

0 – Black (черный); 8 – Gray (серый);

1 – Blue ( синий ); 9 – Light Blue ( светло синий );

2 – Green ( зеленый ); 10 – Light Green ( светло зеленый );

3 – Cyan ( голубой ); 11 – Light Cyan ( светло голубой );

4 – Red (красный); 12 – Light Red (светло красный);

5 – Magenta (фиолетовый); 13 – Light Magenta (светло фиолетовый);

6 – Yellow ( коричневый ); 14 – Light Yellow ( желтый );

7 – White ( белый ); 15 – Bright White ( ярко белый ).

Возвращает номер цвета (типа Long ), представляющий значение RGB -кода. Аргументы – компоненты цвета – представляют целые значения в диапазоне 0-255. Стандартные цвета включают следующие компоненты ( RGB ):

Black ( черный ) – 0, 0, 0; Red ( красный ) – 255, 0, 0;

Blue ( синий ) – 0, 0, 255; Magenta ( фиолетовый ) – 255, 0, 255;


Green ( зеленый ) – 0, 255, 0; Yellow ( коричневый ) – 255, 255, 0;

Cyan ( голубой ) – 0, 255, 255; White ( белый ) – 255, 255, 255.

6. Функции работы с датой и временем

Возвращает текущую системную дату (значение типа Date).

Возвращает дату, полученную добавлением к заданной дате указанного интервала времени. Аргументы:

interval – добавляемые интервалы времени;

number – количество добавляемых интервалов;

date – допустимое выражение исходной даты.

Возвращает количество (типа Long ) интервалов времени между двумя датами. Значения интервала ( interval ):

Q – квартал; W – день недели; N – минута;

Возвращает заданную часть указанной даты ( date ). Значения интервала ( interval ) те же, что и для функции DateDiff .

Возвращает дату (типа Date), соответствующую указанным году (0 – 9999), месяцу (1 – 12) и дню (1 – 31).

Преобразует строковое представление даты (от 1 января 100 г. до 31 декабря 9999 г.) в значение даты.

Возвращает целое число (от 1 до 31), представляющее день месяца в указанной дате (значении типа Date ).

Возвращает целое число (от 0 до 23), представляющее час дня в указанном времени (значении типа Date ).

Возвращает целое число (от 0 до 59), представляющее минуту часа в указанном времени (значении типа Date ).

Возвращает целое число (от 1 до 12), представляющее месяц года в указанной дате (значении типа Date ).

Возвращает строку, содержащую название месяца, указанного своим номером (month). Необязательный аргумент abbreviate определяет возможность сокращения названия месяца ( True – сокращенное, False – полное, по умолчанию).

Возвращает текущую системную дату и время.

Возвращает целое число (от 0 до 59), представляющее секунду минуты в указанном времени (значении типа Date ).

Возвращает текущее системное время (значение типа Date).

Возвращает количество секунд (типа Single ), прошедших с полуночи до текущего момента.

Возвращает время (типа Date), соответствующее указанным часу (0 – 23), минуте (0 – 59) и секунде (0 – 59).

Преобразует строковое представление времени (от 0:00:00 до 23:59:59 или от 12:00:00 AM до 11:59:59 РМ) в значение времени (типа Date). Если в нем содержится указание даты, то оно игнорируется, но при неправильном указании даты происходит ошибка выполнения.

Возвращает целое число (от 1 до 7), представляющее день недели в указанной дате (значении типа Date ). Необязательный аргумент firstdayofweek определяет первый день недели:

vbUseSystem ( 0) – используется значение, установленное в системе;

vbSunday ( 1) – воскресенье (используется по умолчанию);

vbMonday ( 2) – понедельника.

Возвращает строку, содержащую название дня недели, указанного своим номером ( weekday ) в соответствии с аргументом firstdayofweek . Аргументы:

abbreviate – определяет возможность сокращения названия месяца ( True – сокращенное, False – полное, по умолчанию);

firstdayofweek – определяет первый день недели (см. функцию Weekday ).

Возвращает целое число (от 100 до 9999), представляющее год в указанной дате (значении типа Date ).

7. Функции и операторы для работы с файлами,
папками и устройствами

Примечание . Для приведенных функций указывается тип файла, с которым допустимо использование данной функции:

П – последовательный файл;

Пр – файл прямого доступа;

Б – бинарный файл.

Оператор смены текущей папки. Аргумент (типа String ) указывает новую папку (допускается указание и устройства).

Оператор смены текущего устройства. Аргумент (типа String ) указывает новое устройство.

Оператор закрытия файла(ов) по идентификатору ( filenumber ) или всех открытых файлов (если идентификатор не указан).

Возвращает параметры командной строки, которые использовались при запуске программы.

Возвращает текущую папку на указанном (по умолчанию – текущем) устройстве.

Возвращает список файлов указанной папки (при каждом обращении возвращается один очередной файл). Аргументы:

pathname – путь к файлу и маска (с символами групповых операций: * и ?);

attributes – константа (или выражение), задает атрибуты искомых файлов:

vbNormal ( 0) – обычный; vbVolume ( 8) – метка тома;

vbReadOnly ( 1) – только для чтения; vbDirectory ( 16) – каталог;

vbHidden ( 2) – скрытый; vbArchive ( 32) – архивный.

vbSystem ( 4) – системный;

Возвращает значение True, если достигнут конец открытого файла, и False – в противном случае.

FileAttr ( filenumber , type ) ( П , Пр , Б )

Возвращает информацию об открытом файле. Аргументы:

filenumber – идентификатор открытого файла;

type – указывает тип возвращаемой информации:

2 – идентификатор файла ).

Оператор копирования файла. Атрибуты задают полные имена файлов источника ( source ) и приемника ( destination ).

FileDateTime( pathname ) (П, Пр, Б)

Возвращает дату и время создания или изменения указанного файла.

FileLen ( pathname ) (П, Пр, Б)

Возвращает размер (типа Long ) указанного неоткрытого файла в байтах.

FreeFile (П, Пр, Б)

Возвращает идентификатор (типа Integer ) следующего доступного для открытия файла.

Get [#] filenumber , [ recnumber ], varname ( Пр , Б )

Оператор чтения данных из указанного файла ( filenumber ) в заданную переменную ( varname ) (используется для чтения данных, записанных в файл оператором Put ). Аргумент recnumber – номер записи или байта (типа Long ), с которого начинается чтение (номера начинаются с 1). Если он не указан, то происходит считывание записи, на которую установлен указатель (указатель может быть установлен с помощью оператора Seek ).

Возвращает атрибуты (константа или выражение типа Integer ) указанного файла или папки:

vbNormal ( 0) – обычный; vbVolume ( 8) – метка тома;

vbReadOnly ( 1) – только для чтения; vbDirectory ( 16) – каталог;

vbHidden ( 2) – скрытый; vbArchive ( 32) – архивный .

vbSystem ( 4) – системный;

Возвращает строку символов, считанных из указанного файла (используется для чтения данных, записанных в файл оператором Print # или Put ). В отличие от оператора Input # , функция Input возвращает все считанные символы, включая запятые, переводы каретки, переводы строки, кавычки, и значащие пробелы. Аргументы:

number – количество считываемых символов (байтов);

filenumber – идентификатор открытого файла.

Input # filenumber , varlist (П)

Оператор чтения данных из файла в переменную (используется для чтения данных, записанных в файл оператором Write #). Аргументы:

filenumber – идентификатор открытого файла;

varlist – список переменных для считывания данных.

Оператор удаления указанных (через запятую) файлов. В аргументе pathname допускается использование символов групповых операций: * и ?.

Line Input # filenumber , varname ( П )

Оператор чтения строки из указанного последовательного файла в строковую переменную (используется для чтения данных, записанных в файл оператором Print # ). При считывании строки символы возврата каретки и перевода строки ( Chr (13) + Chr (10)) удаляются.

Возвращает номер (типа Long ) текущей позиции в указанном открытом файле.

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

Возвращает размер (типа Long ) указанного открытого файла в байтах.

Оператор создания новой папки. Аргумент (типа String ) указывает новую папку (допускается указание и устройства).

Оператор переименования (или перемещения) файла или папки на диске. Файл для переименования должен быть обязательно закрыт. Аргументы должны иметь тип String , они не могут содержать символы групповых операций: * и ?.

Оператор открытия указанного файла. Аргументы:

pathname – строка, содержащая полное имя открываемого файла;

mode – режим открытия файла: Append – добавление в конец файла, Binary – двоичный доступ, Input – последовательное чтение, Output – последовательная запись с начала файла (все старые записи удаляются), Random – произвольного доступ. По умолчанию – Random ;

access – тип доступа к файлу: Read – чтение, Write – запись, Read Write – чтение/запись;

lock – тип разрешения доступа к файлу другим процессам: Shared – общий (коллективный) доступ, Lock Read – блокировка чтения, Lock Write – блокировка записи, Lock Read Write – блокировка чтения и записи;

filenumber – идентификатор открываемого файла;

reclength – размер буфера для записи или чтения данных (≤ 32 767 байт). Для файла произвольного доступа – длина одной записи.

Оператор записи заданной строки ( outputlist ) в указанный последовательный файл ( filenumber ) на диске (записанные в файл данные могут быть считаны с помощью оператора Line Input # или функции Input).

Оператор записи заданной строки ( varname ) в указанный файл ( filenumber ) на диске (записанные в файл данные могут быть считаны с помощью оператора Get ). Аргумент recnumber – номер записи или байта (типа Long ), с которого начинается запись (номера начинаются с 1). Если он не указан, то запись происходит с позиции, на которую установлен указатель (указатель может быть установлен с помощью оператора Seek ).

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

Оператор удаления указанной папки на заданном устройстве ( path ). Перед удалением необходимо удалить из папки все файлы.

Возвращает текущую позицию указателя (номер записи или байта) в указанном файле для последующей операции ввода-вывода. Возвращается значение типа Long , в диапазоне от 1 до 2 147 483 647.

Оператор установки указателя на заданную позицию (значение типа Long , в диапазоне от 1 до 2 147 483 647) в указанном файле для последующей операции ввода-вывода.

Оператор установки атрибутов (константа или выражение типа Integer ) указанного файла:

vbNormal ( 0) – обычный; vbSystem ( 4) – системный;

vbReadOnly ( 1) – только для чтения; vbArchive ( 32) – архивный.

vbHidden ( 2) – скрытый;

Запускает на выполнение программу и возвращает ее идентификатор (task >0. Аргументы:

pathname – строка, содержащая полное имя исполняемого файла (расширение по умолчанию – .ехе);

windowstyle – определяет состояние окна для работы запускаемой программы (по умолчанию – 2):

v bHide ( 0) – скрытое активное окно;

vbNormalFocus ( 1) – активное окно обычного размера;

vbMinimizedFocus ( 2) – активное окно, свернутое в значок;

vbMaximizedFocus ( 3) – развернутое активное окно;

vbNormalNoFocus ( 4) – неактивное окно обычного размера;

vbMinimizedNoFocus ( 6) – неактивное окно, свернутое в значок.

Функция используется вместе с оператором Print # или методом Print для установки позиции для вывода списка выражений путем вывода указанного количества пробелов.

Функция используется вместе с оператором Print # или методом Print для установки указателя на указанную позицию для вывода списка выражений.

Оператор снятия блокировки доступа к открытому файлу (или отдельным его записям) других процессов при работе в многопользовательской среде. Снимается блокировка, установленная оператором Lock .

Оператор записи данных ( outputlist – числовые или строковые выражения, через запятые) в последовательный файл ( filenumber ). Записанные в файл данные могут быть считаны с помощью оператора Input # .

8. Функции работы с объектами и приложениями

Выполняет метод или возвращает (устанавливает) свойство объекта. Аргументы:

object – имя объекта;

procedurename – строка, содержащая имя свойства или метода объекта;

calltype – константа, отражающая тип вызываемой процедуры;

arguments() – необязательные аргументы, например, значение свойства.

CallByName Text 1, » MousePointer «, vbLet , vbCrosshair
‘Устанавливает свойство MousePointer для объекта TextBox

Result = CallByName ( Text 1, » MousePointer «, vbGet )
‘Считывает значение свойства MousePointer для объекта TextBox

CallByName Text 1, » Move «, vbMethod , 100, 100
‘Вызывает метод Move для перемещения объекта TextBox

Создает и возвращает ссылку на объект ActiveX. Аргументы:

class – имя приложения и класс создаваемого объекта в формате appname.objecttype , где:

appname – имя приложения, обеспечивающего объект;

objecttype – тип или класс создаваемого объекта;

servername – имя сетевого сервера, на котором будет создан объект.

Уступает очередь для обработки операционной системой другим событиям, т.е. прекращает обработку текущего события (длительный процесс).

Возвращает строку, связанную с переменной среды операционной системы. Аргументы:

envstring – строка, содержащая имя переменной среды.

number – номер строки в таблице среды.

GetAllSettings ( appname , section )

Возвращает список (двумерный массив строк) ключевых параметров настройки и соответствующих им значений (первоначально созданный с SaveSetting) для приложения ( appname – название приложения), указанный в системном реестре Windows ( section – название секции реестра).

object . GetAutoServerSettings ([ progid ], [ clsid ])

Функция GetAutoServerSettings возвращает информацию о состоянии регистрации компонента ActiveX. Аргументы:

object – объектное выражение, определяющее объект в списке Applies To;

progid – выражение типа Variant , определяющее ProgID для компонента;

clsid – выражение типа Variant , определяющее C ls ID для компонента.

Функция возвращает значение типа Variant , содержащее массив значений информации об указанном компоненте ActiveX. Индексные значения и описания:

1 – True , если компонент ActiveX зарегистрирован дистанционно;

2 – имя удаленной машины;

3 – наименование сетевого протокола RPC;

4 – уровень аутентификации RPC.

Возвращает ссылку на объект ActiveX. Аргументы:

pathname – строка с полным именем файла, содержащего искомый объект. Если аргумент pathname опущен, то аргумент class обязателен.

class – строка, представляющая класс объекта в формате appname.objecttype, где:

appname – имя приложения, обеспечивающего объект;

objecttype – тип или класс объекта;

Функция GetObject используется для получения доступа к объекту ActiveX из файла и назначения ему (с помощью оператора Set) объектной переменной. В результате запускается приложение, связанное с указанным файлом, и активизируется объект из файла или части файла (указанной после восклицательного знака » !«). Например :

Dim CADObject As Object

Set CADObject = GetObject(«C:\CAD\SCHEMA.CAD»)

Set LayerObject = GetObject(«C:\CAD\SCHEMA.CAD!Layer3»)

Dim MyObject As Object

Set MyObject = GetObject(«C:\DRAWINGS\SAMPLE.DRW», «FIGMENT.DRAWING»)

Возвращает значение ключа настройки приложения из системного реестра Windows. Аргументы:

appname – строка, содержащая наименование приложения или проекта, для которого требуется ключ настройки.

section – строка, содержащая наименование секции системного реестра, в которой находится ключ настройки.

key – строка с наименованием возвращаемого ключа настройки.

default – выражение, содержащее возвращаемое значение ключа настройки по умолчанию. Если этот аргумент опущен, то значением по умолчанию является пустая строка.

Возвращает значение типа Integer , определяющее используемый режим Input Method Editor (IME) в Microsoft Windows (функция доступна только в восточно-азиатских версиях).

Загружает графическое изображение в свойство Picture формы, элемент управления PictureBox или Image. Аргументы:

filename – полное имя файла. Если имя файла не определено, то элемент управления PictureBox или Image очищается.

size – для файлов курсора ( . cur ) или значка ( . ico ) определяет желательный размер изображения:

vbLPSmall ( 0) – маленькие значки.

vbLPLarge ( 1) – большие значки, размер определяется видеодрайвером.

vbLPSmallShell ( 2) – маленькие значки, размер определяется установленным размером надписи ( Caption ) на кнопке на вкладке Appearance диалогового окна Display Properties.

vbLPLargeShell ( 3) – большие значки, размер определяется установленным размером значка ( Icon ) на вкладке Appearance диалогового окна Display Properties.

vbLPCustom ( 4) – размер определяется аргументами x и y.

colordepth – для файлов курсора ( . cur ) или значка ( . ico ) определяет желательную разрядность цвета изображения:

vbLPDefault ( 0) – используется разрядность цвета по умолчанию для указанного файла;

vbLPMonochrome ( 1) – 2 цвета;

vbLPVGAColor ( 2) – 16 цветов;

vbLPColor ( 3) – 256 цветов.

x , y – для файлов курсора ( . cur ) или значка ( . ico ) определяют желательную ширину и высоту изображения. Значения x и y используются только, когда аргумент colordepth установлен в vbLPCustom. Для файлов значков ( . ico ) максимально возможные значения 255.

Допустимыми графическими форматами являются файлы: точечных рисунков ( .bmp), GIF ( .gif), JPEG ( .jpg), значков ( .ico), курсоров ( .cur), метафайлы ( .wmf) и расширенные метафайлы ( .emf).

Загружает данные (одного из нескольких возможных типов) из файла ресурсов ( .res) и возвращает массив типа Byte. Аргументы:

index – значение (типа Integer или String ), определяющее идентификатор данных в файле ресурсов. Идентификатор равный 1, зарезервирован для значка приложения.

format – определяет оригинальный формат возвращаемых данных, описанный в настройках. Может принимать следующие значения: 1 – курсор, 2 – точечный рисунок, 3 – значок, 4 – меню,
5 – диалоговое окно, 6 – строка, 7 – каталог шрифтов, 8 – шрифт,
9 – таблица «горячих» клавиш, 10 – определяемый пользователем ресурс, 12 – группа курсоров, 14 – группа значков.

Загружает точечный рисунок, значок, или курсор из файла ресурсов ( .res). Аргументы:

index – значение (типа Integer или String ), определяющее идентификатор данных в файле ресурсов. Идентификатор равный 1, зарезервирован для значка приложения.

format – определяет формат возвращаемых данных, описанный в настройках. Может принимать следующие значения:

vbResBitmap ( 0) – точечный рисунок;

vbResIcon ( 1) – значок;

vbResCursor ( 2) – курсор.

Загружает строку из файла ресурсов ( .res). Аргумент:

index – значение типа Integer , определяющее идентификатор данных в файле ресурсов. Идентификатор равный 1, зарезервирован для значка приложения.

9 . Функции статуса

Возвращает булево значение, указывающее статус переменной: True, если переменная является массивом, и False – в противном случае.

Возвращает булево значение, указывающее статус выражения: True, если значение выражения является датой или строкой, содержащей дату, и False – в противном случае.

Возвращает булево значение, указывающее статус выражения: True, если переменная в выражении инициализирована или явно очищена, и False – в противном случае. Если выражение содержит более одной переменной, то всегда возвращается False.

Возвращает булево значение, указывающее статус выражения: True, если значение выражения является ошибкой, и False – в противном случае.

Возвращает булево значение, указывающее статус параметра: True, если необязательный параметр передан в процедуру, и False – в противном случае.

Возвращает булево значение, указывающее статус выражения: True, если числовое или строковое выражение содержит переменные, не содержащие данных ( Null ), и False – в противном случае.

Возвращает булево значение, указывающее статус выражения: True, если значение выражения может быть номером, и False – в противном случае.

Возвращает булево значение, указывающее статус идентификатора: True, если идентификатор представляет собой объектную переменную (типа Object или Class ), и False – в противном случае.

Возвращает строку, содержащую тип указанной переменной.

Возвращает целое значение (типа Integer), указывающее на тип значения, содержащегося в переменной (типа Variant), указанной в качестве параметра.

vbEmpty ( 0) – Пустая переменная (неинициализированная);

vbNull ( 1) – Null (данные отсутствуют);

vbInteger ( 2) – Целое;

vbLong ( 3) – Длинное целое;

vbSingle ( 4) – Вещественное (с плавающей точкой);

vbDouble ( 5) – Вещественное (с плавающей точкой) двойной точности;

vbCurrency ( 6) – Денежная величина;

vbDate ( 7) – Значение даты;

vbString ( 8) – Строка;

vbObject ( 9) – Объект;

vbError ( 10) – Значение ошибки;

vbBoolean ( 11) – Логическое значение;

vbVariant ( 12) – Значение типа Variant (используется только с массивами);

vbDataObject ( 13) – Данные доступа к объекту;

vbDecimal ( 14) – Десятичное значение;

vbByte ( 17) – Короткое целое;

vbUserDefinedType ( 36) – Переменная пользовательского типа;

vbArray ( 8192) – Массив (самостоятельно не используется).

10. Финансовые функции

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

Вычисляет амортизацию ( depreciation ) фондов в геометрической профессии в течение заданного интервала времени по формуле:

depreciation / period = (( cost – salvage) * factor) / life .

cost – начальная стоимость вклада;

salvage – остаточная стоимость вклада в конце периода его использования;

life – длительность периода;

period – период, за который вычисляется амортизация;

factor – необязательный аргумент, определяющий процент амортизации (по умолчанию принимается равным двум).

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

Вычисляет накопленную стоимость при известном размере регулярного взноса и постоянной процентной ставке. Аргументы:

rate – процентная ставка за период;

nper – общее число периодов выплат;

pmt – величина выплаты за период;

pv – необязательный аргумент, текущая величина (или общая сумма) ряда будущих выплат на данный момент времени;

type – необязательный аргумент, срок производства выплат (если type равен нулю, то в начале периода, а если единице – то в конце периода).

Вычисляет сумму процентных выплат за определенный период при известном размере регулярного взноса и постоянной процентной ставке. Аргументы:

rate – процентная ставка за период;

period – период выплат;

nper – общее число периодов выплат;

pv – текущая величина (или общая сумма) ряда будущих выплат на данный момент времени;

fv – необязательный аргумент, будущая величина или баланс после проведения последней выплаты;

type – необязательный аргумент, срок производства выплат (если type равен нулю, то в начале периода, а если единице – то в конце периода).

Вычисляет внутреннюю норму прибыли при известной последовательности выплат и поступлений. Аргументы:

values() – массив выплат, имеющий как минимум один положительный элемент (поступающую выплату) и один отрицательный элемент (исходящую выплату);

guess – необязательный аргумент, величина предполагаемой нормы прибыли (по умолчанию принимается равным 0,1 , т.е. 10%).

Вычисляет модифицированную внутреннюю норму прибыли при известной последовательности выплат и поступлений (в отличие от IRR функция MIRR учитывает процентную ставку как при текущей finance_rate , так и при новой инвестиции reinvest_rate ). Аргументы:

values() – массив выплат, имеющий как минимум один положительный элемент (поступающую выплату) и один отрицательный элемент (исходящую выплату);

finance_rate – процентная ставка финансирования вклада;

reinvest_rate – процентная ставка, которая может быть достигнута при новой инвестиции.

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

rate – процентная ставка за период;

pmt – величина выплаты за период;

pv – текущая величина (или общая сумма) ряда будущих выплат на данный момент времени;

fv – необязательный аргумент, будущая величина или баланс после проведения последней выплаты;

type – необязательный аргумент, срок производства выплат (если type равен нулю, то в начале периода, а если единице – то в конце периода).

Вычисляет чистую приведенную стоимость инвестиционного проекта при известном размере выплат и поступлений и при постоянной дисконтной ставке. Аргументы:

rate – процентная ставка за период;

values() – массив выплат, имеющий как минимум один положительный элемент (поступающую выплату) и один отрицательный элемент (исходящую выплату);

Аналогична функции РРМТ, но вычисляет величину выплаты в зависимости от срока ее производства (в начале или в конце периода). Аргументы:

rate – процентная ставка за период;

nper – общее число периодов выплат;

pv – текущая величина (или общая сумма) ряда будущих выплат на данный момент времени;

fv – необязательный аргумент, будущая величина или баланс после проведения последней выплаты;

type – необязательный аргумент, срок производства выплат (если type равен нулю, то в начале периода, а если единице – то в конце периода).

Вычисляет величину постоянного взноса для достижения определенной суммы при постоянной процентной ставке. Аргументы:

rate – процентная ставка за период;

period – период выплат;

nper – общее число периодов выплат;

pv – текущая величина (или общая сумма) ряда будущих выплат на данный момент времени;

fv – необязательный аргумент, будущая величина или баланс после проведения последней выплаты;

type – необязательный аргумент, срок производства выплат (если type равен нулю, то в начале периода, а если единице – то в конце периода).

Вычисляет приведенную стоимость инвестиции при известном и постоянном размере выплаты, периоде и постоянной процентной ставке. Аргументы:

rate – процентная ставка за период;

nper – общее число периодов выплат;

pmt – величина выплаты за период;

fv – необязательный аргумент, будущая величина или баланс после проведения последней выплаты;

type – необязательный аргумент, срок производства выплат (если type равен нулю, то в начале периода, а если единице – то в конце периода).

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

nper – общее число периодов выплат;

pmt – величина выплаты за период;

pv – текущая величина (или общая сумма) ряда будущих выплат на данный момент времени;

fv – необязательный аргумент, будущая величина или баланс после проведения последней выплаты;

type – необязательный аргумент, срок производства выплат (если type равен нулю, то в начале периода, а если единице – то в конце периода).

guess – необязательный аргумент, величина предполагаемой нормы прибыли (по умолчанию принимается равным 0,1 , т.е. 10%).

Вычисляет величину амортизации фондов линейным методом. Аргументы:

cost – начальная стоимость вклада;

salvage – остаточная стоимость вклада в конце периода его использования;

life – длительность периода;

Вычисляет величину годовой амортизации фондов за определенный период. Аргументы:

cost – начальная стоимость вклада;

salvage – остаточная стоимость вклада в конце периода его использования;

life – длительность периода;

period – период, за который вычисляется амортизация;

Основы программирования VBA и создание макросов в приложениях Mіcrosoft Offіce

Курс дистанционного обучения:
«Экономическая информатика»
Модуль 2 (2,5 кредита): Прикладное программное обеспечение офисного назначения

Тема 2.1. Обработка текстовой информации

Тема 2.2. Процессоры электронных таблиц

Тема 2.3. Программные средства презентаций и основы офисного программирования

Тема 2.4. Системы управления базами данных и экспертные системы

2.4.11. Учебная база данных с главной кнопочной формой «Training_students» — Скачать

2.3. Программные средства презентаций и основы офисного программирования

2.3.7. Основы офисного программирования

Визуальный язык программирования Бейсик для приложений: Visual Basic for Applications (VBA)

VBA – это подмножество визуального языка программирования Visual Basic (VB), которое включает почти все средства создания приложений VB.

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

Например, для того, чтобы открыть редактор VBA из приложения PowerPoint необходимо выполнить команду Сервис / Макрос / Редактор VBA. Вернуться из редактора в приложение можно, выбрав команду Microsoft PowerPoint в меню Вид или комбинацией клавиш Alt + F11.

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

Каждое событие проявляется в определенных действиях программы (откликах, реакции). Пользовательская форма позволяет создавать окна диалога приложений. Язык программирования VBA служит для написания кода программы, например для создания функций пользователя в Excel.

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

Рассмотрим алгоритм создания функций пользователя в VBA:

1. Вызвать окно редактора кода VBA, выполнив команду Сервис / Макрос / Редактор Visual Basic или нажать Alt+F11.

2. Выполнить пункт меню редактора Insert / Module (Вставка / Модуля).

3. Далее выполнить Insert / Procedure (Вставка /Процедура). В открывшемся диалогом окне Add Procedure ввести имя функции (например, СУММА5) и установить переключатели: Type (тип) – в положение Function (функция); Scope (Область определения) — в положение Public (Общая) и щелкнуть ОК.

4. В окне редактора для программирования VBA появится заготовка функции: заголовок — Public Function СУММА5() и окончание — End Function, между которыми надо поместить код тела функции.

5. Далее вводим список параметров функции, например, в скобках указываем (x, y, z, i, j), тип данных (для точных расчетов) и тип возвращаемого функцией значения (в данном примере не будем вводить). Кроме того, вводим тело функции, например, СУММА5 = x + y + z + i + j. В итоге получим следующий текст программы:

Public Function СУММА5(x, y, z, i, j)
СУММА5 = x + y + z + i + j
End Function

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

7. Выполняем «Вставка/Функция» и в открывшемся окне мастера функций выбираем категорию «Определенные пользователем», а в окне «Выберите функцию» выделяем СУММА5 и щелкаем ОК.

8. Далее выбираем ячейки со значениями и щелкаем ОК. Получаем следующий результат.

Макросы

Создадим макрос для автоматического суммирования двух чисел в ячейках A1, B1 и размещения результата в ячейке C1, а также заливки ячейки C1 бирюзовым цветом.

Алгоритм создания макроса для поставленной задачи:

1. Выберите Сервис/Макрос, Начать запись.

2. В поле Имя макроса введите имя для макроса. Первым символом имени макроса должна быть буква. В имени макроса не допускаются пробелы; в качестве разделителей слов можно использовать знаки подчеркивания.

3. Для того чтобы запускать макрос с помощью сочетания клавиш, введите букву в поле Сочетание клавиш. Допускается использование сочетаний CTRL+ буква (для строчных букв) или CTRL+SHIFT+ буква (для прописных букв), где буква — любая буквенная клавиша на клавиатуре. Не выбирайте стандартного сочетания клавиш, так как выбранное сочетание клавиш подавляет стандартные сочетания клавиш Microsoft Excel на то время с данной книгой.

4. В поле «Сохранить» выберите книгу, в которой требуется сохранить макрос. Сохраните макрос в «Эта книга». Для создания краткого описания макроса, введите необходимый текст в поле Описание. На скриншоте представлен пример заполнения окна диалога «Запись макроса»

5. Нажмите кнопку OK.

6. Выполните макрокоманды, которые нужно записать.

7. Нажмите кнопку Остановить запись на плавающей панели инструментов «Ос» (Остановить запись) или Сервис / Макрос / Остановить макрос.

По окончании записи макроса он появляется в списке макросов под своим именем.

Редактор VBA автоматически записал последовательность макрокоманд или программу по выполненным действиям (Рис. 7.).

Для вызова макроса необходимо выполнить команду Сервис / Макрос / Макросы. После этого в диалоговом окне со списком макросов его можно найти по имени и нажать кнопку Выполнить.

Назначение кнопки панели инструментов для запуска макроса

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

  1. Выбрать пункт Настройка в меню Сервис.
  2. В окне диалога Настройка выбрать вкладку Команды и выбрать параметр Макросы в списке Категории, в списке Команды выделить «Настраиваемая кнопка».
  3. Из списка Команды перетащить с помощью мыши настраиваемую кнопку на панель инструментов.
  4. Щелкнуть эту кнопку правой кнопкой мыши и выбрать команду Назначить макрос в контекстном меню.
  5. Ввести имя макроса в поле Имя макроса.

Назначение области графического объекта для запуска макроса:

  1. Создайте графический объект.
  2. К выделенному графическому объекту, примените контекстное меню.
  3. Выберите в контекстном меню команду Назначить макрос.
  4. В появившемся окне диалога «Назначить макрос объекту», введите название макроса в поле Имя макроса, затем нажмите кнопку OK.

Редактирование макроса осуществляется редактором VBA, для этого необходимо выполнить следующее:

  1. Выбрать команду Сервис / Макрос / Макросы.
  2. Выбрать имя макроса, который следует изменить, в списке Имя.
  3. Нажать кнопку Изменить, будет открыто окно Visual Basic, в котором возможно редактирование команд выбранного макроса, записанных на языке Visual Basic.
  1. В меню Сервис выберите пункт Макрос, а затем — команду Макросы.
  2. В списке макросов текущей рабочей книге необходимо выбрать макрос, который предполагается удалить и нажать кнопку Удалить.

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

Основы среды программирования Microsoft Visual Basic 6.0

В данном материале рассмотрены основы программирования на языке Visual Basic, а конкретней в среде программирования Microsoft Visual Basic 6.0. Данная среда программирования и язык Visual Basic является одним из самых легких языков для начинающих программистов. А почему? В этой статье мы с Вами и попробуем разобраться.

Теория по Visual Basic

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

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

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

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

Что касается визуальных возможностей среды Visual Basic, то здесь Вы можете создавать свой пользовательский интерфейс без написания отдельных команд. Иными словами, Вы создаете интерфейс, как будто Вы рисуете себе картинку, без всяких проблем.

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

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

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

В Visual Basic все элементы интерфейса делятся на две группы: формы и объекты.

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

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

Разные элементы имеют разные свойства. Каждый раз, когда Вы рисуете форму или объект, Visual Basic назначает им свойства, установленные по умолчанию.

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

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

Слово Basic, в названии Microsoft Visual Basic 6.0., указывает лишь на то, что синтаксис программ и операторы ссылаются на язык высокого уровня Basic (Beginners Atlpurpose Symbolic Instruction Code). Но если Вы знаете обычный Basic, то очень скоро убедитесь, что Visual Basic заметно от него отличается.

Если Вас интересует вопрос что такое Visual Basic — компилятор или интерпретатор, можно смело сказать: «И тем, и другим». Его нельзя на сто процентов отнести ни к компиляторам, ни к интерпретаторам.

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

При этом Visual Basic — не просто интерпретатор, так как это означало бы, что приложения выполняются только в среде Visual Basic. Эта среда программирования предоставляет возможность создавать и исполняемые ЕХЕ-файлы, поэтому она относится и к компиляторам.

Visual Basic нельзя назвать чистым компилятором, так как в отличие, например, от Visual C++, Visual Basic не создает исполняемый файл сразу же при запуске из среды разработки. Для создания такого файла необходимо сделать это явно (команда File\Make ***.EXE). Начиная с пятой версии, Visual Basic обладает так называемым «Native Compiler», т.е. компилятором, который может создавать машинный код. Таким образом, Visual Basic объединяет в себе возможности, как интерпретатора, так и компилятора. И это имеет больше преимуществ, чем недостатков.

Теперь давайте поближе познакомимся со средой программирования Microsoft Visual Basic. При открытие самой среды программирования у Вас появляется окно «Новый проект», в котором и нужно выбрать какой проект мы будим создавать, для начала мы создадим простой проект, а точнее стандартный, «Standard EXE» это — стандартное выполняемое приложение. В дальнейшем, когда Вы уже научитесь работать в этой среде можете пробовать создавать и другие проекты, например ActiveX DLL — динамическая библиотека ActiveX.

После того как Вы нажали создать (открыть) новый проект, у Вас появится сама среда программирования Visual Basic, а точнее форма, но пока в ней ничего нет, и она ничего делать не умеет. Для любопытства можете нажать команду меню run->start (запустить) или просто выбрать в быстром меню кнопку «старт», у Вас запустится программа, но как я уже сказал, она ничего не делает, это просто пустая форма. Закройте это окошко и давайте наполним нашу программу пользовательским интерфейсом и программным кодом.

Пример программы на VB

Для начала мы с Вами сделаем простенькую программу.

Поместите на форму следующие объекты: 2 кнопки CommandButton (Кнопка управления) и одно текстовое поле TextBox (Текстовое поле). Они расположены слева и называются «Кнопки панели элементов управления». Теперь когда у Вас они расположены на форме, можете, как угодно их поместить, растянуть, и даже задать какие-нибудь свойства, которые расположены справа. Мы с Вами зададим всего лишь их название, для этого выделите кнопку Command1 (просто нажав на нее) и с права в окне свойств найдите поле Caption и задайте название этой кнопки (измените Command1 например на «Выполнить»). Теперь выделим Command2 и зададим ей название «Выход».
Теперь, когда у нас есть объекты на форме, давайте зададим им действия, которые они должны выполнять. Щелкните 2 раза по кнопки Command1 (или как у нас уже «Выполнить») и у Вас откроется окно кода где написано:

Вы напишите между этими строками вот что, и должно получиться вот так:

Здесь мы задали, что при нажатие этой кнопки в текстовом поле будет появляться эта надпись.
Можете закрыть по крестику окно кода, и щелкнуть 2 раза по кнопке Command2 (у нас «Выход»), появляется то же самое окно, но уже готовое, для того чтобы задать действие для второй кнопки пишем вот что:

Мы здесь написали команду END, которая обозначает, что программа заканчивает свою работу.

Все можете запустить Вашу первую программу и попробовать, как она работает, но это конечно все только начало т.к. на Visual Basic можно написать такие серьезные программы которые не уступят таким программам, которые написаны, например, на языке C++.

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

Все, удачи в освоение Visual Basic, начинающим рекомендую начать свой путь программиста именно с этого языка.

Команды vba excel

VBA Excel: примеры программ. Макросы в Excel

​Смотрите также​ листе, удерживая левую​ на данном компьютере​ а именно. ​ макросами, в том​ слово​ ограниченную область действия,​Single​ приблизительно до 2​Sqr(16)​IsDate(«01/01/2015»)​Пример:​Оператор деления без остатка​ зафиксировано, ячейки для​ необходимо создать макрос​x2 = 10​ выделена другим цветом​Немногие знают, что первая​

Что такое VBA

​ кнопку мыши. Автоматически​ начиная с текущего​Макрорекордер​ числе и нужная​Public​ то есть ограниченную​, может сложится в​

​ миллиардов символов​возвращает значение 4.​возвращает​Abs(-20)​ – возвращает результат​ внесения значений по​ для «Эксель», чтобы​shag = 0.1​ (зеленым). Причина в​ версия популярного продукта​ появится окно, где​

​ момента​- это небольшая​ нам кнопка​использовано для объявления​ часть программы, в​ значительную сумму.К тому​Variant​Time​True​возвращает значение 20;​ деления двух чисел​ итогам и ФИО​ в ячейку с​i = 1​ апострофе, поставленном в​ Microsoft Excel появилась​ нужно выбрать макрос,​Личная книга макросов​ программа, встроенная в​Редактор Visual Basic​ переменной​ которой эта переменная​

Объекты, коллекции, свойства и методы

​ же, операции с​изменяется​Возвращает текущее системное время.​;​Abs(20)​ без остатка. Например,​ специалиста заранее не​ координатами (1,1) было​Do While x1 0 Then Cells(1,​x1 = x1 +​За таким названием скрываются​

​ Visual Basic for​ а пользовательская функция​ можно остановить командой​

​ он был написан​ и разместить там​В этом примере для​Option Explicit Dim sVAT_Rate​(о нём расскажем​ данных​возвращает значение 2015.​

​возвращает​DateAdd(​—​ планируемый и фактически​ 1).Value = 1​ shag (аргумент изменяется​ программы, написанные на​ Application, который изначально​ — только с​Остановить запись​ программистом. Такой способ​

​ наши макросы. Один​ объявления переменной​

​ As Single Function​

​ далее), чтобы выявить​Integer​Данный список включает в​True​интервал​Оператор вычитания​

​ уровень издержек.​If x=0 Then Cells(1,​ на величину шага);​ языке Visual Basic​ встроен в самый​

​ теми значениями, которые​(Stop Recording)​ создания макросов не​ модуль может содержать​

​ Total_Cost() As Double​ все не объявленные​вместо​ себя только избранные​, если для рассматриваемого​,​5​Обозначим теми же буквами,​ 1).Value = 0​Loop​ for Application. Таким​

Пример 4

​ известный табличный процессор​ мы передадим ей​.​ требует знаний пользователя​ любое количество макросов.​и константы​ . End Function​ переменные.Таким образом исключается​Long​ наиболее часто употребляемые​ аргумента процедуры не​число​Основной строковый оператор в​ но с «приставкой»​If x​End Sub.​ образом, программирование в​

​ от Microsoft.​ как аргументы (исходные​Управление всеми доступными макросами​ о программировании и​ Доступ ко всем​iMax_Count​

​ появление в программе​

​ встроенные функции Excel​ передано значение.​,​ Excel VBA –​ Itog накопление итога​End Sub.​

​В результате запуска данного​

​ Excel — это​К его достоинствам специалисты​ данные для расчета).​ производится в окне,​ VBA и позволяет​

​ модулям осуществляется с​использовано ключевое слово​

​sVAT_Rate​ ошибки в результате​

​ Visual Basic. Исчерпывающий​

​IsNumeric​дата​ это оператор конкатенации ​ по данному столбцу.​

Функции VBA

​Остается запустить макрос и​ макроса в «Эксель»​ создание макросов с​ относят сравнительную легкость​Чтобы создать пользовательскую функцию​ которое можно открыть​ пользоваться макросами как​ помощью окна Project​Private​объявлена в самом​ не верно записанного​вместо​ список функций VBA,​Возвращает​)​&​

  • ​ Например, ItogTP –​ получить в «Эксель»​ получаем два столбца,​ нужным кодом. Благодаря​ освоения. Как показывает​
  • ​ для расчета, например,​ с помощью кнопки​ неким аналогом видеозаписи:​ Explorer в левом​. Областью действия этих​ начале модуля, то​ имени переменной. Например,​
  • ​Double​ доступных для использования​True​
  • ​Где аргумент​(слияние):​ касается столбца таблицы,​ нужное значение для​ в первом из​ этой возможности табличный​ практика, азами VBA​ налога на добавленную​Макросы (Macros)​ включил запись, выполнил​ верхнем углу редактора​ элементов является текущий​ областью действия этой​ используя в коде​). Однако, используя более​ в макросах Excel,​, если заданное значение​
  • ​интервал​Оператор Действие​ озаглавленного, как «планируемый​ аргумента.​ которых записаны значения​
  • ​ процессор Microsoft саморазвивается,​ могут овладеть даже​ стоимость (НДС) откроем​на вкладке​ операци, перемотал пленку​ (если его не​ модуль.​ переменной будет весь​ переменную с именем​ компактные типы данных,​ можно найти на​ может быть рассмотрено​определяет тип временного​
  • ​&​ товарооборот».​Как вы уже могли​ для x, а​ подстраиваясь под требования​
  • ​ пользователи, которые не​ редактор VBA, добавим​Разработчик (Developer)​ и запустил выполнение​ видно, нажмите CTRL+R).​Это значит, что​ модуль (т.е. переменная​
  • ​sVAT_Rate​

​ нужно внимательно следить​ сайте Visual Basic​ как число, в​ интервала, добавляемого к​

Пример 5

​Оператор конкатенации. К примеру,​Используя введенные обозначения, получаем​ заметить, программировать в​

​ во втором —​ конкретного пользователя. Разобравшись​ имеют навыков профессионального​

  • ​ новый модуль через​или — в​ тех же действий​
  • ​ Программные модули бывают​sVAT_Rate​sVAT_Rate​, можно допустить опечатку​ за тем, чтобы​ Developer Center.​ противном случае возвращает​

Создание шаблона

​ формулы для отклонений.​ самом известном табличном​ для y.​ с тем, как​ программирования. К особенностям​ меню​ старых версиях Excel​ еще раз. Естественно​ нескольких типов для​и​будет распознаваться всеми​ и, присваивая значение​ в коде не​Урок подготовлен для Вас​False​дате​«A» & «B»​ Если требуется осуществить​

Переменные

​ процессоре Microsoft не​Затем по ним строится​ создавать модули для​ VBA относится выполнение​Insert — Module​

  • ​ — через меню​ у такого способа​
  • ​ разных ситуаций:​iMax_Count​ процедурами в этом​
  • ​ этой переменной, записать:​ было попыток уместить​ командой сайта office-guru.ru​
  • ​.​в количестве, указанном​возвратит результат​

​ расчет в %​ так уж сложно.​ график способом, стандартным​ написания макросов, можно​ скрипта в среде​и введем туда​Сервис — Макрос -​ есть свои плюсы​

Решение задачи с использованием программирования на VBA

​Обычные модули​будут доступны во​ модуле).​ «VATRate = 0,175».​ в них не​Источник: http://www.excelfunctions.net/VBA-Operators-And-Functions.html​Left​ в аргументе​AB​

​ имеем (F –​ Особенно, если научиться​ для «Эксель».​ приступать к рассмотрению​

​ офисных приложений.​ текст нашей функции:​ Макросы​ и минусы:​- используются в​

​ всех процедурах текущего​Следовательно, если в функции​ Ожидается, что с​ соразмерно большие значения.​Перевел: Антон Андронов​Возвращает заданное количество символов​число​.​

​ P) / P​ применять функции VBA.​Для реализации циклов в​ конкретных примеров программ​Недостатком программы являются проблемы,​

​Обратите внимание, что в​(Tools — Macro -​Макрорекордер записывает только те​ большинстве случаев, когда​

​ модуля, но не​Total_Cost​ этого момента, переменная​Примечание переводчика:​Автор: Антон Андронов​ от начала переданной​.​Операторы сравнения используются для​ * 100, а​ Всего в этом​ VBA Excel 2010,​ VBA Excel. Лучше​ связанные с совместимостью​ отличие от макросов​ Macros)​ действия, которые выполняются​ речь идет о​

​ будут доступны для​переменной​sVAT_Rate​Говоря о переменных​В VBA, как и​ строки. Синтаксис функции​Аргумент​ сравнения двух чисел​ в сумме —​ языке программирования, созданном​ как и в​ всего начать с​ различных версий. Они​ функции имеют заголовок​:​ в пределах окна​ макросах. Для создания​ процедур, находящихся в​sVAT_Rate​должна содержать значение​ в VBA, стоит​ в любом другом​ вот такой:​интервал​

Операторы и встроенные функции VBA

Операторы Excel VBA

​ (F – P).​ специально для написания​ других версиях, наряду​ самых элементарных кодов.​ обусловлены тем, что​Function​Любой выделенный в списке​ Microsoft Excel. Как​ такого модуля выберите​ других модулях.​

Математические операторы

​будет присвоено некоторое​ 0,175 – но,​ упомянуть ещё один​

​ языке программирования, переменные​Left(​может принимать одно​ возвращают логическое значение​Результаты этих вычислений можно​ приложений в «Эксель»​ с уже приведенной​Задача: написать программу, которая​ код программы VBA​

​вместо​
​ макрос можно запустить​ только вы закрываете​

​ в меню​ ​Урок подготовлен для Вас​ ​ значение, то следующая​
​ конечно же, этого​ ​ очень важный момент.​ ​ и константы используются​
​строка​ ​ из следующих значений:​ ​ типа​
​ лучше всего сразу​ ​ и Word, около​ конструкцией Do While​ будет копировать значение​ обращается к функциональным​​Sub​​ кнопкой​​ Excel или переключаетесь​ ​Insert — Module​
​ командой сайта office-guru.ru​ ​ функция, выполняемая в​ не происходит. Если​ Если мы объявляем​ для хранения каких-либо​​,​​Интервал Значение​​Boolean​​ внести в соответствующие​ ​ 160 функций. Их​
​ используется For.​ ​ содержимое одной ячейки​ ​ возможностям, которые присутствуют​
​и непустой список​ ​Выполнить​ ​ в другую программу​

Строковые операторы

​. В появившееся окно​Источник: http://www.excelfunctions.net/VBA-Variables-And-Constants.html​ пределах этого же​​ же включен режим​​ переменную, но не​

​ значений. Как и​

​длина​ ​yyyy​(True или False).​​ ячейки таблицы «Эксель».​​ можно разделить на​​Рассмотрим программу, которая создаст​​ и затем записывать​

Операторы сравнения

​ в новой версии​ аргументов (в нашем​(Run)​ — запись останавливается.​ нового пустого модуля​​Перевел: Антон Андронов​​ модуля, будет использовать​ обязательного объявления всех​ присваиваем ей какое-либо​ следует из названия,​

​)​

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

Логические операторы

​ можно вводить команды​Автор: Антон Андронов​ переменную​​ используемых переменных, то​​ значение, то она​ переменные могут изменяться,​где​q​

​ Excel VBA перечислены​

​ и прогнозу получают​ ​ Это:​​ его ячейке будут​​Для этого:​​ в старой. Также​​Summa​​Кнопка​​ те действия, для​​ на VBA, набирая​​Всем нам приходится -​​sVAT_Rate​​ компилятор VBA сразу​​ инициализируется значением по​​ константы же хранят​строка​​квартал​​ в этой таблице:​
​ по формулам ItogP=ItogP​ ​Математические функции. Применив их​​ записаны квадраты номера​​открывают вкладку «Вид»;​​ к минусам относят​​). После ввода кода​​Параметры​​ которых есть команды​​ их с клавиатуры​​ кому реже, кому​​с этим же​​ же укажет на​​ умолчанию:​​ фиксированные значения.​​– это исходная​​m​​Оператор Действие​​ + P и​​ к аргументу, получают​​ соответствующей строки. Использование​​переходят на пиктограмму «Макросы»;​​ и чрезмерно высокую​
​ наша функция становится​ ​(Options)​​ меню или кнопки​​ или копируя их​​ чаще — повторять​​ значением.​​ ошибку, так как​​• текстовые строки​​Например, константа​​ строка, а​​месяц​​=​​ ItogF=ItogF+ F.​​ значение косинуса, натурального​​ конструкции For позволит​​жмут на «Запись макроса»;​​ открытость кода для​​ доступна в обычном​

​позволяет посмотреть и​ в Excel. Программист​ из другого модуля,​ одни и те​Однако, если будет вызвана​ не найдёт переменную​ — инициализируются пустыми​Pi​

Встроенные функции

​длина​y​Равно​Для отклонений используют =​ логарифма, целой части​ записать ее очень​заполняют открывшуюся форму.​

​ изменения посторонним лицом.​

​ окне Мастера функций​ ​ отредактировать сочетание клавиш​ же может написать​
  • ​ же действия и​​ какая-то функция, расположенная​
  • ​VATRate​​ строками;​
​хранит значение 3,14159265…​ ​– количество возвращаемых​день года​
  • ​ (ItogF – ItogP)​​ и пр.​
  • ​ коротко, без использования​​Для простоты в поле​​ Тем не менее​​ (​
​ для быстрого запуска​ ​ макрос, который делает​
​ или еще откуда​ ​ операции в Excel.​ в другом модуле,​среди объявленных.​

​• числа —​​ Число «Пи» не​​ символов, считая от​​d​​Не равно​​ / ItogP *​​Финансовые функции. Благодаря их​

​ счетчика.​​ «Имя макроса» оставляют​​ Microsoft Office, а​Вставка — Функция​ макроса.​​ то, что Excel​​ нибудь:​ Любая офисная работа​​ то для неё​​Выделение значений, не соответствующих​

​ значением 0;​​ будет изменяться в​​ начала строки.​день​

​Меньше​

​ 100, если расчет​ ​ наличию и используя​
​Сначала нужно создать макрос,​ ​ «Макрос1», а в​
​ также IBM Lotus​ ​) в категории​
​Кнопка​ ​ никогда не умел​
​Модуль Эта книга​ ​ предполагает некую «рутинную​
​ переменная​ ​ объявленному типу переменной.​
​• переменные типа​ ​ ходе выполнения программы,​
​Пример:​ ​w​
​>​ ​ ведется в процентах,​
​ программирование в Excel,​ ​ как описано выше.​

​ поле «Сочетание клавиш»​

  • ​ Symphony позволяют пользователю​​Определенные пользователем (User Defined)​Изменить​ (сортировку по цвету,​- также виден​
  • ​ составляющую» — одни​​sVAT_Rate​Если объявить переменную​Boolean​ но все же​
​Left(«абвгдежзиклмн», 4)​ ​день недели​Больше​ а в случае​

​ можно получать эффективные​

  • ​ Далее записываем сам​​ вставляют, например, hh​ применять шифрование начального​:​(Edit)​
  • ​ например или что-то​​ в левом верхнем​ и те же​будет не известна.​ определённого типа и​
​— False;​ ​ хранить такое значение​возвращает строку «абвг»;​ww​

​Меньше либо равно​​ суммарной величины —​​ инструменты для ведения​

​ код. Считаем, что​ ​ (это значит, что​ кода и установку​После выбора функции выделяем​

​открывает редактор Visual​​ подобное).​​ углу редактора Visual​

​ еженедельные отчеты, одни​ ​Option Explicit Function Total_Cost()​ попытаться присвоить ей​• даты —​ удобнее как константу.​Left(«абвгдежзиклмн», 1)​неделя​>=​ (ItogF – ItogP).​

​ бухгалтерского учета и​

  • ​ нас интересуют значения​ запустить программку можно​​ пароля для его​
  • ​ ячейки с аргументами​ Basic (см. выше)​Если во время записи​​ Basic в окне,​

​ и те же​​ As Double Dim​ данные другого типа,​ 30 декабря 1899.​В то же время​возвращает строку «а».​h​Больше либо равно​

​Результаты опять же сразу​ ​ осуществления финансовых расчетов.​ для 10 ячеек.​

​ будет блиц-командой «Ctrl+h»).​​ просмотра.​​ (с суммой, для​

​ и позволяет просмотреть​ ​ макроса макрорекордером вы​​ которое называется Project​​ действия по обработке​ sVAT_Rate As Single​​ то появится ошибка,​​Прежде чем использовать переменную​ мы можем использовать​
  • ​час​​Логические операторы, как и​​ записываются в соответствующие​​Функции обработки массивов. К​
  • ​ Код выглядит следующим​​ Нажимают Enter.​​Именно с этими понятиями​​ которой надо посчитать​
​ и отредактировать текст​ ​ ошиблись — ошибка​​ Explorer. В этот​​ поступивших данных, заполнение​ . End Function​​ не исправив которую,​​ или константу, её​ переменную​
​Возвращает количество символов в​ ​n​ операторы сравнения, возвращают​ ячейки, поэтому нет​​ ним относятся Array,​​ образом.​​Теперь, когда уже запущена​​ нужно разобраться тем,​ НДС) как в​ макроса на VBA.​
​ будет записана. Однако​ ​ модуль обычно записываются​​ однообразных таблиц или​​Если переменная​ можно получить сбой​ нужно объявить. Для​sVAT_Rate​​ строке.​​минута​
​ логическое значение типа​ ​ необходимости их присваивания​ IsArray; LBound; UBound.​For i = 1​ запись макроса, производят​

​ кто собирается работать​​ случае с обычной​​Чтобы не запоминать сочетание​​ смело можете давить​​ макросы, которые должны​

​ бланков и т.д.​​sVAT_Rate​​ в работе программы.На​ этого в макрос​​для хранения ставки​​Пример:​s​Boolean​

  • ​Функции VBA Excel для​​ to 10 Next​
  • ​ копирование содержимого какой-либо​​ в среде VBA.​
​ функцией:​ ​ клавиш для запуска​ на кнопку отмены​

​ выполнятся при наступлении​​ Использование макросов и​​объявлена в начале​

​ первый взгляд, это​ ​ добавляют вот такую​ НДС на покупаемые​Len(«абвгдеж»)​

​секунда​​(True или False).​​Перед запуском созданной программы,​

​ строки. Это достаточно​ ​Команда переводится на «человеческий»​ ячейки в другую.​ Прежде всего необходимо​

​Command​​ макроса, лучше создать​​ последнего действия (Undo)​​ каких-либо событий в​​ пользовательских функций позволяет​​ функции​​ может показаться хорошей​

​ простую строку кода:​​ товары. Величина переменной​​возвращает число 7.​Пример:​​ Основные логические операторы​​ требуется сохранить рабочую​ многочисленная группа. В​​ язык, как «Повторять​​ Возвращаются на исходную​ понять, что такое​

​Функция Command применяется для​

  • ​ кнопку и назначить​​ — во время​
  • ​ книге (открытие или​​ автоматизировать эти операции,​
​Total_Cost​ ​ причиной, чтобы не​Dim​sVAT_Rate​​Month​​DateAdd(«d», 32, «01/01/2015»)​
​ Excel VBA перечислены​ ​ книгу, например, под​ нее входят, например,​
​ от 1 до​ ​ пиктограмму. Нажимают на​ объект. В Excel​ запуска приложения с​

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

​ объявлять переменные, но​​Имя_Переменной​​может изменяться в​Возвращает целое число, соответствующее​​добавляет 32 дня​​ в таблице ниже:​ названием «Отчет1.xls».​ функции Space для​ 10 с шагом​

​ «Запись макроса». Это​

  • ​ в этом качестве​​ различными опциями с​
  • ​ Кнопка может быть​​ она не просто​
​ файла и т.п.):​ ​ работу на плечи​ действия будет ограничена​ на самом деле,​

​As​​ зависимости от того,​​ месяцу в заданной​

​ к дате 01/01/2015​ ​Оператор Действие​Клавишу «Создать отчетную таблицу»​ создания строки с​
  • ​ действие означает завершение​​ выступают лист, книга,​
  • ​ использованием командной строки​​ нескольких типов:​
​ возрвращает Вас в​ ​Модуль листа​
​ Excel. Другим поводом​ ​ только этой функцией​ чем раньше выяснится,​

​Тип_Данных​​ что за товар​ дате.​ и, таким образом,​And​ требуется нажать всего​ числом пробелов, равных​Если ставится задача получить​ программки.​

​ ячейка и диапазон.​ ​Возвращаемое значение​Кнопка на панели инструментов​ предыдущее состояние, но​​- доступен через​​ для использования макросов​

​ (т.е. в пределах​ что одна из​В показанной выше строке​ приобретается.​Пример:​ возвращает дату 02/02/2015.​Операция конъюнкции, логический оператор​ 1 раз после​ целочисленному аргументу, или​ столбец с квадратами,​Далее:​

​ Данные объекты обладают​Функция возвращает параметры командной​
​ в Excel 2003​
​ и стирает последнюю​

​ Project Explorer и​

Переменные и константы в VBA

​ в вашей работе​ функции​ переменных получила не​ кода​Все переменные и константы​Month(«29/01/2015»)​DateAdd(«ww», 36, «01/01/2015»)​И​ ввода заголовочной информации.​ Asc для перевода​

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

​ те данные, которые​Имя_Переменной​ относятся к определённому​​возвращает значение 1.​​добавляет 36 недель​. Например, выражение​ Следует знать и​​ символов в код​​ чисел из диапазона​ «Макросы»;​ подчиняются друг другу.​ запуска программы(в окне​

Типы данных

​Откройте меню​ VBA.​ листа, т.е. правой​ добавить в Microsoft​, можно будет использовать​ должна была получить​– это имя​ типу данных. В​

​Mid​ к дате 01/01/2015​

​A And B​ ​ другие правила. В​ ​ ANSI. Все они​ от 1 до​в списке выбирают «Макрос​ ​Главным из них является​
​ запуска программы или​ ​Сервис — Настройка​ ​Чтобы включить запись необходимо:​ кнопкой мыши по​ ​ Excel недостающие, но​
​ переменную​ ​ – тем лучше!​ ​ переменной, которая будет​ таблице ниже приведены​ ​Возвращает заданное количество символов​
​ и возвращает дату​ ​возвратит​ ​ частности, кнопка «Добавить​ имеют широкое применение​ ​ 11, то пишем:​
​ 1»;​ ​ Application, соответствующий самой​ ​ в окне свойств​(Tools — Customize)​ ​в Excel 2003 и​
​ ярлычку листа -​ ​ нужные вам функции.​ ​sVAT_Rate​ Иначе, если программа​ ​ использована в коде,​
​ типы данных, используемые​ ​ из середины переданной​ ​ 09/09/2015.​True​ строку» должна нажиматься​ ​ и позволяют работать​
​For i = 1​ ​нажимают «Выполнить» (то же​ ​ программе Excel. Затем​ ярлыка в поле​и перейдите на​ старше — выбрать​ команда​ Например функцию сборки​, а за её​ продолжит работу, результаты​ ​ а​ в VBA, с​ строки. Синтаксис функции:​
​DateDiff​ ​, если​ ​ каждый раз после​ ​ со строками в​
​ to 10 step​ ​ действие запускается начатием​ ​ следуют Workbooks, Worksheets,​ Объект​ вкладку​ в меню​Исходный текст (View Source)​ ​ данных с разных​ пределами – нет).​ могут оказаться неверными​Тип_Данных​ описанием и диапазоном​
​Mid(​ ​Вычисляет количество определённых временных​ ​A​ ввода в таблицу​ «Эксель», создавая приложения,​ 1 Next.​ сочетания клавиш «Ctrl+hh»).​ а также Range.​Пример​Команды (Commands)​Сервис — Макрос -​ ​. Сюда записывают макросы,​ листов на один​

​При попытке использовать​ и неожиданными, а​– это один​ возможных значений:​строка​ интервалов между двумя​и​​ значений по каждому​​ значительно облегчающие работу​​Здесь step — шаг.​​В результате происходит действие,​​ Например, для обращения​​’ Пример передачи аргументов​​. В категории​​ Начать запись​ которые должны выполняться​ итоговый лист, разнесения​sVAT_Rate​ найти причину ошибок​ из типов данных​Тип данных Размер​,​

Объявление переменных и констант

​ заданными датами.​​B​ виду деятельности. После​ с этими таблицами.​ В данном случае​ которое было осуществлено​ к ячейке A1​ командной строки в​Макросы​(Tools — Macro -​ при наступлении определенных​
​ данных обратно, вывод​в другой процедуре,​ будет гораздо сложнее.Возможно​
​ из таблицы, приведённой​ Описание Диапазон значений​
​начало​​Пример:​​оба равны​
​ занесения всех данных​Функции преобразования типа данных.​

​ он равен двум.​ в процессе записи​ на конкретном листе​ функцию, ‘ которая​легко найти веселый​ Record New Macro)​

​ событий на листе​​ суммы прописью и​​ компилятор VBA сообщит​​ также, что макрос​

​ чуть ранее в​Byte​​,​​DateDiff(«d», «01/01/2015», «02/02/2015»)​True​ требуется нажать кнопку​ Например, CVar возвращает​​ По умолчанию отсутствие​​ макроса.​ следует указать путь​ возвращает их в​ желтый «колобок» -​в Excel 2007 и​

​ (изменение данных в​ т.д.​ об ошибке, так​

​ будет «успешно» выполнен.​ этой статье. Например:​1 байт​длина​вычисляет количество дней​

​, в противном случае​ «Закончить» и затем​ значение аргумента Expression,​

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

​Dim sVAT_Rate As​Положительные целые числа; часто​)​ между датами 01/01/2015​ возвратит​ переключиться в окно​ преобразовав его в​ цикле означает, что​​ выглядит код. Для​​Что касается понятия «коллекция»,​ ‘ содержащей массив​(Custom button)​

  1. ​ кнопку​ копирование или удаление​​- это запрограммированная​ не была объявлена​ останется незамеченной и​ Single Dim i​ используется для двоичных​где​​ и 02/02/2015, возвращает​​False​ «Эксель».​ тип данных Variant.​ шаг единичный.​ этого вновь переходят​ то это группа​ Function GetCommandLine(Optional MaxArgs)​:​Запись макроса (Record macro)​ листа и т.д.)​ последовательность действий (программа,​ за пределами функции​ работа продолжится с​ As Integer​ данных​​строка​​ результат 32.​.​​Теперь вы знаете, как​​Функции работы с датами.​​Полученные результаты нужно сохранять​​ на строку «Макросы»​ объектов того же​ ‘ Объявляем переменные​Перетащите ее к себе​​на вкладке​​Обычный макрос, введенный в​ процедура), записанная на​Total_Cost​ неверными данными!​Аналогично объявляются константы, но​​от 0 до 255​​– это исходная​DateDiff(«ww», «01/01/2015», «03/03/2020»)​
  2. ​Or​ решать задачи для​​ Они значительно расширяют​ в ячейки с​ и нажимают «Изменить»​ класса, которая в​​ Dim C, CmdLine,​​ на панель инструментов​Разработчик (Developer)​ стандартный модуль выглядит​ языке программирования Visual​(при условии, что​В связи с этим,​ при объявлении констант​Boolean​ строка,​вычисляет количество недель​​Операция дизъюнкции, логический оператор​​ Excel с помощью​ стандартные возможности «Эксель».​ номером (i,1). Тогда​ или «Войти». В​ записи имеет вид​ CmdLnLen, InArg, I,​​ и затем щелкните​​Затем необходимо настроить параметры​ примерно так:​ Basic for Applications​ использован оператор​ неверный тип данных​ обязательно сразу указывается​2 байта​начало​ между датами 01/01/2015​ИЛИ​ макросов. Умение применять​​ Так, функция WeekdayName​​ при каждом запуске​
  3. ​ результате оказываются в​ ChartObjects. Ее отдельные​​ NumArgs ‘ Проверка​ по ней правой​ записываемого макроса в​Давайте разберем приведенный выше​ (VBA). Мы можем​Option Explicit​ желательно обнаруживать и​ их значение. Например,​Может принимать значения либо​– позиция начала​ и 03/03/2020, возвращает​. Например, выражение​ vba excel (примеры​ возвращает название (полное​ цикла с увеличением​ среде VBA. Собственно,​ элементы также являются​ наличия MaxArgs If​ кнопкой мыши. В​ окне​ в качестве примера​ запускать макрос сколько​).​ как можно раньше​ вот так:​ True, либо False​ извлекаемой строки,​ результат 61.​A Or B​ программ см. выше)​ или частичное) дня​

​ i на величину​ сам код макроса​ объектами.​ IsMissing(MaxArgs) Then MaxArgs​ контекстом меню можно​Запись макроса​ макрос​ угодно раз, заставляя​В показанном выше примере​ исправлять такие ошибки​

Option Explicit

​Const iMaxCount =​​True или False​​длина​Day​возвратит​ может понадобиться и​ недели по его​ шага автоматически будет​ находится между строками​Следующее понятие — свойства.​ = 10 ‘​ назначить кнопке макрос,​:​Zamena​ Excel выполнять последовательность​ переменная объявлена на​

​ 5000 Const iMaxScore​​Integer​​– количество символов,​Возвращает целое число, соответствующее​True​ для работы в​ номеру. Еще более​ расти и номер​​ Sub Макрос1() и​​ Они являются необходимой​ Задание корректной размерности​

​ выбрать другой значок​

  • ​Имя макроса​:​​ любых нужных нам​​ уровне модуля при​​ этим причинам при​
  • ​ = 100​2 байта​​ которые требуется извлечь.​
  • ​ дню месяца в​​, если​​ среде самого популярного​​ полезной является Timer.​

​ у строки. Таким​​ End Sub.​​ характеристикой любого объекта.​ массива ReDim ArgArray(MaxArgs)​ и имя:​

Область действия переменных и констант

​- подойдет любое​Любой макрос должен начинаться​ действий, которые нам​ помощи ключевого слова​ написании макроса VBA​Объявлять переменные в Excel​Целые числа (нет дробной​Пример:​ заданной дате.​A​ на данный момент​ Он выдает число​​ образом, произойдет оптимизация​​Если копирование было выполнено,​ Например, для Range​​ NumArgs = 0:​​Кнопка на панели быстрого​ имя на русском​ с оператора​​ не хочется выполнять​​Dim​ рекомендуется объявлять все​ не обязательно. По​

​ части)​Mid(«абвгдежзиклмн», 4, 5)​Пример:​или​ ​ текстового редактора «Ворд».​​ секунд, которые прошли​​ кода.​ например, из ячейки​ — это Value​ InArg = False​ доступа в Excel​​ или английском языке.​​Sub​ вручную.​. Однако, бывает необходимо,​

​ переменные.​​ умолчанию все введённые,​​от -32 768 до +32 767​​возвращает строку «гдежз»;​​Day(«29/01/2015»)​B​ В частности, можно​ с полуночи до​В целом код будет​ А1 в ячейку​​ или Formula.​​ ‘ Получаем аргументы​ 2007 и новее​

​ Имя должно начинаться​, за которым идет​В принципе, существует великое​ чтобы объявленными переменными​Оператор​​ но не объявленные​​Long​

​Mid(«абвгдежзиклмн», 10, 2)​возвращает число 29.​равны​ путем записи, как​ ​ конкретного момента дня.​​ выглядеть, как:​​ C1, то одна​Методы — это команды,​​ командной строки CmdLine​​Щелкните правой кнопкой мыши​ с буквы и​ имя макроса и​ множество языков программирования​ можно было пользоваться​​Option Explicit​​ переменные в Excel​4 байта​​возвращает строку «кл».​​Hour​True​

​ показано в самом​​Функции для преобразования числового​​Sub program()​ из строк кода​ показывающие, что требуется​ = Command() CmdLnLen​ по панели быстрого​ не содержать пробелов​​ список аргументов (входных​​ (Pascal, Fortran, C++,​ в других модулях.​​заставляет объявлять все​​ будут иметь тип​

​Большие целые числа (нет​Minute​Возвращает целое число, соответствующее​, и возвратит​​ начале статьи, или​​ аргумента в разные​For i = 1​ будет выглядеть, как​ сделать. При написании​ = Len(CmdLine) ‘​ доступа в левом​ и знаков препинания.​​ значений) в скобках.​​ C#, Java, ASP,​ В таких случаях​​ переменные, которые будут​​Variant​

​ дробной части)​Возвращает целое число, соответствующее​ количеству часов в​False​​ через написание кода​​ системы счисления. Например,​ To 10 Step​​ Range(“C1”).Select. В переводе​​ кода в VBA​ Анализ всех символов​ верхнем углу окна​Сочетание клавиш​ Если аргументов нет,​

​ PHP. ), но для​ для объявления переменной​ использованы в коде​​и смогут принять​​от -2 147 483 648 до +2 147 483 647​​ количеству минут в​​ заданном времени.​, если​​ создавать кнопки меню,​​ Oct выдает в​ 1 (можно записать​

​ это выглядит, как​ их необходимо отделять​​ командной строки For​​ Excel и выберите​​- будет потом​​ то скобки надо​ всех программ пакета​ вместо ключевого слова​

​ VBA, и при​ как числовое, так​Single​ заданном времени.Пример:​ ​Пример:​A​​ благодаря которым многие​​ восьмеричное представление числа.​ просто For i​​ «Диапазон(“C1”).Выделить», иными словами​​ от объекта точкой.​​ I = 1​​ команду​ использоваться для быстрого​ оставить пустыми.​ Microsoft Office стандартом​

​Dim​​ компиляции выделяет все​​ и текстовое значение.​​4 байта​​Minute(«22:45:15»)​Hour(«22:45:00»)​

​и​ операции над текстом​Функции форматирования. Важнейшей из​ = 1 To​ ​ осуществляет переход в​ Например, как будет​​ To CmdLnLen C​​Настройка панели быстрого доступа​​ запуска макроса. Если​​Любой макрос должен заканчиваться​​ является именно встроенный​​нужно использовать ключевое​ не объявленные переменные​Таким образом, программист в​

​Число с плавающей точкой​​возвращает значение 45.​​возвращает число 22.​​B​​ можно будет осуществлять​ них является Format.​ 10)​ VBA Excel, в​ показано в дальнейшем,​ = Mid(CmdLine, I,​

​ (Customise Quick Access​ забудете сочетание или​
​ оператором​
​ язык VBA. Команды​

Создание макросов и пользовательских функций на VBA

Введение

​ как ошибки (прежде​ любой момент сможет​ одинарной точности​Now​InStr​оба равны​ нажатием дежурных клавиш​ Она возвращает значение​Cells(i, 1).Value = i​ ячейку С1.​ очень часто при​ 1) ‘ Проверка​ Toolbar)​ вообще его не​End Sub​ этого языка понимает​Public​ чем будет запущено​ использовать новую переменную​от -3.4e38 до +3.4e38​Возвращает текущую системную дату​Принимает в качестве аргументов​False​ или через вкладку​ типа Variant с​ ^ 2 (т.е.​Активную часть кода завершает​ программировании в «Эксель»​ наличия пробела или​:​ введете, то макрос​.​ любое офисное приложение,​.​ выполнение кода). Применить​

​ (даже если она​​Double​ и время.​ целое число и​.​ «Вид» и пиктограмму​ выражением, отформатированным согласно​ в ячейку (i,1)​ команда ActiveSheet.Paste. Она​ используют команду Cells(1,1).Select.​ табуляции If (C​Затем в открывшемся окне​ можно будет запустить​Все, что находится между​

​ будь то Excel,​Кстати, для того, чтобы​ этот оператор не​ не была объявлена),​8 байт​Right​ две строки. Возвращает​Not​ «Макросы».​ инструкциям, которые заданы​ записывается значение квадрата​ означает запись содержания​ Она означает, что​ <> » «​

Способ 1. Создание макросов в редакторе Visual Basic

​ выберите категорию​ через меню​Sub​ Word, Outlook или​ объявить переменную на​ сложно – просто​ и Excel будет​

  • ​Число с плавающей точкой​Возвращает заданное количество символов​ позицию вхождения второй​Операция отрицания, логический оператор​​Автор: Наира​ в описании формата.​​ i)​ выделенной ячейки (в​​ необходимо выбрать ячейку​
  • ​ And C <>​Макросы​Сервис — Макрос -​и​​ Access.​​ уровне модуля, вместо​​ запишите в самом​ рассматривать её как​ двойной точности​ от конца переданной​​ строки внутри первой,​НЕ​При написании кода VBA​​и пр.​​Next (в некотором смысле​ данном случае А1)​ с координатами (1,1)​ vbTab) Then ‘​и при помощи​ Макросы — Выполнить​End Sub​​Для ввода команд и​​ ключевого слова​

    ​ верху файла VBA​

​ переменную типа​от -1.8e308 до +1.8e308​ строки. Синтаксис функции:​ начиная поиск с​. Например, выражение​ в Excel набор​Изучение свойств этих функций​ играет роль счетчика​

​ в выделенную ячейку​ т.е. A1.​ пробел и табуляция​ кнопки​(Tools — Macro -​- тело макроса,​ формирования программы, т.е.​Dim​ такую строку:​Variant​Currency​Right(​ позиции, заданной целым​Not A​ встроенных операторов используют​ и их применение​ и означает еще​ С1.​Вместе с ней нередко​ не обнаружены ‘​Добавить (Add)​

    ​ Macros — Run)​​ т.е. команды, которые​ создания макроса необходимо​можно использовать ключевое​Option Explicit​. Однако, есть несколько​8 байт​​строка​​ числом.​возвратит​ на каждом шагу.​ позволит значительно расширить​ один запуск цикла)​Циклы VBA помогают создавать​ используется Selection.ClearContents. Ее​ Проверка наличия аргумента​перенесите выбранный макрос​или с помощью​

​ будут выполняться при​​ открыть специальное окно​ слово​Если хотите всегда вставлять​ причин, почему так​Число с плавающей точкой,​,​Пример:​True​ Эти операторы делятся​ сферу применения «Эксель».​End Sub.​ различные макросы в​ выполнение означает очистку​

​ If Not InArg​​ в правую половину​ кнопки​ запуске макроса. В​ — редактор программ​Private​Option Explicit​ поступать не следует:​​ с фиксированным количеством​​длина​InStr(1, «Вот искомое слово»,​, если​ на математические, строковые,​Попробуем перейти к решению​Если все сделано правильно,​ Excel.​ содержимого выбранной ячейки.​

​ Then ‘ Начало​ окна, т.е. на​Макросы (Macros)​

​ данном случае макрос​ на VBA, встроенный​, которое укажет на​​в начало каждого​​Использование памяти и скорость​

  • ​ десятичных разрядов​)​​ «слово»)​​A​ операторы сравнения и​ более сложных задач.​ в том числе​Циклы VBA помогают создавать​Прежде всего требуется создать​ нового аргумента ‘​
  • ​ панель быстрого доступа:​на вкладке​​ выделяет ячейку заливает​​ в Microsoft Excel.​
  • ​ то, что данная​​ нового созданного модуля​​ вычислений.​​от -922 337 203 685 477.5808 до +922 337 203 685 477.5807​​Где​возвращает число 13.​равно​ логические. Далее мы​ Например:​ запись и запуск​ различные макросы. Предположим,​ файл и сохранить​ Проверка количества аргументов​Кнопка на листе​Разработчик (Developer)​ выделенных диапазон (Selection)​В старых версиях (Excel​ переменная предназначена для​ VBA, то это​

​Если не объявлять​Date​строка​InStr(14, «Вот искомое слово,​False​ подробно рассмотрим каждую​Дан бумажный документ отчета​ макроса (см. инструкцию​ что имеется функция​ его, присвоив имя​ If NumArgs =​Этот способ подходит для​или нажав ALT+F8.​ желтым цветом (код​ 2003 и старше)​ использования только в​ можно делать автоматически.​ переменную с указанием​8 байт​

Способ 2. Запись макросов макрорекордером

​– это исходная​​ а вот еще​, или возвратит​ группу операторов.​ фактического уровня издержек​ выше), то при​ y=x + x2​ и выбрав тип​ MaxArgs Then Exit​ любой версии Excel.​Сохранить в. ​ = 6) и​ для этого идем​ текущем модуле.​ Для этого необходимо​ типа данных, то​Дата и время –​ строка, а​ искомое слово», «слово»)​False​Основные математические операторы VBA​ предприятия. Требуется:​ его вызове каждый​ + 3×3 –​ «Книга Excel с​ For NumArgs =​ Мы добавим кнопку​- здесь задается​ затем проходит в​ в меню​Для объявления констант также​ включить параметр​ по умолчанию для​ данные типа Date​длина​возвращает число 38.​

  • ​, если​ перечислены в таблице​разработать его шаблонную часть​ раз будет получаться​ cos(x). Требуется создать​ поддержкой макросов».​ NumArgs + 1​ запуска макроса прямо​
  • ​ место, куда будет​ цикле по всем​Сервис — Макрос -​ можно использовать ключевые​Require Variable Declaration​ неё будет установлен​ представлены числом с​– это количество​Примечание:​A​ ниже.​ посредством табличного процессора​
  • ​ столбец заданного размера​ макрос для получения​Затем необходимо перейти в​ InArg = True​ на рабочий лист,​ сохранен текст макроса,​ ячейкам, заменяя формулы​ Редактор Visual Basic​ слова​в настройках редактора​ тип​ плавающей точкой. Целая​ символов, которые надо​Аргумент-число может быть​равно​

​В правом столбце таблицы​

  • ​ «Эксель»;​ (в данном случае​ ее графика. Сделать​​ приложение VB, для​ End If ‘​​ как графический объект.​ т.е. набор команд​
  • ​ на значения. В​(Toos — Macro -​Public​​ VBA.​​Variant​​ часть этого числа​

​ извлечь, считая от​ не задан, в​True​​ указан приоритет операторов,​​составить программу VBA, которая​

  • ​ состоящий из 10​​ это можно только,​ чего достаточно воспользоваться​ Добавляем символ к​ Для этого:​ на VBA из​ конце выводится окно​ Visual Basic Editor)​
  • ​и​​Это делается так:​. Этот тип данных​ выражает дату, а​ конца заданной строки.​ таком случае поиск​.​ принятый по умолчанию​ будет запрашивать исходные​​ ячеек).​ используя циклы VBA.​​ комбинацией клавиш «Alt»​ текущему аргументу ArgArray(NumArgs)​​В Excel 2003 и​ которых и состоит​​ сообщения (MsgBox).​​.​​Private​​В меню редактора Visual​
  • ​ использует больше памяти,​​ дробная часть –​Пример:​ начинается с первого​В приведённой выше таблице​ при отсутствии скобок.​ данные для ее​В повседневной жизни сплошь​
    • ​За начальное и конечное​​ и «F11». Далее:​ = ArgArray(NumArgs) &​ старше — откройте​ макрос.:​С ходу ясно, что​В новых версиях (Excel​, но не вместо​
    • ​ Basic нажмите​​ чем другие типы​ время​Right(«абвгдежзиклмн», 4)​ символа строки, заданной​ перечислены не все​ Добавляя в выражение​ заполнения, осуществлять необходимые​ и рядом возникает​ значение аргумента функции​в строке меню, расположенном​ C Else ‘​
    • ​ панель инструментов​​Эта книга​ вот так сразу,​ 2007 и новее)​​ ключевого слова​​Tools​ данных.Казалось бы, несколько​от 1 Января 100​​возвращает строку «клмн»;​​ во втором аргументе​ логические операторы, доступные​ скобки, можно изменять​ расчеты и заполнять​ необходимость принять то​ берут x1=0 и​

​ в верхней части​ Если найден символ​Формы​- макрос сохраняется​​ без предварительной подготовки​ ​ для этого нужно​​Const​

Запуск и редактирование макросов

​>​ лишних байт на​ до 31 Декабря​Right(«абвгдежзиклмн», 1)​​ функции.​​ в VBA. Полный​​ порядок выполнения операторов​​ ими соответствующие ячейки​ или иное решение​ x2=10. Кроме того,​​ окна, нажимают на​ пробела или табуляции,​ ​через меню​ в модуль текущей​​ и опыта в​

  • ​ сначала отобразить вкладку​, а вместе с​Options​​ каждую переменную –​​ 9999​​возвращает строку «н».​
  • ​Int​​ список логических операторов​​ VBA по своему​​ шаблона.​ в зависимости от​ необходимо ввести константу​ иконку рядом с​
  • ​ ‘ устанавливаем флаг​​Вид — Панели инструментов​​ книги и, как​​ программировании вообще и​Разработчик (Developer)​ ним.​В появившемся диалоговом окне​ не так уж​

Создание кнопки для запуска макросов

​Object​Second​Возвращает целую часть заданного​ можно найти на​ желанию.​Рассмотрим один из вариантов​ какого-то условия. Не​

​ — значение для​ иконкой Excel;​ InArg flag в​

​ — Формы (View​​ следствие, будет выполнятся​ ​ на VBA в​​. Выбираем​В следующих примерах показано​​ откройте вкладку​​ много, но на​​4 байта​​Возвращает целое число, соответствующее​ числа.​​ сайте Visual Basic​ ​Оператор Действие Приоритет​​ решения.​

​ обойтись без них​ шага изменения аргумента​выбирают команду Mudule;​ False InArg =​ — Toolbars -​ только пока эта​ частности, сложновато будет​Файл — Параметры -​ использование ключевых слов​

​Editor​ практике в создаваемых​Ссылка на объект​

​ количеству секунд в​Пример:​ Developer Center.​(1 — высший;​Все действия осуществляются на​ и в VBA​​ и начальное значение​сохраняют, нажав на иконку​ False End If​​ Forms)​

​ книга открыта в​ сообразить какие именно​​ Настройка ленты (File​​Public​Отметьте галочкой параметр​​ программах могут быть​​Любая ссылка на объект​ заданном времени.​Int(5.79)​В VBA доступно множество​

​ 5 — низший)​

​ стандартном листе в​ Excel. Примеры программ,​ для счетчика.​ с изображением floppy​ Next I ‘​В Excel 2007 и​ Excel​

  • ​ команды и как​ — Options -​и​​Require Variable Declaration​​ тысячи переменных (особенно​​String​Пример:​возвращает результат 5.​ встроенных функций, которые​
  • ​^​ Excel. Резервируются свободные​ где дальнейший ход​​Все примеры макросов VBA​​ disk;​​ Меняем размер массива​​ новее — откройте​

​Новая книга​​ надо вводить, чтобы​

​ Customize Ribbon)​Private​и нажмите​ при работе с​изменяется​Second(«22:45:15»)​Isdate​ могут быть использованы​

Создание пользовательских функций на VBA

​Оператор возведения в степень​ ячейки для внесения​ выполнения алгоритма выбирается,​ Excel создаются по​пишут, скажем так, набросок​ ReDim Preserve ArgArray(NumArgs)​ выпадающий список​- макрос сохраняется​ макрос автоматически выполнял​и включаем в​в применении к​ОК​ массивами). Поэтому излишняя​Набор символов. Тип String​возвращает значение 15.​Возвращает​ при написании кода.​1​ данных по месяцу,​ а не предопределен​

​ той же процедуре,​ кода.​ ‘ Возвращает массив​Вставить (Insert)​ в шаблон, на​ все действия, которые,​ правой части окна​​ переменным и к​​При включенном параметре строка​ память, используемая переменными​

​ может иметь фиксированную​Sqr​True​​ Ниже перечислены некоторые​​*​​ году, названию компании-потребителя,​​ изначально, чаще всего​ которая представлена выше.​Он выглядит следующим образом:​​ в качестве имени​​на вкладке​ основе которого создается​ например, Вы делаете​ флажок​ константам.​​Option Explicit​​ типа​​ или изменяющуюся длину.​​Возвращает квадратный корень числовой​

​, если заданное значение​ из наиболее часто​Оператор умножения​ сумме издержек, их​ используют конструкцию If​ В данном конкретном​Sub program ()​

Функция Command

​Разработчик (Developer)​ любая новая пустая​ для создания еженедельного​Разработчик (Developer)​

​Option Explicit Public sVAT_Rate​

​будет автоматически вставляться​Variant​ Чаще используется с​ величины, переданной в​ является датой, или​ используемых:​2​

​ уровня, товарооборота. Так​

​ …Then (для сложных​ случае код выглядит,​’Наш код​ ArgArray() End Function​ ​ книга в Excel,​ отчета для руководства​. Теперь на появившейся​ As Single Public​ в начало каждого​, по сравнению с​ изменяющейся длиной​ аргументе.​False​Функция Действие​/​ как количество компаний​ случаев) If …Then​ как:​End Sub​Категория​Выберите объект​ т.е. макрос будет​ компании. Поэтому мы​ вкладке нам будут​ Const iMax_Count =​ нового созданного модуля.​ переменными типа​Фиксированной длины — приблизительно​Пример:​– если датой​Abs​Оператор деления​ (обществ), относительно которых​ …END If.​Sub programm()​Обратите внимание, что строка​Функции обработки системных​Кнопка (Button):​ содержаться во всех​ переходим ко второму​ доступны основные инструменты​ 5000 . ​Каждая объявленная переменная или​Integer​ до 65 500 символов.​Sqr(4)​ не является.​Возвращает абсолютную величину заданного​2​ составляется отчет, не​Рассмотрим конкретный случай. Предположим,​x1 = 1​ «’Наш код» будет​ параметров​Затем нарисуйте кнопку на​ новых книгах, создаваемых​ способу создания макросов,​ для работы с​В этом примере ключевое​ константа имеет свою​или​ Переменной длины —​

​возвращает значение 2;​
​Пример:​ числа.​

Краткие описания основных функций и команд vb (для начинающих)

11 — ярко — голубой

15 — ярко — белый

Пример. SCREEN 9: CLS

Tr$ = «C7 E10 F10 L20 C3 BR10 BU5 P2,7»

DRAW «BM50,50 X» + VARPTR$(Tr$)

DRAW «BM80,50 X» + VARPTR$(Tr$)

DRAW «BM110,50 X» + VARPTR$(Tr$)

Первая строка устанавливает вид экрана и его очистку. Во второй строке в переменную Tr$ заносится прорисовка треугольника. В третьей строке производится с помощью оператора DRAW установка курсора с координатами ( 50,50 ) без прорисовки линии, по которой курсор перемещался. Далее находится символ « Х », который обозначает, что за ним будут исполняться команды из переменной. Далее в переменную вводится значение цвета линии — белый ( С7 ), перемещение курсора вверх и вправо на 10 пикселов ( Е10 ), вниз и вправо ( F10 ), влево на 20 пикселов ( L20 ), установка цвета — голубой ( C3 ), перемещение курсора вправо на 10 пикселов без прорисовки пути курсора ( BR10 ), наверх на 5 пикселов без прорисовки, попадая внутрь треугольника ( BU5 ), закрашивание зеленым цветом и границы белым цветом, а точнее внутренности треугольника зеленым цветом до его границы ( P2,7 ). В четвертой строке происходит установка курсора с координатами ( 80,50 ) и прорисовка треугольника, как было описано выше. В пятой строке производится установка курсора с координатами ( 110,50 ) и прорисовка треугольника, как описано выше.

$DYNAMIC — определение массивов, которые находятся за этим оператором как динамические. Для динамических массивов можно освобождать память, которые они занимают при помощи команды ERASE . Данный оператор используется для программ, которые занимают много оперативной памяти.

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

END, END DEF, END FUNCTION, END IF, END SELECT, END SUB, END TYPE — конец блока, программы и так далее, а именно: END — конец программы с закрытием всех файлов, END DEF — конец функции, END FUNCTION — конец функции, END IF — конец условия IF, END SELECT — конец блока CASE, END SUB — конец подпрограммы, END TYPE — конец определения пользовательских данных. Примеры с использованием данных операторов см. в описании соответствующих блоков.

ENVIRON — работает с переменными окружения системы ДОС. Эти переменные можно встретить в файле Autoexec.bat.

EOF — признак, который принимает два значения: True (или 1), если достигнут конец файла и False (или 0), если конец файла не достигнут.

OPEN f1$ FOR OUTPUT AS #1

OPEN f1$ FOR INPUT AS #1

В данном примере организуется файл под именем « Rab.txt », в который заносятся десять последовательных чисел от 1 до 10, а затем из данного файла они считываются до тех пор, пока не будет обнаружен конец файла ( DO UNTIL (EOF(1)) ). Единица в данной записи обозначает номер файла, который нужно проверять на признак конца файла.

ERASE — очистка массива или освобождение динамической памяти. Под очисткой массива подразумевается установка в каждом из элементов массива нулевых значений. Если массив был определен как динамический, то происходит освобождение памяти, выделенной под него.

PRINT » До команды Erase: «; m m1%(5)

PRINT » После выполнения Erase: «; m m 1%(5)

В данном примере во второй строке определяется массив m1% , в котором находится десять элементов. Оператор на первой строке свидетельствует о том, что данный массив будет динамическим. Далее, в пятый элемент массива заносится значение « 6 », оно выводится на экран дисплея. Команда ERASE освобождает память, которая была выделена под массив m1% . Поэтому в следующем операторе не будет выведено значение пятого элемента массива m1% , так как такого элемента не существует и на экране появится сообщение об этом.

Если убрать оператор на первой строке ( ‘$DYNAMIC ), то на экран будет выведено значение пятого элемента массива m1% , а именно 0, так как команда ERASE для динамических массивов обнуляет все элементы массива, а для символьных массивов делает элементы массива нулевой длины, то есть отсутствие символов.

ERDEV — возвращает код ошибки устройства, которое возникает в устройстве при появлении серьезной ошибки.

ON ERROR GOTO err1

20 a$ = «c:\ncc»: CHDIR a$

50 PRINT «y =»; y; » x = «; x

err1: PRINT «Ошибка — «; ERR; » на линии — «; ERL

SELECT CASE ERR

CASE 71: PRINT » Устройство — «; ERDEV$; » код ошибки — «; ERDEV

CASE 76: PRINT «Не найдена директория — «; a$: RESUME NEXT

CASE 11: INPUT » Какое значение должно быть делимым — «; y: RESUME

CASE ELSE: PRINT » Другие ошибки. Номер — «; ERR: END

Первая строка данного примера содержит оператор, который определяет, что при возникновении ошибки должна выполняться подпрограмма « err1 ». Далее находится текст основной программы, в которых присутствуют номера строк от 10 до 60. В строке с номером 10 происходит установка корневой директории на CD-ROM устройстве. Так как в момент выполнения программы там не находилось компакт-диска, то программа выдает ошибку под номером 71. При этом начинает работать подпрограмма « err1 » для обработки ошибки. В этой подпрограмме вначале печатается возникший код ошибки и номер строки (« PRINT «Ошибка — «; ERR; » на линии — «; ERL »), то есть для данного случая: ошибка под номером 71 на строке с номером 10. Далее происходит обработка ошибки, при этом на экран выдается имя устройства, где была ошибка ( Е: ) и код ошибки ( 20 ). Этот код не совпадает с кодами ошибок языка Бейсик и является разным для разных устройств. По команде « RESUME NEXT » происходит переход выполнения программы на следующую строчку, в данном случае на строчку с номером 20.

В строке 20 производится установка новой директории, а так как ее не существует, то вызывается подпрограмма « err1 ». В подпрограмме происходит обработка данной ошибки при помощи оператора: « CASE 76: PRINT «Не найдена директория — «; a$: RESUME NEXT ».

В строке под номером 40 возникает ошибка деления на ноль, поэтому также вызывается подпрограмма « err1 », в которой происходит запрос на новое делимое и по команде « RESUME » происходит повторное выполнение оператора на строке 40 (« CASE 11: INPUT » Какое значение должно быть делимым — «; y: RESUME »).

В строке 60 имеется ошибка пользователя под номером 41, которая также вызывает подпрограмму « err1 ». Так как в подпрограмме нет отдельной обработки по операторам « CASE », то выполняется оператор печати номера ошибки (« CASE ELSE: PRINT » Другие ошибки. Номер — «; ERR: »). В данной строке нет оператора « RESUME », при этом программа прекращает выполнение своей работы.

Ниже приведены коды ошибок языка Бейсик, которые могут встретиться при работе с программами:

1- имеется NEXT без FOR

2- синтаксическая ошибка

3- имеется RETURN без GOSUB

4- считывание DATA , которое закончилось

5- неверный вызов функции

7- выход за пределы памяти

8- метка не определена

9- индекс вне диапазона

10 — двойное определение

11 — деление на ноль

12 — неверно в прямом доступе

13 — тип смешан неверно

14 — выход за пределы строки

16 — символьная строка слишком сложная

17 — недопустимое продолжение

18 — функция не определена

19 — нет оператора RESUME

20 — RESUME без ошибки

24 — время устройства исчерпано

25 — неверное устройство

26 — оператор FOR без NEXT

27 — бумага кончилась

29 — оператор WHILE без WEND

30 — оператор WEND без WHILE

33 — двойное определение метки

35 — подпрограмма не определена

37 — неверное количество аргументов

38 — массив не определен

40 — требуется переменная

50 — переполнение FIELD

51 — внутренняя ошибка

52 — неверный файл или его номер

53 — файл не найден

54 — неверный режим для файла

55 — файл уже открыт

56 — FIELD уже действует

57 — ошибка ввода/вывода

58 — файл уже существует

59 — неверная длина записи

62 — ввод данных при достижении конца файла

63 — неверный номер записи

64 — неверное имя файла

67 — слишком много файлов

68 — устройство недоступно

69 — переполнение буфера

70 — доступ запрещен

71 — диск не готов

72 — ошибка в компакт-диске

73 — недоступный параметр

74 — диск переименован

75 — ошибка доступа к файлу/пути

76 — путь не найден

ERDEV$ — возвращает имя устройства, которое использовалось последним при работе программы (пример см. в функции ERDEV ).

ERR — переменная, содержащая код ошибки, который возникает при работе программы (пример см. в функции ERDEV ).

ERL — возвращает код строки, в которой встретилась ошибка, если линии пронумерованы. Если не пронумерованы, то возвращает значение ноль (пример см. в функции ERDEV ).

ERROR – признак, имеется ли ошибка в программе (пример см. в функции ERDEV ).

EXIT DEF, EXIT DO, EXIT FOR, EXIT FUNCTION, EXIT SUB — выход из блока, программы и так далее, а именно: EXIT DEF — выход из функции, EXIT FUNCTION — выход из функции, EXIT IF — выход из блока IF, EXIT SELECT — выход из блока CASE, EXIT SUB — выход из подпрограммы. Пример применения оператора « EXIT DO » см. в описании « DO… LOOP ».

EXP — возвращает значение экспоненты. Обратная операция к логарифму.

Пример. PRINT EXP(1), EXP(2)

FIELD — определяет поля для файла произвольного доступа.

OPEN «FILE1.DAT» FOR RANDOM AS #1 LEN = 10

FIELD #1, 5 AS s1$, 5 AS s2$

OPEN «FILE1.DAT» FOR RANDOM AS #1 LEN = 10

FIELD #1, 5 AS s3$, 5 AS s4$

В данном примере в первой строке открывается файл с произвольным доступом под именем « FILE1.DAT ». Файлом с произвольным методом доступа называется файл, в котором в любой момент времени можно обратиться к любой записи по ее номеру. Также в первой строке указывается длина каждой записи в файле — 10 байт. Далее находится оператор « FIELD », в котором определяются поля для каждой записи, в данном примере два поля по 5 байт. В каждое поле заносится значение при помощи операторов LSET и RSET , причем оператором LSET происходит заполнение левых позиций поля, а в правой незаполненной части будут пробелы, а RSET производит заполнение правой части поля. После этого заполненные поля заносятся в запись в файле под номером 1 (« PUT #1, 1 »). Далее этот файл закрывается, открывается, считывается запись под номером 1 и выводится на экран дисплея. На самом деле не обязательно закрывать и открывать файл заново, а сделано для того, чтобы показать, что эти значения взяты из этого файла.

FILEATTR — выдает информацию о типе открытого файла. Выданное значение может быть: 1 — последовательный для ввода данных ( INPUT ), 2 — последовательный для вывода данных ( OUTPUT ), 4 — произвольного доступа ( RANDOM ), 8 — последовательный для добавления данных ( APPEND ), 32 — двоичный ( BINARY ).

OPEN «FILE1.DAT» FOR RANDOM AS #1 LEN = 20

FIELD #1, 10 AS s1$, 10 AS s2$

PRINT FILEATTR(1, 1) ((4))

Результат данного примера будет значение 4, которое обозначает файл произвольного доступа.

FILES — вывод имен всех файлов в директории.

Примеры. 1. FILES 2. FILES “*.doc” 3. FILES “C:\*.*”

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

F IX — перевод вещественного числа в целое, при котором происходит не округление, а отсечение целой части числа.

Пример. PRINT FIX(23.19), FIX(23.99) ((12 12))

FOR — организация цикла, в котором по заданным правилам меняется переменная.

Примеры. 1. FOR i1% = 1 TO 5: PRINT i1%,: NEXT i1% ((1 2 3 4 5))

2. FOR i1% = 0 TO -5 STEP -1: PRINT i1%,: NEXT i1% ((0 -1 -2 -3 -4 -5))

3. FOR i1 = 1 TO 1.5 STEP 0.1: PRINT i1%,: NEXT i1% ((1 1.1 1.2 1.3 1.4 1.5))

FRE — выводит на экран количество имеющейся памяти.

Примеры. 1. PRINT FRE(“”) ((30788)) 2. PRINT FRE(-1) ((160100))) 3. PRINT FRE(-2) ((1052)) 4 . i1%=-1: PRINT FRE(i1%)

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

FREEFILE — выводит следующий свободный номер файла.

Пример. OPEN «Rab.txt» FOR INPUT AS #1

PRINT «Следующий номер файла — «; FREEFILE

В примере на экран будет выведено значение « 2 », так как открыт только один файл с номером #1 .

FUNCTION — определение функции.

DECLARE FUNCTION aa! (t%)

DECLARE FUNCTION aa1! (t1%)

i3% = aa1(i1%): i3% = aa1(i1%)

FUNCTION aa1 (t1%) STATIC

t1% = t2% + t1%: t1% = t1% + 4

В данном примере определены две функции — аа и аа1 . Для того, чтобы установить новую функцию, необходимо после набора или во время набора текста основной программы воспользоваться режимом Edit  New FUNCTION . При этом произойдет запрос на имя новой функции, как это показано на рисунке. В окне будет находиться имя переменной или оператора, на котором в момент вызова данного режима находился курсор. Лучше вызывать данный режим после набора имени функции, которая находится в тексте основной программы, при этом ее имя будет показано в этом окне. После ввода имени функции и нажатия на клавишу Enter, появится окно с двумя операторами, между которыми следует набрать описание функции. При этом следует иметь в виду следующее.

В операторе FUNCTION после набора имени находится список параметров, которые передаются функции. Например, « FUNCTION aa (t%) », где передаваемые величины содержат один параметр — переменную t% . Имя данной переменной может не совпадать с именем переменной, которая передается функции. Например, вызов функции в виде « i2% = aa(i1%) » показывает, что передается переменная i1% , которая при выполнении функции совмещается с переменной t% . Далее в тексте функции должна находиться строка типа: « aa = t% + 1 », в которой имени функции присваивается некоторое значение. Эта строка свидетельствует о том, что функция возвращает значение « t% + 1 ». Заканчивается определение функции ключевыми словами « END FUNCTION ». После набора определения функции можно перейти к тексту основной программы, нажав на клавишу F2. При этом покажется окно (см. рис. 2), в котором находится имя основной программы ( Prim28.bas ) и имеющиеся подпрограммы ( аа и аа1 ). Нажав на имя основной программы, мы перейдем в его поле. Кнопка Delete позволяет удалить выделенную подпрограмму.

Ключевое слово « STATIC » в определении функции означает, что переменные, которые обозначены в функции, сохраняют свои значения после выхода из функции и в последующем при входе в нее. Если данное слово убрать, то результатом работы программы будет: (( 5 6 13 )). Таким образом, если присутствует ключевое слово « STATIC », то в переменной t2% после первого выполнения функции аа1 сохраняется значение 2 , а при втором вызове функции оно добавится к значению переменной t1% . Если данного ключевого слова нет, то в переменной t2% значение 2 не сохранится и в переменной будет находиться значение 0.

После запуска программы на выполнение, в основной программе появятся строчки, которые свидетельствуют о том, что в программе имеются функции: « DECLARE FUNCTION aa! (t%) » и « DECLARE FUNCTION aa1! (t1%) ». Восклицательный знак в них означает о типе переменной, в которую возвращаются значения. Так, в строке « i2% = aa(i1%) », « aa(i1%) » будет вещественным числом простой точности.

Параметры в функции можно определить и другим способом: « FUNCTION aa (t AS LONG) ». В этом случае вид аргумента функции будет целым числом двойной точности. Можно также использовать следующие ключевые слова, определяющие вид переменной: INTEGER, LONG, SINGLE, DOUBLE, STRING .

GET — 1. считывает значения из файла произвольного доступа. Пример использования данного оператора см. в описании FIELD .

GET — 2. сохраняет область на экране в памяти, которая потом может быть выведена на экран при помощи оператора PUT .

Илон Маск рекомендует:  Custom cursors в net
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL