# System Library

There are a number of built-in functions that are part of the scripting system. SyncBackPro also provides extra functions via [SBSystem](SBSystem.md) and other miscellaneous [functions](ScriptFunctions.md) and [classes](ScriptClasses.md). There are also built-in [constants](ScriptConstants.md) and functions provided for [compatibility with VBScript](ConvertingVBSToBasic.md) (if you are using the Basic language).

For help and details on these functions, refer to the Delphi online documentation:

```
[Abs](http://www.delphibasics.co.uk/RTL.asp?Name=abs)
[AnsiCompareStr](http://www.delphibasics.co.uk/RTL.asp?Name=AnsiCompareStr)
[AnsiCompareText](http://www.delphibasics.co.uk/RTL.asp?Name=AnsiCompareText)
[AnsiLowerCase](http://www.delphibasics.co.uk/RTL.asp?Name=AnsiLowerCase)
[AnsiUpperCase](http://www.delphibasics.co.uk/RTL.asp?Name=AnsiUpperCase)
[Append](http://www.delphibasics.co.uk/RTL.asp?Name=Append)
[ArcTan](http://www.delphibasics.co.uk/RTL.asp?Name=ArcTan)
[Assigned](http://www.delphibasics.co.uk/RTL.asp?Name=Assigned)
[AssignFile](http://www.delphibasics.co.uk/RTL.asp?Name=AssignFile)
[Beep](http://www.delphibasics.co.uk/RTL.asp?Name=Beep)
[Chdir](http://www.delphibasics.co.uk/RTL.asp?Name=Chdir)
[Chr](http://www.delphibasics.co.uk/RTL.asp?Name=Chr)
[CloseFile](http://www.delphibasics.co.uk/RTL.asp?Name=CloseFile)
[CompareStr](http://www.delphibasics.co.uk/RTL.asp?Name=CompareStr)
[CompareText](http://www.delphibasics.co.uk/RTL.asp?Name=CompareText)
[Copy](http://www.delphibasics.co.uk/RTL.asp?Name=Copy)
[Cos](http://www.delphibasics.co.uk/RTL.asp?Name=Cos)
[CreateOleObject](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/OleAuto_CreateOleObject.html)
[Date](http://www.delphibasics.co.uk/RTL.asp?Name=Date)
[DateTimeToStr](http://www.delphibasics.co.uk/RTL.asp?Name=DateTimeToStr)
[DateToStr](http://www.delphibasics.co.uk/RTL.asp?Name=DateToStr)
[DayOfWeek](http://www.delphibasics.co.uk/RTL.asp?Name=DayOfWeek)
[Dec](http://www.delphibasics.co.uk/RTL.asp?Name=Dec)
[DecodeDate](http://www.delphibasics.co.uk/RTL.asp?Name=DecodeDate)
[DecodeTime](http://www.delphibasics.co.uk/RTL.asp?Name=DecodeTime)
[Delete](http://www.delphibasics.co.uk/RTL.asp?Name=Delete)
[EncodeDate](http://www.delphibasics.co.uk/RTL.asp?Name=EncodeDate)
[EncodeTime](http://www.delphibasics.co.uk/RTL.asp?Name=EncodeTime)
[EOF](http://www.delphibasics.co.uk/RTL.asp?Name=EOF)
[Exp](http://www.delphibasics.co.uk/RTL.asp?Name=Exp)
[FilePos](http://www.delphibasics.co.uk/RTL.asp?Name=FilePos)
[FileSize](http://www.delphibasics.co.uk/RTL.asp?Name=FileSize)
[FloatToStr](http://www.delphibasics.co.uk/RTL.asp?Name=FloatToStr)
[Format](http://www.delphibasics.co.uk/RTL.asp?Name=Format)
[FormatDateTime](http://www.delphibasics.co.uk/RTL.asp?Name=FormatDateTime)
[FormatFloat](http://www.delphibasics.co.uk/RTL.asp?Name=FormatFloat)
[Frac](http://www.delphibasics.co.uk/RTL.asp?Name=Frac)
[GetActiveOleObject](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/ComObj_GetActiveOleObject.html)
[High](http://www.delphibasics.co.uk/RTL.asp?Name=High)
[Inc](http://www.delphibasics.co.uk/RTL.asp?Name=Inc)
[IncMonth](http://www.delphibasics.co.uk/RTL.asp?Name=IncMonth)
[InputQuery](http://www.delphibasics.co.uk/RTL.asp?Name=InputQuery)
[Insert](http://www.delphibasics.co.uk/RTL.asp?Name=Insert)
[Int](http://www.delphibasics.co.uk/RTL.asp?Name=Int)
[IntToHex](http://www.delphibasics.co.uk/RTL.asp?Name=IntToHex)
[IntToStr](http://www.delphibasics.co.uk/RTL.asp?Name=IntToStr)
[IsLeapYear](http://www.delphibasics.co.uk/RTL.asp?Name=IsLeapYear)
[IsValidIdent](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_IsValidIdent.html)
[Length](http://www.delphibasics.co.uk/RTL.asp?Name=Length)
[Ln](http://www.delphibasics.co.uk/RTL.asp?Name=Ln)
[Low](http://www.delphibasics.co.uk/RTL.asp?Name=Low)
[LowerCase](http://www.delphibasics.co.uk/RTL.asp?Name=LowerCase)
[Now](http://www.delphibasics.co.uk/RTL.asp?Name=Now)
[Odd](http://www.delphibasics.co.uk/RTL.asp?Name=Odd)
[Ord](http://www.delphibasics.co.uk/RTL.asp?Name=Ord)
[Pos](http://www.delphibasics.co.uk/RTL.asp?Name=Pos) (see also [PosEx](ScriptFunctions.md#function_posex_asubstr__astring__aoffset__))
[Raise](http://www.delphibasics.co.uk/RTL.asp?Name=Raise)
[Random](http://www.delphibasics.co.uk/RTL.asp?Name=Random)
[ReadLn](http://www.delphibasics.co.uk/RTL.asp?Name=ReadLn) (see also [ReadStringFromFile](ScriptFunctions.md#function_readstringfromfile_afilename__))
[Reset](http://www.delphibasics.co.uk/RTL.asp?Name=Reset)
[Rewrite](http://www.delphibasics.co.uk/RTL.asp?Name=Rewrite)
[Round](http://www.delphibasics.co.uk/RTL.asp?Name=Round)
[ShowMessage](http://www.delphibasics.co.uk/RTL.asp?Name=ShowMessage) (use [SBSystem.ShowMessage](SBSystem.md) instead)
[Sin](http://www.delphibasics.co.uk/RTL.asp?Name=Sin)
[Sqr](http://www.delphibasics.co.uk/RTL.asp?Name=Sqr)
[Sqrt](http://www.delphibasics.co.uk/RTL.asp?Name=Sqrt)
[StrToDate](http://www.delphibasics.co.uk/RTL.asp?Name=StrToDate)
[StrToDateTime](http://www.delphibasics.co.uk/RTL.asp?Name=StrToDateTime)
[StrToFloat](http://www.delphibasics.co.uk/RTL.asp?Name=StrToFloat)
[StrToInt](http://www.delphibasics.co.uk/RTL.asp?Name=StrToInt)
[StrToIntDef](http://www.delphibasics.co.uk/RTL.asp?Name=StrToIntDef)
[StrToTime](http://www.delphibasics.co.uk/RTL.asp?Name=StrToTime)
[Time](http://www.delphibasics.co.uk/RTL.asp?Name=Time)
[TimeToStr](http://www.delphibasics.co.uk/RTL.asp?Name=TimeToStr)
[Trim](http://www.delphibasics.co.uk/RTL.asp?Name=Trim)
[TrimLeft](http://www.delphibasics.co.uk/RTL.asp?Name=TrimLeft)
[TrimRight](http://www.delphibasics.co.uk/RTL.asp?Name=TrimRight)
[Trunc](http://www.delphibasics.co.uk/RTL.asp?Name=Trunc)
[UpperCase](http://www.delphibasics.co.uk/RTL.asp?Name=UpperCase)
[VarArrayCreate](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/Variants_VarArrayCreate.html)
[VarArrayHighBound](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/Variants_VarArrayHighBound.html)
[VarArrayLowBound](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/Variants_VarArrayLowBound.html)
[VarIsNull](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/Variants_VarIsNull.html)
[VarToStr](http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/Variants_VarToStr.html)
[Write](http://www.delphibasics.co.uk/RTL.asp?Name=Write)
[WriteLn](http://www.delphibasics.co.uk/RTL.asp?Name=WriteLn) (see also [WriteStringToFile](ScriptFunctions.md#procedure_writestringtofile_afilename__atext__))

```

There are also some other special functions:

**procedure** Interpret(Ascript: **string**);

Executes the script source code specified by *Ascript* parameter

**function** Machine: TatVirtualMachine;

Returns the current virtual machine executing the script.

**function** Scripter: TatCustomScripter;

Returns the current script component.

**function** SetOf(**array**): integer;

Returns a set from the array passed. For example: MyFontStyle := SetOf([fsBold, fsItalic]);

All Content: 2BrightSparks Pte Ltd © 2003-2026
