Методы #
CDbl #
Поддержка в версии: старше или равно 34.24.03.32.
Overview
Преобразует объект в вещественное число Double. Если Obj является строковым объектом, то в качестве разделителя дробной части допускается использование точки и запятой.
CDbl ( Obj Variant ) : String
Возвращаемое значение
Тип: String
Число Double или null, если преобразование невозможно.
Параметры
Obj | Variant | Значение.
|
VBScript
ag.MsgBox ag.CDbl("12,3") ag.MsgBox ag.CDbl("12.3")
DateStrToDbl #
Поддержка в версии: старше или равно 34.24.03.32.
Overview
Преобразует строковое представление даты/вренени в объект в вещественное число Double.
DateStrToDbl ( DateStr String ) : String
Возвращаемое значение
Тип: String
Число Double или null, если преобразование невозможно.
Параметры
DateStr | String | Строковое представление даты/вренени.
|
VBScript
ag.MsgBox ag.DateStrToDbl("02.10.2023") ag.MsgBox ag.DateStrToDbl("02.10.2023 16:30:25") ag.MsgBox ag.DateStrToDbl("16:30:25") ag.MsgBox ag.FormatDate(ag.DateStrToDbl("02.10.2023 16:30:25"), "yyyy-MMM-dd, hh:mm")
FormatDate #
Поддержка в версии: старше или равно 34.24.2.0.
Overview
Преобразует значение даты Expression в строку в соответствии с заданным форматом.
FormatDate ( Expression Variant , FormatString Variant ) : String
Возвращаемое значение
Тип: String
Строковое представление даты.
Параметры
Expression | Variant | Значение даты. Допускается представление даты в виде Double, String, DateTime.
|
FormatString | Variant | Строка описателя формата.
|
Часто используемые описатели форматов
Источник: Строки форматов даты и времени.
Спецификатор формата | Description | Examples |
---|---|---|
d | День месяца, от 1 до 31. | 2009-06-01T13:45:30 -> 1 2009-06-15T13:45:30 -> 15 |
dd | День месяца от 01 до 31. | 2009-06-01T13:45:30 -> 01 2009-06-15T13:45:30 -> 15 |
ddd | Сокращенное название дня недели. | 2009-06-15T13:45:30 -> Mon |
dddd | Полное название дня недели. | 2009-06-15T13:45:30 -> понедельник |
f | Десятые доли секунды в значении даты и времени. | 2009-06-15T13:45:30.61700000 -> 6 2009-06-15T13:45:30.05 -> 0 |
ff | Сотые доли секунды в значении даты и времени. | 2009-06-15T13:45:30.61700000 -> 61 2009-06-15T13:45:30.0050000> — 00 |
fff | Тысячные доли секунды в значении даты и времени. | 6.15.2009 13:45:30.617 -> 617 6.15.2009 13:45:30.0005 -> 000 |
ffff | Десятитысячные доли секунды в значении даты и времени. | 2009-06-15T13:45:30.6175000> — 6175 2009-06-15T13:45:30.00005000 -> 0000 |
fffff | Стотысячные доли секунды в значении даты и времени. | 2009-06-15T13:45:30.6175400 -> 61754 6.15.2009 13:45:30.000005 -> 00000 |
ffffff | Миллионные доли секунды в значении даты и времени. | 2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.000005 -> 0000000 |
fffffff | Десятимиллионные доли секунды в значении даты и времени. | 2009-06-15T13:45:30.6175425 -> 6175425 2009-06-15T13:45:30.0001150 -> 0001150 |
h | Час в 12-часовом формате от 1 до 12. | 2009-06-15T01:45:30 -> 1 2009-06-15T13:45:30 -> 1 |
hh | Час в 12-часовом формате от 01 до 12. | 2009-06-15T01:45:30 -> 01 2009-06-15T13:45:30 -> 01 |
H | Час в 24-часовом формате от 0 до 23. | 2009-06-15T01:45:30 -> 1 2009-06-15T13:45:30 -> 13 |
HH | Час в 24-часовом формате от 00 до 23. | 2009-06-15T01:45:30 -> 01 2009-06-15T13:45:30 -> 13 |
m | Минута, от 0 до 59. | 2009-06-15T01:09:30 -> 9 2009-06-15T13:29:30 -> 29 |
mm | Минута, от 00 до 59. | 2009-06-15T01:09:30 -> 09 2009-06-15T01:45:30 -> 45 |
M | Месяц, от 1 до 12. | 2009-06-15T13:45:30 -> 6 |
MM | Месяц от 01 до 12. | 2009-06-15T13:45:30 -> 06 |
MMM | Сокращенное название месяца. | 2009-06-15T13:45:30 -> Июнь |
MMMM | Полное название месяца. | 2009-06-15T13:45:30 -> Июнь |
s | Секунды, от 0 до 59. | 2009-06-15T13:45:09 -> 9 |
ss | Секунды, от 00 до 59. | 2009-06-15T13:45:09 -> 09 |
t | Первый символ указателя AM/PM (до полудня/после полудня). | 2009-06-15T13:45:30 -> P |
tt | Указатель AM/PM (до полудня/после полудня). | 2009-06-15T13:45:30 -> PM |
y | Год, в диапазоне от 0 до 99. | 1900-01-01T00:00:00 -> 0 2009-06-15T13:45:30 -> 9 2019-06-15T13:45:30 -> 19 |
yy | Год, в диапазоне от 00 до 99. | 0900-01-01T00:00:00 -> 00 1900-01-01T00:00:00 -> 00 2019-06-15T13:45:30 -> 19 |
yyyy | Год в виде четырехзначного числа. Дополнительные сведения см. в подразделе Настраиваемый описатель формата yyyy. | 0001-01-01T00:00:00 -> 0001 0900-01-01T00:00:00 -> 0900 1900-01-01T00:00:00 -> 1900 2009-06-15T13:45:30 -> 2009 |
\ | Escape-символ . | 2009-06-15T13:45:30 (h \h) -> 1 h |
Любой другой знак | Символ копируется в результирующую строку без изменений. | 2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A |
VBScript
ag.MsgBox ag.FormatDate(Date1, "yyyy-MM-dd hh:mm:ss.ffff")
FormatNumber #
Поддержка в версии: старше или равно 34.24.2.0.
Overview
Преобразует численное значение Expression в строку в соответствии с заданным форматом.
FormatNumber ( Expression Variant , FormatString Variant ) : String
Возвращаемое значение
Тип: String
Строковое представление числа.
Параметры
Expression | Variant | Численное значение.
|
FormatString | Variant | Строка описателя формата.
|
Часто используемые описатели форматов
Источник: Строки числовых форматов.
Описатель формата | name | Overview | Examples |
---|---|---|---|
D | Целочисленный | Описатель точности: минимальное число разрядов. Описатель точности по умолчанию: минимальное требуемое число разрядов. | 1234 («D») -> 1234 -1234 («D6») -> -001234 |
E | Экспоненциальный (научный) | Описатель точности: число десятичных разрядов. Описатель точности по умолчанию: 6. | 1052.0329112756 («E») -> 1,052033E+003 -1052.0329112756 («E2») -> -1,05e+003 |
F | С фиксированной запятой | Описатель точности: число десятичных разрядов. | 1234 («F1») -> 1234.0 -1234.56 («F4») -> -1234,5600 |
G | Общий | Наиболее компактная запись из двух вариантов — экспоненциального и с фиксированной запятой. Описатель точности: количество значащих цифр. | -123,456 («G») -> -123,456 123.4546 («G4») -> 123.5 |
If #
Поддержка в версии: старше или равно 34.24.2.0.
Overview
Возвращает значение Expression, IsNothingOrTruePart или FalsePart в зависимости от результата провери условия Expression.
If ( Expression Variant , IsNothingOrTruePart Variant , FalsePart Variant ) : Variant
Возвращаемое значение
Тип: Variant
(1) Если не задан FalsePart, то возвращает значение Expression, если оно отличается от null, или IsNothingOrTruePart в противном случае.
(2) Если задан FalsePart, то возвращает значение IsNothingOrTruePart если Expression равно True или значение FalsePart в противном случае.
Параметры
Expression | Variant | Должен быть ссылочным типом значения или значением, допускающим значение null. Вычисляется и возвращается, когда его значение отличается от null.
|
IsNothingOrTruePart | Variant | Вычисляется и возвращается, когда значение Expression равно null или когда задан FalsePart и Expression равно True.
|
FalsePart | Variant | Вычисляется и возвращается, когда Expression равно False.
|
VBScript
Set Value = Nothing ag.MsgBox ag.If(Value, "значение 'Null'") ag.MsgBox ag.If(2 > 3, "это правда", "это ложь")
IIf #
Overview
Возвращает значение TruePart, если Expression имеет значение True, или FalsePart в противном случае.
IIf ( Expression Boolean , TruePart Variant , FalsePart Variant ) : Variant
Возвращаемое значение
Тип: Variant
Значение TruePart, если Expression имеет значение True, или FalsePart в противном случае.
Параметры
Expression | Boolean | Выражение, которое должно возвращать значение типа Boolean.
|
TruePart | Variant | Вычисляется в любом случае и возвращается, когда Expression имеет значение True.
|
FalsePart | Variant | Вычисляется в любом случае и возвращается, когда Expression имеет значение False.
|
Комментарии
Функця IIf всегда оценивает обе части TruePart и FalsePart, хотя возвращает только одну из них. По этой причине следует внимательно следить за появлением нежелательных побочных эффектов. Например, если вычисление выражения FalsePart приводит к ошибке деления на ноль, возникает ошибка, даже если значение Expression равно True.
VBScript
ag.MsgBox ag.IIf(2 > 3, "Истина", "Ложь")
InputBox #
Overview
Отображает приглашение в диалоговом окне, ждет, пока пользователь введет текст или нажмет кнопку 'Отменить', и возвращает строку с содержимым текстового поля или строку '{Cancel}' если пользователь нажал на кнопку 'Отменить'.
InputBox ( Prompt String , [Title String = '' ], [DefaultValue Object = '' ], [XPos Integer = -1 ], [YPos Integer = -1 ] ) : String
Возвращаемое значение
Тип: String
Строка с содержимым текстового поля или строка '{Cancel}' если пользователь нажал на кнопку 'Отменить'.
Параметры
Prompt | String | Приглашение, отображающееся в диалоговом окне, дающее пояснение пользователю о запрашиваемыхх данных. Приглашение может содержать символ возврата каретки (Chr(13)).
|
Title | String | Необязательный параметр. Значение по умолчанию '' . Строковое выражение, отображаемое в заголовке диалогового окна. Если значение параметра пустая строка, то в заголовке выводится имя приложения.
|
DefaultValue | Object | Необязательный параметр. Значение по умолчанию '' . Выражение, отображаемое в текстовом поле в качестве ответа по умолчанию.
|
XPos | Integer | Необязательный параметр. Значение по умолчанию -1 . Расстояние по горизонтали от левого края диалогового окна до левого края экрана. Если параметр не указан, то диалоговое окно центрируется по горизонтали.
|
YPos | Integer | Необязательный параметр. Значение по умолчанию -1 . Расстояние по вертикали от верхнего края диалогового окна до верхнего края экрана. Если параметр не указан, то диалоговое окно центрируется по вертикали.
|
VBScript
'Запрашиваем у пользователя значение N = ag.InputBox("Введите наибольшую глубину дочерних уровней (от 2 до 5)","", 5)
Max #
Overview
Возвращает максимальное значение или null, если максимальное значение вычислить не удается.
Возвращаемое значение
Тип: Variant
Максимальное значение или null.
Параметры
Value1 | Variant | Выражение, которое должно возвращать значение типа Double, или массив значений Double или список List значений Double.
|
Value2 | Variant | Необязательный параметр. Значение по умолчанию null . Выражение, которое должно возвращать значение типа Double, если Value1 имеет значение типа Double или null в противном случае.
|
VBScript
ag.MsgBox ag.Max(3, 2) ag.MsgBox ag.Max(Array(1, 3, 2)) ag.MsgBox ag.Max(ag.app.NewObject("List", Array(1, 3, 2)))
Min #
Overview
Возвращает минимальное значение или null, если минимальное значение вычислить не удается.
Возвращаемое значение
Тип: Variant
Минимальное значение или null.
Параметры
Value1 | Variant | Выражение, которое должно возвращать значение типа Double, или массив значений Double или список List значений Double.
|
Value2 | Variant | Необязательный параметр. Значение по умолчанию null . Выражение, которое должно возвращать значение типа Double, если Value1 имеет значение типа Double или null в противном случае.
|
VBScript
ag.MsgBox ag.Min(3, 2) ag.MsgBox ag.Min(Array(1, 3, 2)) ag.MsgBox ag.Min(ag.app.NewObject("List", Array(1, 3, 2)))
MsgBox #
Overview
Выводит сообщение в диалоговом окне, ожидает нажатия кнопки пользователем и возвращает значение типа Integer, которое указывает, какая кнопка была нажата пользователем.
MsgBox ( Prompt Variant , [MsgBoxStyle Integer = 0 ], [Title String = '' ] ) : Integer
Возвращаемое значение
Тип: Integer
Значение, которое указывает, какая кнопка была нажата:
vbOk = 1 - Нажата кнопка ОК.
vbCancel = 2 - Нажата кнопка Отмена.
vbYes = 6 - Нажата кнопка Да.
vbNo = 7 - Нажата кнопка Нет.
Параметры
Prompt | Variant | Строковое выражение, отображающееся в диалоговом окне. Если приглашение состоит из нескольких строк, строки можно разделить с помощью символа возврата каретки (Chr(13)) между каждой строкой.
|
MsgBoxStyle | Integer | Необязательный параметр. Значение по умолчанию 0 . Комбинацией значений (через 'Or'), указывающих количество и тип отображаемых кнопок, стиля значков. Значения: vbOkOnly = 0 - Только кнопка ОК (по умолчанию). vbOkCancel = 1 - Кнопки ОК и Отмена. vbYesNo = 4 - Кнопки Да и Нет. vbCritical = 16 - Важное сообщение. vbQuestion = 32 - Запрос с предупреждением. vbExclamation = 48 - Предупреждающее сообщение. vbInformation = 64 - Информационное сообщение.
|
Title | String | Необязательный параметр. Значение по умолчанию '' . Строковое выражение, отображаемое в заголовке диалогового окна. Если аргумент заголовок пропущен, в заголовке выводится имя приложения.
|
VBScript
'Запрашиваем подтверждение пользователя на переход к следующему действию if (ag.MsgBox("Перейти к выбору из дерева тегов?", vbQuestion or vbYesNo)) = vbYes Then 'Показываем пользователю ветвь дерева тегов, растущую из BaseTagPath и принимаем его выбор s = ag.tags.inputFromTree(BaseTagPath, "", "Выберите тег из ветви") 'выводим идентификатор тега, выбранного пользователем ag.MsgBox s End If
Objectify #
Overview
Возвращает объект, созданный из JSON-строки.
Objectify ( Str String , [TypeName String = '' ] ) : Variant
Возвращаемое значение
Тип: Variant
Объект.
Параметры
Str | String | JSON-строка, из которой будет создан объект.
|
TypeName | String | Необязательный параметр. Значение по умолчанию '' . Название типа создаваемого объекта. Если название типа создаваемого объекта не указана, то информация о типах берется из JSON-строки. В этом случае JSON-строка должна быть создана методом app.Stringify с установленным параметром установить typeNameHandling='true'. |
Комментарии
Метод создает объект, содержащий:
- Переменные или константы простых типов данных (String, Integer, Double, Boolean, etc.),
- Одномерные массивы,
- Экземпляры типов:
- System.Collections.HashTable — Коллекция пар ‘Ключ’-‘Значение’, которые упорядочены по хэш-коду ключа.
- System.Collections.SortedList — Коллекция пар ‘Ключ’-‘Значение’, упорядоченых по ключам.
- System.Collections.ArrayList — Массив с динамическим увеличением размера.
В качестве ключей в экземплярах System.Collections.HashTable и System.Collections.SortedList используются переменные или константы простых типов данных.
В других случаях может возникать ошибка и/или возвращаемый объект может принимать значение null.
VBScript
'создаем структуру данных Set objSL = ag.app.NewObject("SortedList") objSL.Add "SL-1", "Стол" objSL.Add "SL-0", Array(33,"Шкаф") objSL.Add "SL-2", objQ 'Объект objQ не определен Set objAL = ag.app.NewObject("ArrayList") objAL.Add 1 objAL.Add "2" objAL.Add 3.3 objAL.Add objSL fruit = "Груша" Set objHT = ag.app.NewObject("HashTable") objHT.Add "HT-0", objAL objHT.Add "HT-1", Array(11,"Яблоко") objHT.Add "HT-2", fruit 'код выше можно записать короче: Set objSL = ag.app.NewObject("SortedList", Array("SL-1", "Стол", "SL-0", Array(33,"Шкаф"), "SL-2", objQ)) Set objAL = ag.app.NewObject("ArrayList", Array(1, "2", 3.3, objSL)) Set objHT = ag.app.NewObject("HashTable", Array("HT-0", objAL, "HT-1", Array(11,"Яблоко"), "HT-2", fruit)) 'получаем структуру данных в виде строки и выводим ее Str = ag.Stringify(objHT, "<prm typeNameHandling='true'/>") ag.MsgBox "1: " & Str 'восстанавливаем структуру данных из строки и выводим ее элементы Set Res = ag.app.Objectify(Str) ag.MsgBox "2: " & Res("HT-0")(3)("SL-1") ag.MsgBox "3: " & Res("HT-1")(1) ag.MsgBox "4: " & Res("HT-2") set Obj1 = Res("HT-0")(3) ag.MsgBox "5: " & Obj1.GetKey(0) & vbTab & Obj1.GetByIndex(0)(1) 'Результат: ' '1:{ ' "$type": "System.Collections.Hashtable, mscorlib", ' "HT-0": { ' "$type": "System.Collections.ArrayList, mscorlib", ' "$values": [ ' 1, ' "2", ' 3.3, ' { ' "$type": "System.Collections.SortedList, mscorlib", ' "SL-0": { ' "$type": "System.Object[], mscorlib", ' "$values": [ ' 33, ' "Шкаф" ' ] ' }, ' "SL-1": "Стол", ' "SL-2": null ' } ' ] ' }, ' "HT-2": "Груша", ' "HT-1": { ' "$type": "System.Object[], mscorlib", ' "$values": [ ' 11, ' "Яблоко" ' ] ' } '} '2: Стол '3: Яблоко '4: Груша '5: SL-0 Шкаф
Parse #
Overview
Создает именованный список из строки параметров имя/значение.
Parse ( Str String ) : Dictionary
Возвращаемое значение
Тип: Dictionary
Именованный список пар Ключ—Значение, полученный из строки параметров имя/значение.
Параметры
Str | String | Строка параметров имя/значение в формате: Name1=Value1;Name2=Value2;...;NameN=ValueN; Если Value не заключено в кавычки, то будет предпринята попытка интерпретировать значение как число Double. В противном случае, или если Value заключено в кавычки, то значение будет интерпретировано, как строка. Пример:
|
VBScript
set dict1 = ag.Parse(Str) set dict2 = ag.Parse("Тип=""Поток""; Flow, m3/hour=2.4") set dict2 = ag.Parse("Тип=Поток; Flow, m3/hour=2.4")
Stringify #
Overview
Возвращает значение, преобразованное в JSON-строку.
Stringify ( Var Variant , [PrmXML String = '' ] ) : String
Возвращаемое значение
Тип: String
JSON-строка.
Параметры
Var | Variant | Значение, преобразуемое в строку JSON.
|
PrmXML | String | Необязательный параметр. Значение по умолчанию '' . Строка параметров в виде <prm name1='value1' name2='value2' ... nameN='valueN'/> Параметры: TypeNameHandling - Boolean. Если True, то в JSON-строку будет включена информация о типах объектов. Если False - не будет включена. Значение по умолчанию: False. Следует установить typeNameHandling='true' для использования полученной JSON-строки в app.Objectify без указания типа создаваемого объекта в параметрах метода app.Objectify. |
VBScript
Set dict2 = ag.app.NewObject("Dictionary", Array("Cat", 23, "Dog", 33)) ag.MsgBox ag.Stringify(dict2)
[ag_vSpace