Програмне забезпечення Dystlab має власний скриптовий рушій (Scripter), який підтримує мови програмування Pascal та Basic. Scripter можна використовувати для розробки застосунків, рисування рамок у звітах, графічної візуалізації, тощо.


Системні процедури та функції

Ці процедури та функції можна використовувати в усіх типах документів, незалежно від призначення.

Abs

Function: function Abs(X: Real): Real;

Description: Returns the absolute value of a number.

Example: Result := Abs(-5.5); // Result = 5.5

AnsiCompareStr

Function: function AnsiCompareStr(const S1, S2: string): Integer;

Description: Compares two strings case-sensitively.

Example: Result := AnsiCompareStr('Hello', 'hello'); // Result < 0

AnsiCompareText

Function: function AnsiCompareText(const S1, S2: string): Integer;

Description: Compares two strings case-insensitively.

Example: Result := AnsiCompareText('Hello', 'hello'); // Result = 0

AnsiLowerCase

Function: function AnsiLowerCase(const S: string): string;

Description: Converts a string to lowercase.

Example: Result := AnsiLowerCase('Hello'); // Result = 'hello'

AnsiUpperCase

Function: function AnsiUpperCase(const S: string): string;

Description: Converts a string to uppercase.

Example: Result := AnsiUpperCase('Hello'); // Result = 'HELLO'

Append

Procedure: procedure Append(var F: Text);

Description: Opens an existing file for appending text.

Example: Append(MyFile);

ArcTan

Function: function ArcTan(X: Real): Real;

Description: Returns the arctangent of a number.

Example: Result := ArcTan(1); // Result = 0.7854

Assigned

Function: function Assigned(P: Pointer): Boolean;

Description: Checks if a pointer is not nil.

Example: if Assigned(MyPointer) then ...

AssignFile

Procedure: procedure AssignFile(var F: File; const FileName: string);

Description: Assigns a file name to a file variable.

Example: AssignFile(MyFile, 'test.txt');

Beep

Procedure: procedure Beep;

Description: Produces a beep sound.

Example: Beep;

ChDir

Procedure: procedure ChDir(const Dir: string);

Description: Changes the current directory.

Example: ChDir('C:\Windows');

Chr

Function: function Chr(X: Byte): Char;

Description: Returns the character with the specified ASCII code.

Example: Result := Chr(65); // Result = 'A'

CloseFile

Procedure: procedure CloseFile(var F: File);

Description: Closes an open file.

Example: CloseFile(MyFile);

CompareStr

Function: function CompareStr(const S1, S2: string): Integer;

Description: Compares two strings case-sensitively.

Example: Result := CompareStr('Hello', 'hello'); // Result < 0

CompareText

Function: function CompareText(const S1, S2: string): Integer;

Description: Compares two strings case-insensitively.

Example: Result := CompareText('Hello', 'hello'); // Result = 0

Copy

Function: function Copy(const S: string; Index, Count: Integer): string;

Description: Returns a substring of a string.

Example: Result := Copy('Hello World', 7, 5); // Result = 'World'

Cos

Function: function Cos(X: Real): Real;

Description: Returns the cosine of an angle.

Example: Result := Cos(0); // Result = 1

CreateOleObject

Function: function CreateOleObject(const ClassName: string): IDispatch;

Description: Creates an OLE automation object.

Example: ExcelApp := CreateOleObject('Excel.Application');

Date

Function: function Date: TDateTime;

Description: Returns the current date.

Example: Result := Date; // Result = current date

DateTimeToStr

Function: function DateTimeToStr(DateTime: TDateTime): string;

Description: Converts a TDateTime value to a string.

Example: Result := DateTimeToStr(Now); // Result = current date and time as string

DateToStr

Function: function DateToStr(Date: TDateTime): string;

Description: Converts a TDateTime value to a date string.

Example: Result := DateToStr(Date); // Result = current date as string

DayOfWeek

Function: function DayOfWeek(Date: TDateTime): Integer;

Description: Returns the day of the week for a given date.

Example: Result := DayOfWeek(Date); // Result = day of the week (1-7)

Dec

