Установка среды обработки ошибок и событий — КиберПедия 

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Установка среды обработки ошибок и событий

2022-10-29 20
Установка среды обработки ошибок и событий 0.00 из 5.00 0 оценок
Заказать работу

2.12.1. Установка среды обработки ошибок ‑ On Error

Командой On Error Goto <метка> при возникновении ошибки управ­­ле­­ние передается на блок команд (процедуру) обработки ошибки, начи­нающийся с ука­занной метки. Код ошибки возвра­ща­ет­ся функцией Err. Последней ко­ман­дой блока является команда Resum (п. 13.1.2).

2.12.2. Формирование кода ошибки ‑ Error

Командой Error <код ошибки 1-255> моделируется ошибка с ука­зан­ным кодом. Используется при отладке программ обработки ошибок.

2.12.3. Установка среды обработки нажатия клавиш ‑ On Key (QB)

Команда имеет вид: On Key(n) Gosub <метка>

n ‑ номер клавиши: 1-10 (функциональные клавиши F1-F10), 11 (стрелоч­ка вверх), 12 (стрелочка влево), 13 (стрелочка вправо), 14 (стрелочка вниз), 15-25 (клавиши, определяемые пользователем), 30-31 (функциональные клавиши F11-F12).

Командой передается управление на внутреннюю подпрограмму, которая начинается с указанной метки при нажатии клавиши Fn.

Для задания комбинации клавиш пользователя используется команда: Key n,Chr$(<флаг клавиатуры>)+CHR$(<код сканирования>)

<флаг клавиатуры>: &H00 (отсутствие флага), &H01 (Shift), &H04 (Ctrl), &H08 (Alt), &H20 (NumLock), &H40 (CapsLock).

<код сканирования> - число, идентифицирующее клавишу: 1 (Esc), 2 (1),..., 1C (Enter),....

Следующий вариант команды управляет прерываниями от клавиш.

Key(n) {On | Off | Stop}‑ On, Off, Stop ‑ разрешает, запрещает, приостанав­ли­вает обработку прерываний до следующего оператора On Key(n).

2.12.4. Конец процедуры обработки прерываний ‑ Resume

     Команда имеет следующие виды:

Resum [ 0 ] ‑ перевыполнение оператора, который вызвал прерывание;

Resum Next - переход на следующий оператор после оператора, который вызвал прерывание;

Resum <метка> ‑ переход на метку.


Глава 3. Основные вcтроенные функции

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

Математика

Abs (x), Fix (x ) ‑ абсолютное значение числа x, целая часть числа x.

C Int (x) ‑ целое число с округлением.

Int/ Fix (x) ‑ ближайшее целое, которое не больше/не меньше числа x.

Log (x), Sgn(x) ‑ значение натурального логарифма, знак числа.

Rnd  ‑ случайное число в интервале [0,1]. Перед использованием этой фун­кции необходимо выполнить команду Randomize Timer.

Round (x[, n]) ‑ округление числа X до N десятичных знаков (0).

Sin (x), Cos (x), Tan (x), Atn (x) ‑ значение Sin(x), Cos(x), Tg(x), Arctg(x).

Sqr (x), Exp (x) ‑ значение квадратного корня из x,    E в степени x.

Массивы

