Руководство по настройке altAwin:Скрипты/Функции
Функции
База данных
DatabaseType
DatabaseType (Connection: string): string
Возвращает тип БД.
ExecSQL
ExecSQL (SQL: string; Params: IcmDictionary; Connection: string='')
Выполняет параметризованный запрос.
ExecuteSQL [d]
ExecuteSQL (SQL, Connection: string)
Выполняет SQL-запрос.
IsDatabaseConnected
IsDatabaseConnected:Boolean
Возвращает True при наличии подключения и прав для работы с БД.
QueryField [d]
QueryField (SQL, Connection: string):Variant
Возвращает первое поле из запроса
QueryRecord
QueryRecord (SQL: string; Params: IcmDictionary; Connection: string=' '):IcmDictionary
Возвращает первую запись результата запроса SQL; если результат пуст, возвращается nil
QueryRecordList
QueryRecordList (SQL: string; Params: IcmDictionary; Connection: string=' '):IcmDictionaryList
Возвращает набор записей результата запроса SQL
QueryRow [d]
QueryRow (SQL, Connection: string):Variant
Возвращает первую запись из результата запроса (объект типа Record)
QueryTable [d]
QueryTable (SQL, Connection: string):Variant
Возвращает результат запроса (объект типа List, содержащий объекты типа Record)
QueryValue
QueryValue (SQL: string; Params: IcmDictionary; Connection: string=' '):Variant
Возвращает значение первого поля первой записи результата запроса SQL; если результат пуст, возвращается Unassigned.
Ввод/вывод
- AnsiToUnicode (FileName: string)
- Append (var F:Text)
- AssignFile (var F:Text; FileName: string)
- CloseFile (var F:Text)
- CurrentLanguage: string
- DirectoryExists (Directory: string):Boolean
- DlgBox (Title,Msg: string; var Buttons: array of string):Integer
- Eof (var F:text):Boolean
- ExtractFileDir (FileName: string): string
- ExtractFileExt (FileName: string): string
- ExtractFileName (FileName: string): string
- ExtractFilePath (FileName: string): string
- FileExists (FileName: string):Boolean
- ForceDirectories():Boolean
- InputBox (Caption, Promt, Default: string): string
- InputQuery (const Caption, Promt: string; var value: string):Boolean
- PromptForFileName (var FileName: string; Filter, DefaultExt, Title, InitialDir: string, SaveDialog: boolean):Boolean
- Read (var TextFile, V:Variant)
- ReadLn (var TextFile, V:Variant)
- Reset (var F:Text)
- Rewrite (var F:Text)
- SelectDirectory(Caption, Root: string; var Directory: string): Boolean
- Открывает диалог выбора папки. Если указан Root, то дерево директорий будет начинаться от него. Возвращает true, если пользователь нажал OK. Путь помещается в параметр Directory.
- ShellExecute (FileName: string; Parameters: string):Boolean
- ShowMessage (Msg:Variant)
- StreamAdapter (Stream:TStream; Owned:Boolean):Variant
- UnicodeToAnsi (FileName: string)
- Write (F:Text; P1:Variant; P2:Variant; P3:Variant; P4:Variant; P5:Variant; P6:Variant; P7:Variant; P8:Variant)
- WriteLn (F:Text; P1:Variant; P2:Variant; P3:Variant; P4:Variant; P5:Variant; P6:Variant; P7:Variant; P8:Variant)
Дата и время
- Date:TDateTime
- DayOfWeek (aDate:TDateTime):Integer
- DaysInMonth (nYear, nMonth:Integer):Integer
- DecodeDate (Date:TDateTime; var Year, Month, Day:Word)
- DecodeTime (Time:TDateTime; var Hour, Min, Sec, MSec:Word)
- EncodeDate (Year, Month, Day:Word):TDateTime
- EncodeTime (Hour, Min, Sec, MSec:Word):TDateTime
- IsLeapYear (Year:Word):Boolean
- Now:TDateTime
- Time:TDateTime
Документы
CreateDocument [d]
CreateDocument(DocType: TGUID):Variant
CurentUser [d]
CurentUser -> IdocEmployee
информация о текущем пользователе IdocEmployee
OpenDocument [d]
OpenDocument(DocType: TGUID, Key: Variant):Variant
Открытие документа
- Для документов, у которых имеется глобально-уникальное поле "код" или "идентификатор" предусмотрена возможность открытия документа не только по первичному ключу, но и по коду/идентификатору:
- {{{1}}}
var OrderStage: IdocOrderStage; begin OrderStage := OpenDocument(IdocOrderStage, 'сгп'); ShowMessage(OrderStage.Title); end;
SelectDocument
SelectDocument(DocType: TGUID,Caption: string=' ':string, Context: string=' ', Description: string=' '):Variant
Отображение формы выбора документа.
SelectDocumentFolder [d]
- {{{1}}}
- Отображение формы выбора папки документов.
В случае неудачи функции CreateDocument, OpenDocument, SelectDocument возвращают NIL.
Конвертирование
- DateTimeToStr (e:Extended):String
- DateToStr (e:Extended):String
- FloatToStr (e:Extended):String
- IntToStr (i:Integer):String
- StrToDate (s:String):Extended
- StrToDateTime (s:String):Extended
- StrToFloat (s:String):Extended
- StrToInt (s:String):Integer
- StrToInt64 (s:String):Integer
- StrToTime (s:String):Extended
- TimeToStr (e:Extended):String
- VarToStr (v:Variant):String
Математические
- Abs (e:Extended):Extended
- ArcCos (X:Double):Double
- ArcCot (X:Double)
- ArcSin (X:Double)
- ArcTan (X:Extended):Extended
- Cos (e:Extended):Extended
- Cot (X:Double):Double
- DegToRad (X:Double):Double
- Exp (X:Extended):Extended
- Frac (X:Extended):Extended
- HiByte (W:Word): byte
- HiWord (L:Cardinal):Word
- Int (e:Extended):Integer
- Ln (e:Extended):Extended
- LoByte (W:Word):Byte
- LoWord (L:Cardinal):Word
- MaxValue (Data: array of Double):Double
- Mean (Data: array of Double):Double
- MinValue (Data: array of Double):Double
- Pi:Extended
- Power (Base, Exponent:Double):Double
- RadToDeg (X:Double):Double
- Round (Value e:Extended):Integer
- RoundTo (Value:Double;Digit:Integer):Double
- Sign (X:Double):Integer
- Sin (e:Extended):Extended
- Sqrt (e:Extended):Extended
- Tan (X:Extended):Extended
- Total (Data: array of Double):Double
- Trunc (e:Extended):Integer
Объекты
- CopyRecord (V:Variant):Variant
- Createservlet (Name: string):Variant
- NewList:Variant
- NewRecord:Variant
Прочие
- {{{1}}}
- Процедура служит для проверки обязательных условий. Если Condition = False генерируется исключение с сообщением Message.
- CreateOleObject (ClassName:String):Variant
- CombineGUID (GUIDHI, GUIDLO:string): string
- Возвращает правильно оформленный уникальный идентификатор в формате «{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}»; GUIDHI, GUIDLO — строковые представления чисел Int64.
- {{{1}}}
- Evaluate (Expression: string):Variant
- Функция возвращает значение вычисленного выражения Expression.
- Execute (Expression: string)
- Исполняет код Expression.
- Evaluate2 (Expression: string; Variables: IcmDictionary):Variant
- Execute2 (Expression: string; Variables: IcmDictionary)
- Функции Evaluate2 и Execute2 отличаются от Evaluate и Execute наличием возможности передачи в обрабатываемое выражение переменных из словаря:
var D: IcmDictionary; begin ShowMessage(Evaluate2('a/b', MakeDictionary(['a', 1, 'b', 2]))); ShowMessage(Evaluate2('a/b', MakeDictionary(['a', 1, 'b', 3]))); D := MakeDictionary(['a', 1, 'b', 2]); Execute2('begin' + #13 + 'a := b;' + #13 + 'end.', D); ShowMessage(D['a']); end.
- GenerateGUID:string
- Возвращает новый уникальный идентификатор в формате «{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}»
- GUIDHi(GUID:string):Int64
- Возвращает старшую часть уникального идентификатора, переданного в формате «{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}»
- GUIDLo(GUID:string):Int64
- Возвращает младшую часть уникального идентификатора, переданного в формате «{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}»
- {{{1}}}
- InputBox (ACaption, APromt, ADefault: string): string
- InputQuery (ACaption, APromt, ADefault: string; var Value: string):Boolean
- MessageDlg (Msg: string; DlgType:TMsgDlgType; Buttons:TMsgDlgButtons; HelpCtx:Longint):Integer
- RaiseException (Param:String)
- Служит для генерации исключений. Может использоваться, например, в обработчике событий для предотвращения некоторых действий. (см. РНА:Обработчики событий)
- Random:Extended
- Randomize
- ShowMessage (Msg:Variant)
- ValidDate (cDate: string):Boolean
- ValidFloat (cFlt:String):Boolean
- ValidInt (cInt:String):Boolean
- VarArrayCreate (Bounds:Array; Typ:Integer):Variant
- VarIsClear (var V:Variant):Boolean
- Returns true if the given variant’s value is undefined. The value can be undefined for any of several reasons:
- The Variant may have had its value set to Unassigned.
- The Variant’s value may be an interface type that has been set to nil.
- The Variant may be a custom variant that returns true from its IsClear method.
- In all other cases, the function result is false.
- Returns true if the given variant’s value is undefined. The value can be undefined for any of several reasons:
VarType (V:Variant):Integer
Строки
- AnsiToUTF8 (S:string): string
- Chr (i:Integer):Char
- CompareText (s, s1:string):Integer
- ConvertCharSet (SourceCharSet,TargetCharSet,Value: string): string
- Возвращает строку Value, сконвертированную из указанной SourceCharSet в TargetCharSet кодировку, [1]
- ConvertFromCharSet (SourceCharSet,Value: string): string
- Возвращает строку Value, сконвертированную из указанной SourceCharSet кодировки
- ConvertToCharSet (TargetCharSet,Value: string): string
- Возвращает строку Value, сконвертированную в указанную TargetCharSet кодировку
- Пример работы с функциями преобразования кодировок:
var s: string; begin s := 'раз... два... три...'; s := ConvertToCharSet('utf-8', s); s := ConvertCharSet('utf-8', 'utf-16', s); s := ConvertFromCharSet('utf-16', s); ShowMessage(s); end;
- Copy (s: string; from, count:Integer): string
- Delete (var s:String;from, count:Integer)
- DeleteStr (var s:String;from, count:Integer)
- DecodeURIComponent(const Value: string; const SourceCharSet, TargetCharSet: string): string
- Производит декодирование URL-кодированной строки. Параметр SourceCharSet указывает исходную кодировку строки Value. Параметр TargetCharSet указывает кодировку, в которой необходимо получить раскодированное значение. Пустая строка в параметрах SourceCharSet и TargetCharSet означает системную кодировку.
- DecodeHTMLSpecialChars(const Value: string; DecodeQuotes: Boolean): string
- Преобразует специальные HTML-сущности обратно в соответствующие символы, при установленном флаге DecodeQuotes сущность
'
заменяется на символ апострофа ('
).
- Преобразует специальные HTML-сущности обратно в соответствующие символы, при установленном флаге DecodeQuotes сущность
- EncodeURIComponent(const Value: string; const TargetCharSet, SourceCharSet: string): string
- Производит URL-кодирование строки согласно RFC 3986.
- TargetCharSet — кодировка, в которой необходимо получить закодированное значение.
- SourceCharSet — исходная кодировка строки Value. Пустая строка в параметрах TargetCharSet и SourceCharSet означает системную кодировку)
- EncodeHTMLSpecialChars(const Value: string; EncodeQuotes: Boolean): string
- Преобразует специальные символы в HTML-сущности, при установленном флаге EncodeQuotes символ символ апострофа (
'
) заменяется на последовательность'
.
- Преобразует специальные символы в HTML-сущности, при установленном флаге EncodeQuotes символ символ апострофа (
- FillDateTimeTemplate (Template: strng; DT:TDateTime): string
- FillLeft (var V:Variant; C:String; ToLength:Integer): string
- FillRight (var V:Variant; C:String; ToLength:Integer): string
- FillTemplate (Template: string; var params: array of Variant): string
- GetAttrByName (Source,Name: string): string
- Insert (S:string; var S2:string; pos:Integer)
- JSONDecode(Value: string)
- Возвращает значение из JSON-представления
- Пример работы с функцией JSONDecode:
var S, T: string; D: IcmDictionary; begin S := '{"a":97,"A":65}'; D := IcmDictionary(JSONDecode(S)); ShowMessage('count of names: ' + IntToStr(D.Count)); ShowMessage('a = ' + VarToStr(D['a'])); ShowMessage('A = ' + VarToStr(D['A'])); T := JSONEncode(D); ShowMessage('original: ' + S + #10#13 + 'recoded: ' + T); end;
- JSONEncode(var Value: string): string
- Возвращает JSON-представление для значения Value
- TidyJSON(const Value: string): string
- Возвращает отформатированную строку с данными в формате JSON
- Insert (S:string; var S2:string; pos:Integer)
- Length (S:variant):Integer
- Lowercase (S:string): string
- NameCase (S:string): string
- Ord (ch: char):Integer
- Pos (substr, s: string):Integer
- ReplaceStr (AText, AFromText, AToText: string): string
- ReplaceText (AText, AFromText, AToText: string): string
- SetLength (var S:variant; L:Integer)
- StringToColor (S:string):TColor
- Transliterate (S:string): string
- Trim (S:string): string
- Uppercase (S:string): string
- UTF8ToAnsi (S:string): string
Форматирование
- Format (Fmt:String; Args: array): string
- FormatDateTime (Fmt:String; DateTima:TDateTime): string
- FormatFloat (Fmt:String; Value:Extended): string
- FormatMaskText (EditMask: string; Value: string): string