Procedure: procedure Dec(var X: Integer; N: Integer = 1);

Description: Decrements a variable by a specified value.

Example: Dec(MyVar); // MyVar = MyVar - 1

DecodeDate

Procedure: procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word);

Description: Extracts the year, month, and day from a TDateTime value.

Example: DecodeDate(Date, Year, Month, Day);

DecodeTime

Procedure: procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);

Description: Extracts the hour, minute, second, and millisecond from a TDateTime value.

Example: DecodeTime(Now, Hour, Min, Sec, MSec);

Delete

Procedure: procedure Delete(var S: string; Index, Count: Integer);

Description: Deletes a substring from a string.

Example: Delete(MyString, 5, 3); // Removes 3 characters starting at position 5

EncodeDate

Function: function EncodeDate(Year, Month, Day: Word): TDateTime;

Description: Creates a TDateTime value from year, month, and day.

Example: Result := EncodeDate(2023, 10, 5); // Result = TDateTime for October 5, 2023

EncodeTime

Function: function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime;

Description: Creates a TDateTime value from hour, minute, second, and millisecond.

Example: Result := EncodeTime(12, 30, 0, 0); // Result = TDateTime for 12:30:00.000

EOF

Function: function EOF(var F: Text): Boolean;

Description: Checks if the end of a file has been reached.

Example: if EOF(MyFile) then ...

Exp

Function: function Exp(X: Real): Real;

Description: Returns the exponential of a number.

Example: Result := Exp(1); // Result = 2.71828

FilePos

Function: function FilePos(var F: File): LongInt;

Description: Returns the current position in a file.

Example: Result := FilePos(MyFile); // Result = current file position

FileSize

Function: function FileSize(var F: File): LongInt;

Description: Returns the size of a file.

Example: Result := FileSize(MyFile); // Result = size of the file

FloatToStr

Function: function FloatToStr(Value: Extended): string;

Description: Converts a floating-point number to a string.

Example: Result := FloatToStr(3.14); // Result = '3.14'

Format

Function: function Format(const Format: string; const Args: array of const): string;

Description: Formats a string with given arguments.

Example: Result := Format('Hello, %s!', ['World']); // Result = 'Hello, World!'

FormatDateTime

Function: function FormatDateTime(const Format: string; DateTime: TDateTime): string;

Description: Formats a TDateTime value as a string.

Example: Result := FormatDateTime('yyyy-mm-dd', Now); // Result = current date in 'yyyy-mm-dd' format

FormatFloat

Function: function FormatFloat(const Format: string; Value: Extended): string;

Description: Formats a floating-point number as a string.

Example: Result := FormatFloat('0.00', 3.14159); // Result = '3.14'

Frac

Function: function Frac(X: Real): Real;

Description: Returns the fractional part of a number.

Example: Result := Frac(3.14); // Result = 0.14

GetActiveOleObject

Function: function GetActiveOleObject(const ClassName: string): IDispatch;

Description: Retrieves an active OLE automation object.

Example: ExcelApp := GetActiveOleObject('Excel.Application');

High

Function: function High(X: array or type): Integer;

Description: Returns the highest index of an array or the highest value of an ordinal type.

Example: Result := High(MyArray); // Result = highest index of MyArray

Inc

Procedure: procedure Inc(var X: Integer; N: Integer = 1);

Description: Increments a variable by a specified value.

Example: Inc(MyVar); // MyVar = MyVar + 1

IncMonth

Function: function IncMonth(const Date: TDateTime; NumberOfMonths: Integer = 1): TDateTime;

Description: Adds a specified number of months to a date.

Example: Result := IncMonth(Date, 2); // Result = current date + 2 months

InputQuery

Function: function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean;

Description: Displays a dialog box with a prompt and an input field, allowing the user to enter a string value.

Example:

var
  UserInput: string;
begin
  if InputQuery('Input', 'Enter your name:', UserInput) then
    ShowMessage('Hello, ' + UserInput);
end;

Insert

Procedure: procedure Insert(const Source: string; var S: string; Index: Integer);

Description: Inserts a substring into a string at a specified position.

Example:

var
  S: string;
begin
  S := 'HelloWorld';
  Insert(' ', S, 6);
  ShowMessage(S); // Output: 'Hello World'
end;

Int

Function: function Int(X: Extended): Extended;

Description: Returns the integer part of a floating-point number.

Example:

var
  Num: Extended;
begin
  Num := Int(123.456);
  ShowMessage(FloatToStr(Num)); // Output: '123'
end;

IntToHex

Function: function IntToHex(Value: Integer; Digits: Integer): string;

Description: Converts an integer to a hexadecimal string representation.

Example:

var
  HexStr: string;
begin
  HexStr := IntToHex(255, 4);
  ShowMessage(HexStr); // Output: '00FF'
end;

IntToStr

Function: function IntToStr(Value: Integer): string;

Description: Converts an integer to a string.

Example:

var
  Str: string;
begin
  Str := IntToStr(123);
  ShowMessage(Str); // Output: '123'
end;

IsLeapYear

Function: function IsLeapYear(Year: Word): Boolean;

Description: Checks if a given year is a leap year.

Example:

var
  IsLeap: Boolean;
begin
  IsLeap := IsLeapYear(2020);
  ShowMessage(BoolToStr(IsLeap, True)); // Output: 'True'
end;

IsValidIdent

Function: function IsValidIdent(const Ident: string): Boolean;

Description: Checks if a string is a valid Pascal identifier.

Example:

var
  Valid: Boolean;
begin
  Valid := IsValidIdent('MyVar');
  ShowMessage(BoolToStr(Valid, True)); // Output: 'True'
end;

Length

Function: function Length(S: string): Integer;

Description: Returns the length of a string.

Example:

var
  Len: Integer;
begin
  Len := Length('Hello');
  ShowMessage(IntToStr(Len)); // Output: '5'
end;

Ln

Function: function Ln(X: Extended): Extended;

Description: Returns the natural logarithm of a number.

Example:

var
  LogVal: Extended;
begin
  LogVal := Ln(10);
  ShowMessage(FloatToStr(LogVal)); // Output: '2.30258509299405'
end;

Low

Function: function Low(X: array or type): Integer;

Description: Returns the lowest index of an array or the lowest value of an ordinal type.

Example:

var
  Arr: array[1..5] of Integer;
  LowIndex: Integer;
begin
  LowIndex := Low(Arr);
  ShowMessage(IntToStr(LowIndex)); // Output: '1'
end;

LowerCase

Function: function LowerCase(const S: string): string;

Description: Converts a string to lowercase.

Example:

var
  LowerStr: string;
begin
  LowerStr := LowerCase('Hello World');
  ShowMessage(LowerStr); // Output: 'hello world'
end;

Now

Function: function Now: TDateTime;

Description: Returns the current date and time.

Example:

var
  CurrentTime: TDateTime;
begin
  CurrentTime := Now;
  ShowMessage(DateTimeToStr(CurrentTime)); // Output: Current date and time
end;

Odd

Function: function Odd(Value: Integer): Boolean;

Description: Checks if an integer is odd.

Example:

var
  IsOdd: Boolean;
begin
  IsOdd := Odd(3);
  ShowMessage(BoolToStr(IsOdd, True)); // Output: 'True'
end;

Ord

Function: function Ord(X: Ordinal type): Integer;

Description: Returns the ordinal value of an ordinal type.

Example:

var
  OrdVal: Integer;
begin
  OrdVal := Ord('A');
  ShowMessage(IntToStr(OrdVal)); // Output: '65'
end;

Pos

Function: function Pos(const SubStr, S: string): Integer;

Description: Returns the position of a substring within a string.

Example:

var
  Position: Integer;
begin
  Position := Pos('World', 'Hello World');
  ShowMessage(IntToStr(Position)); // Output: '7'
end;

Raise

Procedure: procedure Raise Exception;

Description: Raises an exception.

Example:

begin
  raise Exception.Create('An error occurred');
end;

Random

Function: function Random(Range: Integer): Integer;

Description: Generates a random integer within a specified range.

Example:

var
  RandNum: Integer;
begin
  RandNum := Random(100);
  ShowMessage(IntToStr(RandNum)); // Output: Random number between 0 and 99
end;

ReadLn

Procedure: procedure ReadLn(var F: Text; var S: string);

Description: Reads a line of text from a file or standard input.

Example:

var
  Input: string;
begin
  Write('Enter your name: ');
  ReadLn(Input);
  ShowMessage('Hello, ' + Input);
end;

Reset

Procedure: procedure Reset(var F: File);

Description: Opens a file for reading.

Example:

var
  F: TextFile;
  S: string;
begin
  AssignFile(F, 'test.txt');
  Reset(F);
  ReadLn(F, S);
  ShowMessage(S);
  CloseFile(F);
end;

Rewrite

Procedure: procedure Rewrite(var F: File);

Description: Opens a file for writing, erasing any existing content.

Example:

var
  F: TextFile;
begin
  AssignFile(F, 'test.txt');
  Rewrite(F);
  WriteLn(F, 'Hello, World!');
  CloseFile(F);
end;

Round

Function: function Round(X: Extended): Int64;

Description: Rounds a floating-point number to the nearest integer.

Example:

var
  Rounded: Int64;
begin
  Rounded := Round(123.456);
  ShowMessage(IntToStr(Rounded)); // Output: '123'
end;

ShowMessage

Procedure: procedure ShowMessage(const Msg: string);

Description: Displays a message box with the specified text.

Example:

begin
  ShowMessage('Hello, World!');
end;

Sin

Function: function Sin(X: Extended): Extended;

Description: Returns the sine of an angle in radians.

Example:

var
  SineVal: Extended;
begin
  SineVal := Sin(Pi / 2);
  ShowMessage(FloatToStr(SineVal)); // Output: '1'
end;

Sqr

Function: function Sqr(X: Extended): Extended;

Description: Returns the square of a number.

Example:

var
  Square: Extended;
begin
  Square := Sqr(4);
  ShowMessage(FloatToStr(Square)); // Output: '16'
end;

Sqrt

Function: function Sqrt(X: Extended): Extended;

Description: Returns the square root of a number.

Example:

var
  SqrtVal: Extended;
begin
  SqrtVal := Sqrt(16);
  ShowMessage(FloatToStr(SqrtVal)); // Output: '4'
end;

StrToDate

Function: function StrToDate(const S: string): TDateTime;

Description: Converts a string to a date.

Example:

var
  Date: TDateTime;
begin
  Date := StrToDate('2023-10-01');
  ShowMessage(DateToStr(Date)); // Output: '10/01/2023'
end;

StrToDateTime

Function: function StrToDateTime(const S: string): TDateTime;

Description: Converts a string to a date and time.

Example:

var
  DateTime: TDateTime;
begin
  DateTime := StrToDateTime('2023-10-01 12:34:56');
  ShowMessage(DateTimeToStr(DateTime)); // Output: '10/01/2023 12:34:56 PM'
end;

StrToFloat

Function: function StrToFloat(const S: string): Extended;

Description: Converts a string to a floating-point number.

Example:

var
  FloatVal: Extended;
begin
  FloatVal := StrToFloat('123.456');
  ShowMessage(FloatToStr(FloatVal)); // Output: '123.456'
end;

StrToInt

Function: function StrToInt(const S: string): Integer;

Description: Converts a string to an integer.

Example:

var
  IntVal: Integer;
begin
  IntVal := StrToInt('123');
  ShowMessage(IntToStr(IntVal)); // Output: '123'
end;

StrToIntDef

Function: function StrToIntDef(const S: string; Default: Integer): Integer;

Description: Converts a string to an integer, with a default value if the conversion fails.

Example:

var
  IntVal: Integer;
begin
  IntVal := StrToIntDef('ABC', 0);
  ShowMessage(IntToStr(IntVal)); // Output: '0'
end;

StrToTime

Function: function StrToTime(const S: string): TDateTime;

Description: Converts a string to a time.

Example:

var
  TimeVal: TDateTime;
begin
  TimeVal := StrToTime('12:34:56');
  ShowMessage(TimeToStr(TimeVal)); // Output: '12:34:56 PM'
end;

Time

Function: function Time: TDateTime;

Description: Returns the current time.

Example:

var
  CurrentTime: TDateTime;
begin
  CurrentTime := Time;
  ShowMessage(TimeToStr(CurrentTime)); // Output: Current time
end;

TimeToStr

Function: function TimeToStr(Time: TDateTime): string;

Description: Converts a time to a string.

Example:

var
  TimeStr: string;
begin
  TimeStr := TimeToStr(Now);
  ShowMessage(TimeStr); // Output: Current time as a string
end;

Trim

Function: function Trim(const S: string): string;

Description: Removes leading and trailing whitespace characters from a string.

Example:

var
  Str: string;
begin
  Str := '  Hello, World!  ';
  Str := Trim(Str); // Str becomes 'Hello, World!'
end;

TrimLeft

Function: function TrimLeft(const S: string): string;

Description: Removes leading whitespace characters from a string.

Example:

var
  Str: string;
begin
  Str := '  Hello, World!';
  Str := TrimLeft(Str); // Str becomes 'Hello, World!'
end;

TrimRight

Function: function TrimRight(const S: string): string;

Description: Removes trailing whitespace characters from a string.

Example:

var
  Str: string;
begin
  Str := 'Hello, World!  ';
  Str := TrimRight(Str); // Str becomes 'Hello, World!'
end;

Trunc

Function: function Trunc(X: Real): Int64;

Description: Truncates a real number to an integer by removing the fractional part.

Example:

var
  Num: Int64;
begin
  Num := Trunc(123.456); // Num becomes 123
end;

UpperCase

Function: function UpperCase(const S: string): string;

Description: Converts a string to uppercase.

Example:

var
  Str: string;
begin
  Str := 'Hello, World!';
  Str := UpperCase(Str); // Str becomes 'HELLO, WORLD!'
end;

VarArrayCreate

Function: function VarArrayCreate(const Bounds: array of Integer; VarType: Integer): Variant;

Description: Creates a variant array with the specified bounds and type.

Example:

var
  Arr: Variant;
begin
  Arr := VarArrayCreate([0, 9], varInteger); // Creates a 10-element integer array
end;

VarArrayHighBound

Function: function VarArrayHighBound(const A: Variant; Dim: Integer): Integer;

Description: Returns the upper bound of a specific dimension in a variant array.

Example:

var
  HighBound: Integer;
  Arr: Variant;
begin
  Arr := VarArrayCreate([0, 9], varInteger);
  HighBound := VarArrayHighBound(Arr, 1); // HighBound becomes 9
end;

VarArrayLowBound

Function: function VarArrayLowBound(const A: Variant; Dim: Integer): Integer;

Description: Returns the lower bound of a specific dimension in a variant array.

Example:

var
  LowBound: Integer;
  Arr: Variant;
begin
  Arr := VarArrayCreate([0, 9], varInteger);
  LowBound := VarArrayLowBound(Arr, 1); // LowBound becomes 0
end;

VarIsNull

Function: function VarIsNull(const V: Variant): Boolean;

Description: Checks if a variant is null.

Example:

var
  IsNull: Boolean;
  V: Variant;
begin
  V := Null;
  IsNull := VarIsNull(V); // IsNull becomes True
end;

VarToStr

Function: function VarToStr(const V: Variant): string;

Description: Converts a variant to a string.

Example:

var
  Str: string;
  V: Variant;
begin
  V := 123.45;
  Str := VarToStr(V); // Str becomes '123.45'
end;

Write

Procedure: procedure Write([var F: Text;] P1 [, P2, ..., Pn]);

Description: Writes data to a text file or the console without a newline.

Example:

begin
  Write('Hello, '); // Outputs 'Hello, ' to the console
  Write('World!');  // Outputs 'World!' to the console
end;

WriteLn

Procedure: procedure WriteLn([var F: Text;] P1 [, P2, ..., Pn]);

Description: Writes data to a text file or the console and appends a newline.

Example:

begin
  WriteLn('Hello, World!'); // Outputs 'Hello, World!' followed by a newline
end;