Array (x1[, x2]…) ‑ возвращает массив типа Variant со значениями элемен­тов x1, x2, … (Dim V As Variant: V=Array(“Иванов”, #4/7/1970#, 5000)).

Filter  ‑ возвращает массив искомых строк из одномерного массива строк.

IsArray (x) ‑ возвращает True, если аргумент является массивом.

Join (m [, r]) ‑ возвращает строку, созданную соединением строк одномер­но­го массива (“m”) и разделенных символом‑разделителем (“r”). По умол­ча­нию разделителем является пробел.

Lbound /Ubound (x[,n])- нижнее/верхнее значение индекса n‑ой раз­мер­ности.

Split (s [, r [, n [, c]]]) ‑ возвращает одномерный массив из N строк с индек­са­цией с нуля с подстроками из строки S, разделенных в этой строке симво­ла­ми‑разделителями R (пробел) с методом сравнения C (см. InStr).

Строки

Asc (s) ‑ ASCII-код указанного символа.

Chr$/ Chr (n) ‑ символ с указанным ASCII-кодом. Перечислим именованные кон­­стан­­­ты, которые задают специальные символы: vbCrLf (перевод каретки и возврат строки), vbNullChar (символ с нулевым кодом), vbCr (пе­ре­вод каретки), vbLf (перевод строки), vbBack (забой), vbTab (табуляция), vbFormFeed (перевод страницы).

L Case /U Case (s), Format (s,”<”)/Format (s,”>”) ­­­‑ преобразование букв стро­ки S в строчные/заглавные.

Left /Right (S,n) ‑ первые/последние N символов строки S.

Ltrim /Rtrim / Trim(s) - строка S без левых/правых/левых и правых пробелов.

Mid$/ Mid (s,n[,l]) - возвращает подстроку строки S, начиная с символа под номером N длиной L символов. Если L отсутствует, то до конца строки.

Space (n), Len (s) - строка из N пробелов, длина переменной S.

StrComp (s1, s2 [, c]) ‑ сравнение двух строк S1 и S2 методом сравнения C (см. функцию InStr). Результат: -1 (S1<S2), 0 (S1=S2), 1 (S1>S2), Null (S1=Null или S2=Null).

StrConv (s,c) ‑ возвращает строку, преобразованную из строки S в символы способом C (сумма констант): vbUpperCase/vbLowerCase (заглавные/строч­ные), vbProperCase (заглавная первая буква каждого слова), vbWide/vb­Nar­row (двух‑/однобайтовые),vbUnicode/vbFromUnicode (код Unicode/ASCII).

String (n, c) ‑ строка из N символов С.

String (n,k) - строка из N символов с кодом k.

StrReverse(s)  ‑ возвращает строку S в обратном порядке.

Даты и время

DataSerial (y, m, d) ‑ дата с указанным годом (Y), месяцем (M) и днем (D).

DateValue (s) ‑ дата, указанная в строке S (DateValue(“Март 12, 2009”).

Date$, Date  ‑ текущая дата в символьном виде, в виде даты.

Day (d), Now - номер дня заданной даты D,  текущая дата и время.

Datediff (i,d1,d2[, f]) - число интервалов между датами D1 и D2. Первый аргумент задает тип интервала: yyyy (год), q (квартал), m (меся­ц), y (день в году), w (день недели) ww (неделя), d (число месяца), h (час), n (минута),

s (секунда). Последний па­ра­метр (“f”)задает первый день недели: vbSunday (воскре­сенье), vbMonday (понедельник).

Пример. Определить число дней между датами 04.06.47 и 01.11.99:      Kd=DateDiff(“d”,#06/04/47#,#11/01/ 99#).

Dateadd (i,n,d) - дата, отстоящяя от даты D на N интервалов типа “i” (см. описание первого параметра функции Datediff).

DatePart (i,d,f)‑ номер интервала типа “i” с датой “d” (DatePart(“ww”, Date)).

FarmatDateTime (d[,f]) ‑ форматирование даты (“d”) в виде (‘f’): дата/время в длинном (vbLongDate/vbLongTime) или в коротком (vbShortDate/vbShort­Ti­­me) виде; дата в коротком и время в длинном формате (vbGeneralDate).

IsDate (x)‑ возвращает True, если аргумент может быть преобразован в дату.

Month (x), Hour (x), Minute (x), Second  (x), Year(d) ‑ номер месяца, час, ми­ну­та, секунда или год указанной даты.

MonthName (n [, true]) ‑ полное или сокращенное (true) имя N‑го месяца.

Time$, Weekday (d)    ‑ текущее время суток, номер дня недели.

Timer    ‑ число секунд, прошедших от полуночи.

Timeserial (h,m,s)  - время при заданном часе (H), минуте (M) и секунде (S).

Timevalue (S) ‑ преобразует строку S в значение времени.

WeekDay (d [, f]) ‑ номер дня недели с датой D. Первый день недели за­дает­ся пара­мет­ром F: vbSunday (воскресенье), vbMonday (понедельник).

WeekDayName (d [, a [, f]]) ‑ имя дня недели. Первый день недели задается пара­мет­ром “f” (см. WeeDay). Если f=True, то имя дня недели сокращенное, иначе ‑ полное.

3.5. Преобразование и контроль данных

CBool / Cbyte / CCur / CDate / CDbl / CDec / CInt / CLang / CSng / CStr / Cval / CVerr (x) ‑ преобразование выражения x в данное типа Boolean/Byte/Currency/Date/De­ci­mal/Double/Integer (с округлением)/Long/Single/String/Variant.

Format (x,y [, f]) - строка после преобразования первого аргумента согласно шаблону (второй аргумент). Основные элементы шаблона:

0, # ‑ цифровая позиция (“#######”);

/ ‑ разделитель дат (“d/m/yy”); % - процент (“###%”);

< или > ‑ преобразование букв строки в строчные или прописные;

d, dd, ddd, dddd, ddddd ‑ соответственно номер дня без левого нуля (d), с левым нулем (dd); сокращенное (ddd) или полное (dddd) наименова­ние дня; полное число даты: день, месяц, год (ddddd).

Третий па­ра­метр Fуказывает первый день недели: vbSunday (воскре­сенье), vbMonday (понедельник), например, Print format(Now,”m/d/yy”);

m, mm, mmm, mmmm ‑ аналогично предыдущемы, но для ме­ся­ца;

yy, yyyy ‑ номер года двухзначный (yy) или четырехзначный (yyyy).

Пример. Print format(Now,”dddd, mmmm dd, yyyy”).

h, hh, m, mm, s, ss ‑ число часов, минут или секунд без левого нуля и с левым предшествующим нулем соответственно;

ttttt ‑ полное время в виде h:mm:ss;

AM, am, A, a /PM, pm, P, p устанавливает 12‑часовую схему указания времени (AM,... отмечает часы до полудня; PM,... ‑ после полудня).

Пример. Print format(Now,”h:mm:ss a/p”).

FormatCurrency /FormatNumber /FormatPercent (x [,n [,l[,s[,r]]]]) ‑ фор­ма­ти­­­­рование денежного/числового/процентного выражения (X). Дополнитель­ные параметры: чис­­ло цифр после запятой (N), вывод нулевой целой части дробных чисел (L), отрицательные числа в скобках (S), вывод раздели­те­ля тысяч (R). Их значения задаются константами: vbTrue, vbFalse, vbDefault.

Hex$ (x)/Ost$ (x) ‑ строка шестнадцатеричного/восьмеричного аргумента X.

IsEmpty (x) - возвращает true, если аргумент не содержит значение.

IsError (x) - возвращает true, если аргумент представляет значение ошибки.

IsMissing (x) - возвращает true, если не обязательный аргумент X подпрог­рам­мы, объявленный с опцией Optional, отсутствует в операторе вызова.

IsNull (x) - возвращает true, если аргумент имеет пустое значение Null. IsNumeric (x)/ IsDate(x) ‑ возвращает true, если аргумент числовой/датный.

Str$ / Str(x) - число X преобразуется в строковую форму этого числа.

TypeName  (x) ‑ возвращает строку с типом аргумента: Empty, Null, Integer, Long, Sin­gle, Double, Currency, Date, String, Object, Error, Boole­an, Deci­mal, Byte, Unknown, Nothing (объектная переменная без ссылки). Если аргумен­том является массив, то за типом выводятся пустые круглые скобки.

Val (s) ‑ первые цифровые символы строки S преобразуются в число.

VarType (x) ‑ возвращает тип аргумента: vbEmpty, vbNull, vbInteger, vbLong, vbSin­gle, vbDouble, vbCurrency, vbDate, vbString, vbObject, vbError, vbBoole­an, vbVariant, vbDataObject, vbDecimal, vbByte, vbArray.

Ввод и вывод данных

CurDir [(x)] ‑ возвращает текущий путь на указанном (текущем) диске.

Dir (p[, a]) ‑ имя файла, каталога или диска, соответствующее указан­ной мас­ке (p) из символов “*”, “?” или атрибутам файла (a): vbNormal (обыч­ный), vbHidden (скры­тый), vbSystem (системный), vbVolum (метка тома), vbDirectory (каталог). Для поиска следующего файла параметры не ука­зыва­ют­ся. При отсутствии файла возвращается пустая строка.

Eof (N) ‑ возвращает истину при достижении конца файла (N).

FileAtrr  ‑ режим, в котором находится открытый файл.

FileDateTime (p) ‑ строка с датой и временем последней правки файла p.

Freefile   ‑ следующий номер, доступный для открытия файла.

GetAttr (s) ‑ возвращаются атрибуты файла, каталога или диска (S): cумма кон­­стант vbNormal,vbReadOnly,vbHidden, vbSystem, vbDirectory, vbArchive.

Inkey$   ‑ символ последней нажатой клавиши.

Input$ (n,[,#<номер файла>]) - строка из N символов, считанных из файла.

InputBox (x[,t [,d [,x,y][, h, i]]]) - возвращает введенное значение в диа­ло­го­вом ок­не: X - сообщение, T ‑ заголовок окна, D - значение по умол­чанию, X, Y ‑ коор­ди­наты левого верхнего угла окна, h ‑ имя справочного HLP‑файла, I ‑ номер раздела справочного файла.

Load Picture (s) - загружает рисунок из файла под именем S.

LoadResData / LoadResPicture / LoadResString   ‑ загружает данные/изображе­ние/стро­ку из файла ресурсов.

Loc (n) ‑ номер последней обработанной записи файла с прямым досту­пом под номером N.

Lof (n) ‑ длина в байтах файла под номером N.

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

Mkdir (s) ‑ создает директорию с указанным путем S.

Msgbox (s1 [,t [,h]][ s2, n]) - номер нажатой кнопки. S1 и H задают тексты сооб­ще­ния и заголовка диалогового окна. Если в сооб­ще­ние до­бавить сим­вол с кодом 13 (vbCr), то произойдет переход на следующую строку;

T - комбинация констант (режимов ра­бо­ты) через операцию OR:

вывод кнопок: OK (vbOKOnly), OK+Cancel (vbOKCancel), Abort+Retry+Ig­nore (vbAbortRetryIgnore), Yes+No+Cancel (vbYesNoCancel), Yes+No (vb­Yes­No), Retry+Cancel (vbRetryCancel), Help (vbMsgBoxHelp­Button);

вывод пиктограммы с одним из символов: X (vbCritical),? (vbQuestion),! (vbExclamation), i (vbInformation);

код кнопки в окне по умолчанию: кнопка 1-4 (vbDefaultButton1‑ 4);

модальность: модальность приложения (vbApplicationModal), системная (vbSystemModal);

дополнителные: vbMsgBoxRight (выравнивание текста по правому краю) и vbMsgBoxSetForeground (отображение окна в фоновом режиме).

Функция возвращает код нажатой пользователем кнопки: OK (vbOK), Cancel (vbCancel), Abort (vbAbort), Retry (vbRetry), Ignore (vbIgnore), Yes(vbYes), No (vbNo).

Параметры S2 и N задают имя справочного файла и номер раздела этого файла, вызываемого клавишей F1.

Пример

If MsgBox(“Текущее время?”, vbYesNo Or vbQuestion, “Время”) = vbYes Then _

MsgBox (“Текущее время?” & Time)

Pos (1)/Csrlin ‑ номер колонки/строки с курсором.

Seek (n) - номер следующей записи файла (N) с прямым доступом.

Spc (n) ‑ пропуск N позиций при выводе строки на экран или на печать.

Tab (n) ‑ переход на N-ю позицию строки при печати.

Установка цвета

Q bcolor (n) - возвращает RGB-код цвета под номером n (п.2.7.2).

Rgb (r,g,b) - код цвета (RGB‑код), скомбинированного из сос­тав­­ляющих ар­­гу­ментов насыщенности (от 0 до 255) красного, зеленого и синего цветов.

Обработка ошибок

Erdev$  ‑ имя устройства, вызвавшего ошибку (QB).

Err/Erdev (QB)   ‑ код ошибки при работе программы/устройства.

Error [(n)] ‑ текст сообщения об ошибке (последней) с номером N.

Системные функции

Command$  ‑ строка параметров командной строки. Параметры могут быть заданы в среде разработки командой Project/Properties/Make/Command line arguments или в командной строке запуска Visual Basic после текста /cmd.

Doevents, Environ   ‑ число загруженных форм, строка среды DOS.

GetAllSettings ‑ возвращает список записей реестра Windows.

GetSettings ‑ возвращает значение записи реестра Windows.

Shell(s [,w]) - выполняет программу (S) в окне типа W: обычное (vbNormal­Focus), мини­ми­зи­­ро­ван­ное (vbMinimizedFocus), развернутое (vbMaxi­mi­zed­Focus), обычное без фокуса (vbNormalNoFocus), миними­зи­ро­ванное без фокуса (vbMinimizedNoFocus), скрытое активное (vbHide).

Объекты (VB)

CallByName (object, procedurename, calltype [, arguments()]) ‑ устанавливает или получает значение свойства или выполняет метод (procedurename) объ­екта (object). Константа Calltype типа vbCallType задает тип выполняемого метода: vbLet, vbGet, vbSet, vbMethod.

     Примеры для текстового поля Text под именем T.

CallByName T,“Mousepointer”,vblet,vbCrosshair‘T.Mousepointer=vbCrosshair

Result = CallByName(T, “MousePointer”, VbGet) ‘Result=T.MousePointer

CallByName T, “Move”, VbMethod, 100, 100        ‘T.Move 100, 100

CreateObject (class [, servername]) ‑ создает объект ActiveX указанного клас­са (class) на сервере‑приложения OLE и возвращает ссылку.

GetAutoServerSettings  ‑ информация о текущем состоянии регистрации ком­понента ActiveX.

GetObject([ f][, class]) ‑ возвращает ссылку на OLE‑объект из фай­ла (f) и ука­зан­ного класса (для зарегистрированного расширения класс можно опус­тить (Dim ob As Object: Set ob = GetObject(“D:\docum\pismo.doc”)).

IsObject(x) ‑ возвращает true, если аргумент типов Object или Variant VarType vbObject.

Load / Unload   object ‑ загрузка/удаление объекта в/из оперативной памяти.

Поиск, выбор, замена (VB)

InStr ([ n,] s1, s2[, c]) ‑ возвращает номер позиции первого вхождения строки S2 в строке S1. Поиск начинается с позиции N (1). Пара­метр C задает ме­тод сравнения: задается оператором Option Compare (vb­ Use­ Compare­ Op­ tion), учет регистров (vbBinaryCompare), ре­гис­тры не учи­ты­ваются (vbText­Com­pare), задается параметрами базы данных Access (vb­Da­ta­baseCompare). Параметр N обязателен, если указан метод сравнения. При отсутствии строки S2 в строке S1 возвращается нулевое значение.

InStrRev (s1, s2[, n[, c]]) ‑ аналогична функции InStr, но поиск начинается с кон­ца строки S1, с позиции N (по умолчанию ‑ с конца строки).

Partition(x, n, k, i) ‑ возвращает номер интервала (I ­‑ длина интервала) на отрезке от N до K, в который попадает число X.

Replace (s, ss, sn [, n [, k [, c]]]) ‑ возвращает строку, которая получена из стро­ки S путем замены (всех или только первых K) подстрок SS на строку SN, на­чиная с позиции N (1). Параметр С задает метод сравнения (см. InStr).

Choose  (index, x1 [,x2]…) ‑ возвращает значение X под номером index. Если номер указан неверно, то возвращается значение Null.

Switch (e1,v1 [,e2,v2]...) ‑ возвращает значение Vi (Null), если Ei=True (все Ei=False).

3.12. Финансово‑математические функции (VB)

DDB  ‑ амортизация вклада в геометрической прогрессии.

IPmt  ‑ сумма процентных выплат за определенный период на базе регуляр­ных выплат и фиксированной процентной ставки.

IRR  ‑ внутренняя норма прибыли (процентная ставка инвестиций, состоя­щей из поступлений и отчислений) ряда регулярных выплат.

MIRR  ‑ модифицированная внутренняя норма прибыли для последователь­ности регулярных выплат.

NPer  ‑ число периодов выплат инвестиций на базе фиксированых периоди­чес­ких выплат и фиксированной процентной ставки.

NPV  ‑ чистая величина инвестиции при регулярных выплатах и заданном учет­ном проценте.

Pmt  ‑ величина выплат инвестиций на базе регулярных, фиксированных выплат и фиксированной процентной ставки.

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

Rate  ‑ процентная ставка для инвестиций за определенный период.

SLN  ‑ линейная амортизация вклада за весь период.

SYD   ‑ суммарная годовая амортизация имущества за определенный период.



Поделиться с друзьями:

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.082 с.