\PABCSystem.pas //>> Стандартные константы # Standard constants unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Стандартные типы # Standard types unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas List<T> = System.Collections.Generic.List<T>; List < T > = System . Collections . Generic . List < T > \PABCSystem.pas Action0 = System.Action; Action0 = System . Action \PABCSystem.pas Regex = System.Text.RegularExpressions.Regex; Regex = System . Text . RegularExpressions . Regex \PABCSystem.pas PBoolean = ^boolean;//bool PBoolean = ^ boolean \PABCSystem.pas IOSystem = interface IOSystem = interface type function peek : integer function read_symbol : char procedure read ( var x : integer ) procedure read ( var x : real ) procedure read ( var x : char ) procedure read ( var x : string ) procedure read ( var x : byte ) procedure read ( var x : shortint ) procedure read ( var x : smallint ) procedure read ( var x : word ) \PABCSystem.pas IOStandardSystem = class(IOSystem) IOStandardSystem = class ( IOSystem ) type state : = 0 sym : integer function peek : integer virtual function read_symbol : char virtual procedure read ( var x : integer ) virtual procedure read ( var x : real ) virtual procedure read ( var x : char ) virtual procedure read ( var x : string ) virtual procedure read ( var x : byte ) virtual procedure read ( var x : shortint ) virtual \PABCSystem.pas Text = class Text = class \PABCSystem.pas TypedSet = class (System.Collections.IEnumerable) TypedSet = class ( System . Collections . IEnumerable ) \PABCSystem.pas AbstractBinaryFile = class AbstractBinaryFile = class \PABCSystem.pas TypedFile = sealed class(AbstractBinaryFile) TypedFile = sealed class ( AbstractBinaryFile ) \PABCSystem.pas BinaryFile = sealed class(AbstractBinaryFile) BinaryFile = sealed class ( AbstractBinaryFile ) \PABCSystem.pas Diapason = record Diapason = record type low , high : integer clow , chigh : object constructor ( _low , _high : integer ) constructor ( _low , _high : object ) \PABCSystem.pas //{{{ Начало секции интерфейса для документации }}} unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Подпрограммы ввода # Read subroutines unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas procedure Read(f: Text); procedure Read ( f : Text ) \PABCSystem.pas //>> Подпрограммы вывода # Write subroutines unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Общие подпрограммы для работы с файлами # Common subroutines for files unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Подпрограммы для работы с текстовыми файлами unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Подпрограммы для работы с двоичными файлами # Subroutines for binary files unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas function ParamCount: integer; function ParamCount : integer \PABCSystem.pas function ExtractFileName(fname: string): string; function ExtractFileName ( fname : string ) : string \PABCSystem.pas function Sign(x: shortint): integer; function Sign ( x : shortint ) : integer \PABCSystem.pas procedure Include(var s: TypedSet; el: object); procedure Include ( var s : TypedSet ; el : object ) \PABCSystem.pas //>> Подпрограммы для работы с символами unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Подпрограммы для работы со строками unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas procedure Inc(var i: integer); procedure Inc ( var i : integer ) \PABCSystem.pas function Low(i: System.Array): integer; function Low ( i : System . Array ) : integer \PABCSystem.pas //>> Подпрограммы для генерации последовательностей # Subroutines for sequence generation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Подпрограммы для генерации динамических массивов # Subroutines for array of T generation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Подпрограммы для генерации случайных матриц unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Подпрограммы для создания кортежей # Subroutines for tuple generation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Короткие функции Lst, HSet, SSet, Dict, KV # Short functions Lst, HSet, SSet, Dict, KV unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //{{{ Конец секции интерфейса для документации }}} unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Стандартные классы исключений unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Общедоступные переменные unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas output: TextFile; output : TextFile var \PABCSystem.pas // Internal System subprograms unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Internal typed sets operations unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Internal for OpenMPSupport unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Internal classes unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Internal procedures for PABCRTL.dll unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas function Print(Self: array [,] of real; w: integer := 8; f: integer := 2): array [,] of real; extensionmethod; function Print ( Self : array [ , ] of real ; w : integer : = 8 ; f : integer : = 2 ) : array [ , ] of real extensionmethod \PABCSystem.pas function Print<T>(Self: array [,] of T; w: integer := 4): array [,] of T; extensionmethod; function Print < T > ( Self : array [ , ] of T ; w : integer : = 4 ) : array [ , ] of T extensionmethod \PABCSystem.pas //>> Методы расширения типа array [,] of T # Extension methods for array [,] of T unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas implementation \PABCSystem.pas rnd: System.Random; rnd : System . Random var \PABCSystem.pas WRITELN_IN_BINARYFILE_ERROR_MESSAGE = 'Операция Writeln не применима к бинарным файлам!!Writeln is not applicable to binary files'; WRITELN_IN_BINARYFILE_ERROR_MESSAGE = const \PABCSystem.pas // Internal functions unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas constructor Diapason.Create(_low, _high: integer); constructor Diapason . Create ( _low , _high : integer ) \PABCSystem.pas constructor TypedSet.Create; constructor TypedSet . Create \PABCSystem.pas // Typed Set functions unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas constructor TypedFile.Create(ElementType: System.Type); constructor TypedFile . Create ( ElementType : System . Type ) \PABCSystem.pas function BinaryFile.ToString: string; function BinaryFile . ToString : string \PABCSystem.pas constructor GCHandlersController . Create \PABCSystem.pas // StructuredObjectToString unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Operations for String unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для array of T unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для List<T> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для HashSet<T> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для SortedSet<T> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для Dictionary<K,V>, SortedDictionary<K,V>, SortedList<K,V> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для BigInteger unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для Complex unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для sequence of T unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для Func unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для Tuple unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Функции для последовательностей и динамических массивов unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Функции Rec для создания кортежей unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Функции Lst, Dict, KV, HSet, SSet unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Внутренние функции для работы с короткими строками unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // read_lexem unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // IOStandardSystem: implementation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // read - readln unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // TextFile methods unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // AbstractBinaryFile methods unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // TypedFile & BinaryFile methods unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Eoln - Eof unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // write - writeln unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Print - Println unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Text files unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // ReadLines, ReadAllText, WriteLines, WriteAllText unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // EnumerateFiles, EnumerateDirectories unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Abstract binary files unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Typed files unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Binary files unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Operating System subroutines: implementation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // File name functions: implementation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Mathematical functions: implementation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Dynamic arrays: implementation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Char and String: implementation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Общие подпрограммы unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //{{{ Начало методов расширения }}} unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Генерация бесконечных последовательностей unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Методы расширения для sequence of T # Extension methods for sequence of T unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Методы расширения типа List<T> # Extension methods for List<T> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Методы расширения типа array of T # Extension methods for array of T unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Методы расширения типа array [,] of T # Extension methods for array [,] of T function Sin ( c : Complex ) : = Complex . Sin ( c ) function Power ( c , power : Complex ) : = Complex . Pow ( c , power ) function Log10 ( c : Complex ) : = Complex . Log10 ( c ) function Log ( c : Complex ) : = Complex . Log ( c ) function Exp ( c : Complex ) : = Complex . Exp ( c ) function Cos ( c : Complex ) : = Complex . Cos ( c ) function Conjugate ( c : Complex ) : = Complex . Conjugate ( c ) function Abs ( c : Complex ) : = Complex . Abs ( c ) function Sqrt ( c : Complex ) : = Complex . Sqrt ( c ) function CplxFromPolar ( magnitude , phase : real ) : = Complex . FromPolarCoordinates ( magnitude , phase ) function Cplx ( re , im : real ) : = new Complex ( re , im ) function Low ( i : System . Array ) : integer function High ( i : System . Array ) : integer function Length ( a : &Array ) : integer function Length ( a : &Array ; dim : integer ) : integer function Copy ( a : &Array ) : &Array procedure Sort < T > ( a : array of T ) procedure Sort < T > ( a : array of T ; cmp : ( T , T ) - > integer ) procedure Sort < T > ( a : array of T ; less : ( T , T ) - > boolean ) procedure Sort < T > ( l : List < T > ) procedure Sort < T > ( l : List < T > ; cmp : ( T , T ) - > integer ) \PABCSystem.pas //>> Методы расширения типа integer # Extension methods for integer unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Методы расширения типа BigInteger unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //>> Методы расширения типа real # Extension methods for real unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Методы расширения типа char unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Методы расширения типа string unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Методы расширения типа Func unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Методы расширения типа Tuple unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Методы расширения типа Complex unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Методы расширения IDictionary unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //{{{ Конец методов расширения }}} unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas //{{{ Конец секции реализации прикладных методов }}} unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Standard Exceptions: implementation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Внутренние вспомогательные функции unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Internal procedures for PABCRTL.dll: implementation unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas /// Интерфейс подсистемы ввода/вывода \PABCSystem.pas IOStandardSystem = class(IOSystem) IOStandardSystem = class ( IOSystem ) \PABCSystem.pas function IOStandardSystem.peek: integer; function IOStandardSystem . peek : integer \PABCSystem.pas function Seq < T > ( params a : array of T ) : sequence of T \PABCSystem.pas function Seq < T > ( params a : array of T ) : sequence of T \PABCSystem.pas const WRITELN_IN_BINARYFILE_ERROR_MESSAGE = InternalNullBasedArrayName = FILE_NOT_ASSIGNED = FILE_NOT_OPENED = FILE_NOT_OPENED_FOR_READING = FILE_NOT_OPENED_FOR_WRITING = RANGE_ERROR_MESSAGE = EOF_FOR_TEXT_WRITEOPENED = EOLN_FOR_TEXT_WRITEOPENED = SEEKEOF_FOR_TEXT_WRITEOPENED = \PABCSystem.pas function GetTranslation(message: string): string; function GetTranslation ( message : string ) : string \PABCSystem.pas procedure read(f: Text); procedure read ( f : Text ) \PABCSystem.pas function read_lexem(f: Text): string; function read_lexem ( f : Text ) : string \PABCSystem.pas procedure read(f: Text; var x: string); procedure read ( f : Text ; var x : string ) \PABCSystem.pas procedure write(f: Text); procedure write ( f : Text ) \PABCSystem.pas procedure write(f: Text; val: object); procedure write ( f : Text ; val : object ) \PABCSystem.pas function StructuredObjectToString(o: Object; n: integer := 0): string; function StructuredObjectToString ( o : Object ; n : integer : = 0 ) : string nmax = 100 nmax1 = 50 const \PABCSystem.pas function char.ToDigit(self: char): integer; extensionmethod; function char . ToDigit ( self : char ) : integer extensionmethod \PABCSystem.pas function string.ToInteger: integer; function string . ToInteger : integer \PABCSystem.pas // Extension methods for String \PABCSystem.pas function ReadIntegerFromString(s: string; var from: integer): integer; function ReadIntegerFromString ( s : string ; var from : integer ) : integer \PABCSystem.pas procedure string.operator+=(var left: string; right: string); procedure string . operator + = ( var left : string ; right : string ) \PABCSystem.pas function BigInteger.operator>(p: BigInteger; q: integer): boolean; function BigInteger . operator > ( p : BigInteger ; q : integer ) : boolean \PABCSystem.pas function System.Collections.Generic.IEnumerable<T>.operator+(a,b: sequence of T): sequence of T; function operator + < T > ( a , b : sequence of T ) : sequence of T extensionmethod \PABCSystem.pas function HashSet<T>.operator in(x: T; Self: HashSet<T>): boolean; function HashSet < T > . operator in ( x : T ; Self : HashSet < T > ) : boolean \PABCSystem.pas // Операции для Tuple function Low ( self : System . Array ) extensionmethod : = Low ( Self ) function High ( self : System . Array ) extensionmethod : = High ( Self ) function CreateSliceFromArrayInternal < T > ( Self : array of T ; from , step , count : integer ) : array of T function SliceArrayImpl < T > ( Self : array of T ; from , step , count : integer ) : array of T function Slice < T > ( Self : array of T ; from , step : integer ) : array of T extensionmethod function Slice < T > ( Self : array of T ; from , step , count : integer ) : array of T extensionmethod function SystemSliceArrayImpl < T > ( Self : array of T ; situation : integer ; from , &to : integer ; step : integer : = 1 ) : array of T function SystemSlice < T > ( Self : array of T ; situation : integer ; from , &to : integer ) : array of T extensionmethod function SystemSlice < T > ( Self : array of T ; situation : integer ; from , &to , step : integer ) : array of T extensionmethod function SystemSliceArrayImplQuestion < T > ( Self : array of T ; situation : integer ; from , &to : integer ; step : integer : = 1 ) : array of T function SystemSliceQuestion < T > ( Self : array of T ; situation : integer ; from , &to : integer ) : array of T extensionmethod function SystemSliceQuestion < T > ( Self : array of T ; situation : integer ; from , &to , step : integer ) : array of T extensionmethod \PABCSystem.pas // Операции для List<T> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для HashSet<T> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для SortedSet<T> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для Dictionary<K,V>, SortedDictionary<K,V>, SortedList<K,V> unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas // Операции для BigInteger unit PABCSystem uses System . Runtime . InteropServices , System . IO , System . Collections , System . Collections . Generic , System MaxShortInt = shortint . MaxValue MaxByte = byte . MaxValue MaxSmallInt = smallint . MaxValue MaxWord = word . MaxValue MaxLongWord = longword . MaxValue MaxInt64 = int64 . MaxValue MaxUInt64 = uint64 . MaxValue MaxDouble = real . MaxValue \PABCSystem.pas function Abs(x: BigInteger): BigInteger; function Abs ( x : BigInteger ) : BigInteger \PABCSystem.pas function Power(x: BigInteger; y: integer): BigInteger; function Power ( x : BigInteger ; y : integer ) : BigInteger \PABCSystem.pas function Sqr(x: BigInteger): BigInteger; function Sqr ( x : BigInteger ) : BigInteger \PABCSystem.pas function Odd(i: BigInteger): boolean; function Odd ( i : BigInteger ) : boolean \PABCSystem.pas function Max(a, b: BigInteger): BigInteger; function Max ( a , b : BigInteger ) : BigInteger \PABCSystem.pas function Min(a, b: BigInteger): BigInteger; function Min ( a , b : BigInteger ) : BigInteger \PABCSystem.pas function Arr<T>(params a: array of T): array of T; function Arr < T > ( params a : array of T ) : array of T \PABCSystem.pas function Seq<T>(params a: array of T): sequence of T; function Seq < T > ( params a : array of T ) : sequence of T \PABCSystem.pas function HSet<T>(params a: array of T): HashSet<T>; function HSet < T > ( params a : array of T ) : HashSet < T > \PABCSystem.pas function SSet<T>(params a: array of T): HashSet<T>; function SSet < T > ( params a : array of T ) : HashSet < T > \PABCSystem.pas function Dict<TKey, TVal>(params pairs: array of KeyValuePair<TKey, TVal>): Dictionary<TKey, TVal>; function Dict < TKey , TVal > ( params pairs : array of KeyValuePair < TKey , TVal > ) : Dictionary < TKey , TVal > \PABCSystem.pas function KV<TKey, TVal>(key: TKey; value: TVal): KeyValuePair<TKey, TVal>; function KV < TKey , TVal > ( key : TKey ; value : TVal ) : KeyValuePair < TKey , TVal > \PABCSystem.pas function CreateSliceFromListInternal < T > ( Self : List < T > ; from , step , count : integer ) : List < T > \PABCSystem.pas function CreateSliceFromArrayInternal<T>(Self: array of T; from,step,count: integer): array of T; function CreateSliceFromArrayInternal < T > ( Self : array of T ; from , step , count : integer ) : array of T \PABCSystem.pas function CreateSliceFromStringInternal<T>(Self: string; from,count,step: integer): string; function CreateSliceFromStringInternal ( Self : string ; from , step , count : integer ) : string function Low ( self : System . Array ) extensionmethod : = Low ( Self ) function High ( self : System . Array ) extensionmethod : = High ( Self ) \PABCSystem.pas function SliceListImpl<T>(Self: List<T>; from,step,count: integer): List<T>; function SliceListImpl < T > ( Self : List < T > ; from , step , count : integer ) : List < T > \PABCSystem.pas function SliceArrayImpl<T>(Self: array of T; from,step,count: integer): array of T; function SliceArrayImpl < T > ( Self : array of T ; from , step , count : integer ) : array of T \PABCSystem.pas function SliceStringImpl(Self: string; from,step,count: integer): string; function SliceStringImpl ( Self : string ; from , step , count : integer ) : string \PABCSystem.pas function Slice<T>(Self: sequence of T; from,step: integer): sequence of T; extensionmethod; function Slice < T > ( Self : sequence of T ; from , step : integer ) : sequence of T extensionmethod \PABCSystem.pas function Slice<T>(Self: List<T>; from,step,count: integer): List<T>; extensionmethod; function Slice < T > ( Self : List < T > ; from , step , count : integer ) : List < T > extensionmethod \PABCSystem.pas function Slice<T>(Self: array of T; from,step: integer): array of T; extensionmethod; function Slice < T > ( Self : array of T ; from , step : integer ) : array of T extensionmethod \PABCSystem.pas function Slice(Self: string; from,step: integer): string; extensionmethod; function Slice ( Self : string ; from , step : integer ) : string extensionmethod \PABCSystem.pas function CalcCountForSystemSlice(situation: integer; Len: integer; var from,&to: integer; step: integer): integer; function CheckAndCorrectFromToAndCalcCountForSystemSlice ( situation : integer ; Len : integer ; var from , &to : integer ; step : integer ) : integer \PABCSystem.pas function SystemSliceListImpl<T>(Self: List<T>; situation: integer; from,&to: integer; step: integer := 1): List<T>; function SystemSliceListImpl < T > ( Self : List < T > ; situation : integer ; from , &to : integer ; step : integer : = 1 ) : List < T > \PABCSystem.pas function SystemSliceArrayImpl<T>(Self: array of T; situation: integer; from,&to: integer; step: integer := 1): array of T; function SystemSliceArrayImpl < T > ( Self : array of T ; situation : integer ; from , &to : integer ; step : integer : = 1 ) : array of T \PABCSystem.pas function SystemSliceStringImpl(Self: string; situation: integer; from,&to: integer; step: integer := 1): string; function SystemSliceStringImpl ( Self : string ; situation : integer ; from , &to : integer ; step : integer : = 1 ) : string \PABCSystem.pas function SystemSlice < T > ( Self : List < T > ; situation : integer ; from , &to : integer ) : List < T > extensionmethod \PABCSystem.pas function SystemSlice < T > ( Self : array of T ; situation : integer ; from , &to : integer ) : array of T extensionmethod function Low ( self : System . Array ) extensionmethod : = Low ( Self ) function High ( self : System . Array ) extensionmethod : = High ( Self ) \PABCSystem.pas function SystemSlice ( Self : string ; situation : integer ; from , &to : integer ) : string extensionmethod function Low ( self : System . Array ) extensionmethod : = Low ( Self ) function High ( self : System . Array ) extensionmethod : = High ( Self ) \PABCSystem.pas procedure CheckStepAndCorrectFromTo ( situation : integer ; Len : integer ; var from , &to : integer ; step : integer ) \PABCSystem.pas function SystemSliceListImplQuestion < T > ( Self : List < T > ; situation : integer ; from , &to : integer ; step : integer : = 1 ) : List < T > \PABCSystem.pas function SystemSliceQuestion < T > ( Self : List < T > ; situation : integer ; from , &to : integer ) : List < T > extensionmethod \PABCSystem.pas function SystemSliceArrayImplQuestion < T > ( Self : array of T ; situation : integer ; from , &to : integer ; step : integer : = 1 ) : array of T function Low ( self : System . Array ) extensionmethod : = Low ( Self ) function High ( self : System . Array ) extensionmethod : = High ( Self ) \PABCSystem.pas function SystemSliceQuestion < T > ( Self : array of T ; situation : integer ; from , &to : integer ) : array of T extensionmethod function Low ( self : System . Array ) extensionmethod : = Low ( Self ) function High ( self : System . Array ) extensionmethod : = High ( Self ) \PABCSystem.pas function SystemSliceStringImplQuestion ( Self : string ; situation : integer ; from , &to : integer ; step : integer : = 1 ) : string function Low ( self : System . Array ) extensionmethod : = Low ( Self ) function High ( self : System . Array ) extensionmethod : = High ( Self ) \PABCSystem.pas function SystemSliceQuestion ( Self : string ; situation : integer ; from , &to : integer ) : string extensionmethod function Low ( self : System . Array ) extensionmethod : = Low ( Self ) function High ( self : System . Array ) extensionmethod : = High ( Self ) \PABCSystem.pas procedure CorrectFromTo ( situation : integer ; Len : integer ; var from , &to : integer ; step : integer ) \PABCSystem.pas function CorrectFromToAndCalcCountForSystemSliceQuestion(situation: integer; Len: integer; var from,&to: integer; step: integer): integer; function CorrectFromToAndCalcCountForSystemSliceQuestion ( situation : integer ; Len : integer ; var from , &to : integer ; step : integer ) : integer \PABCSystem.pas function read_lexem: string;// SSM 08.03.11 - пытаюсь исправить с peekом ситуацию с вводом '1 hello'. Должно работать function read_lexem : string \PABCSystem.pas function Ident<T1>(x: T1): T1; function Ident < T > ( x : T ) : T \PABCSystem.pas function Copy(a: &Array): &Array; function Copy ( a : &Array ) : &Array \PABCSystem.pas procedure Sort(a: &Array); procedure Sort < T > ( a : array of T ) \PABCSystem.pas f.sw.Write( procedure write ( f : Text ; val : object ) \PABCSystem.pas function FormatValue(value: object; NumOfChars: integer): string; function FormatValue ( value : object ; NumOfChars : integer ) : string \PABCSystem.pas function StructuredObjectToString(o: Object; n: integer := 0): string; function StructuredObjectToString ( o : Object ; n : integer : = 0 ) : string nmax = 100 nmax1 = 50 const \PABCSystem.pas procedure Reset(f: Text; en: Encoding := Encoding.Default); procedure Reset ( f : Text ; en : Encoding ) \PABCSystem.pas function Odd(i: byte): boolean; function Odd ( i : byte ) : boolean \PABCSystem.pas function Cplx(re,im: real): Complex; function Cplx ( re , im : real ) : Complex \PABCSystem.pas function succ(x: integer): integer; function succ ( x : integer ) : integer \PABCSystem.pas SeqBase = class(IEnumerable<object>,IEnumerator<object>) SeqBase = class ( IEnumerable < object > , IEnumerator < object > ) type function System . Collections . IEnumerable . GetEnumerator ( ) : System . Collections . IEnumerator function GetEnumerator ( ) : IEnumerator < object > function get_Current : object virtual function System . Collections . IEnumerator . get_Current ( ) : object function MoveNext ( ) : boolean virtual procedure Dispose ( ) virtual procedure Reset ( ) \PABCSystem.pas function Print<T>(Self: array [,] of T; w: integer := 4): array [,] of T; extensionmethod; function Print < T > ( Self : array [ , ] of T ; w : integer : = 4 ) : array [ , ] of T extensionmethod