Методы #

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")

almaGRID API

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")

almaGRID API

FormatDate #

Поддержка в версии: старше или равно 34.24.2.0.

Overview
Преобразует значение даты Expression в строку в соответствии с заданным форматом.

FormatDate  ( Expression  Variant , FormatString  Variant  )String

Возвращаемое значение
Тип: String
Строковое представление даты.

Параметры

Expression Variant Значение даты. Допускается представление даты в виде Double, String, DateTime.

FormatString Variant Строка описателя формата.

Часто используемые описатели форматов

Источник: Строки форматов даты и времени.

Спецификатор форматаDescriptionExamples
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")

almaGRID API

FormatNumber #

Поддержка в версии: старше или равно 34.24.2.0.

Overview
Преобразует численное значение Expression в строку в соответствии с заданным форматом.

FormatNumber  ( Expression  Variant , FormatString  Variant  )String

Возвращаемое значение
Тип: String
Строковое представление числа.

Параметры

Expression Variant Численное значение.

FormatString Variant Строка описателя формата.

Часто используемые описатели форматов

Источник: Строки числовых форматов.

Описатель форматаnameOverviewExamples
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

almaGRID API

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, "это правда", "это ложь")

almaGRID API

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, "Истина", "Ложь")

almaGRID API

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)

almaGRID API

Max #

Overview
Возвращает максимальное значение или null, если максимальное значение вычислить не удается.

Max  ( Value1  Variant , [Value2  Variant  = null ] )Variant

Возвращаемое значение
Тип: 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)))

almaGRID API

Min #

Overview
Возвращает минимальное значение или null, если минимальное значение вычислить не удается.

Min  ( Value1  Variant , [Value2  Variant  = null ] )Variant

Возвращаемое значение
Тип: 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)))

almaGRID API

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

almaGRID API

Objectify #

Overview
Возвращает объект, созданный из JSON-строки.

Objectify  ( Str  String , [TypeName  String  = '' ] )Variant

Возвращаемое значение
Тип: Variant
Объект.

Параметры

Str String JSON-строка, из которой будет создан объект.

TypeName String Необязательный параметр. Значение по умолчанию '' .

Название типа создаваемого объекта.

Если название типа создаваемого объекта не указана, то информация о типах берется из JSON-строки. В этом случае JSON-строка должна быть создана методом app.Stringify с установленным параметром установить typeNameHandling='true'.

Комментарии

Метод создает объект, содержащий:

  1. Переменные или константы простых типов данных (String, Integer, Double, Boolean, etc.),
  2. Одномерные массивы,
  3. Экземпляры типов:
    • 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	Шкаф

almaGRID API

Parse #

Overview
Создает именованный список из строки параметров имя/значение.

Parse  ( Str  String  )Dictionary

Возвращаемое значение
Тип: Dictionary
Именованный список пар Ключ—Значение, полученный из строки параметров имя/значение.

Параметры

Str String Строка параметров имя/значение в формате:
Name1=Value1;Name2=Value2;...;NameN=ValueN;

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

В противном случае, или если Value заключено в кавычки, то значение будет интерпретировано, как строка.

Пример:
Строка 'Тип="Поток"; Flow, m3/hour=2.4'
будет преобразована в именованный список:
{
     "Тип": "Поток",
     "Flow, m3/hour": 2.4
}

VBScript

set dict1 = ag.Parse(Str)
set dict2 = ag.Parse("Тип=""Поток""; Flow, m3/hour=2.4")
set dict2 = ag.Parse("Тип=Поток; Flow, m3/hour=2.4")

almaGRID API

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: