13. Утилиты

13.1. TatSystemLibrary

Interpret(Script: String)

Выполняет скрипт, указанный в Script.

Parameters:Script (String) – Pascal скрипт
SetOf(Array: Array): Set

Формирует множество из переданного массива Array

Parameters:Array (Array) – Массив значений
Return type:Set
Assigned(X: Variant): Boolean

Метод проверяет указатель или переменную на null, если значение не присвоено, тогда возращает False, в противном случае True. Также работает со значениями типа Variant - varUnknown и varDispatch (IDispatch - представление OLE-объектов в скриптере)

Parameters:X (Variant) – Переменная или указатель
Return type:Boolean

13.2. TatSysUtilsLibrary

class TatSysUtilsLibrary

Системные утилиты

13.2.1. Файловая система

GetFolderPath(FolderConst: Integer): String

Метод позволяет получить полный путь к системным папкам.

Parameters:FolderConst (Integer) –

Целочисленное значение констант MSDN, с помощью которой можно получить путь к специфической системной директории. Значение констант можно посмотреть в MSDN.

Примеры констант:

  • CSIDL_PERSONAL
  • CSIDL_APPDATA
  • CSIDL_LOCAL_APPDATA
  • CSIDL_INTERNET_CACHE
  • CSIDL_COOKIES
  • CSIDL_HISTORY
  • CSIDL_COMMON_APPDATA
  • CSIDL_WINDOWS
  • CSIDL_SYSTEM
  • CSIDL_PROGRAM_FILES
  • CSIDL_MYPICTURES
  • CSIDL_PROGRAM_FILES_COMMON
  • CSIDL_COMMON_DOCUMENTS
  • CSIDL_FLAG_CREATE
  • CSIDL_COMMON_ADMINTOOLS
  • CSIDL_ADMINTOOLS
Return type:String
ExtractFileExt(FileName: String): String

Извлекает из полного имени файла его расширение

Parameters:FileName (String) – Имя файла
Return type:String
ChangeFileExt(FileName, Extension: String): String

Изменяет расширение файла

Parameters:
  • FileName (String) – Имя файла
  • Extension (String) – Новое расширение
Return type:

String

ExtractShortPathName(FileName: String): String

Возвращает короткое имя файла по переданному полному. Если передается короткое имя файла, оно возвращается без изменений.

Parameters:FileName (String) – Имя файла
Return type:String
FileIsReadOnly(FileName: String): Boolean

Проверяет включен ли атрибут “только для чтения” у файла FileName

Parameters:FileName (String) – Имя файла
Return type:String
RemoveDir(Directory: String): Boolean

Удаляет директорию

Parameters:Directory (String) – Директория
Return type:Boolean
FindNext(var SearchResult: TSearchRec): Integer

Находит следующий файл после успешного FindFirst

Parameters:SearchResult (TSearchRec) – var параметр. Результат поиска файла.
Return type:Integer
FileAge(FileName: String): Integer

Получение даты и времени последнего изменения файла. Возвращенное значение находится в 32 битном разделенном формате.

Parameters:FileName (String) – Имя файла
Return type:Integer
FileOpen(FileName: String; Mode: Integer): Integer

Открывает файл в режиме доступа, опеределенном в Mode. Если файл успешно открыт - возвращает дескриптор, иначе -1.

Parameters:
  • FileName (String) – Имя файла
  • Mode (Integer) –

    Режим доступа:

    • fmOpenRead
    • fmOpenWrite
    • fmOpenReadWrite
    • fmShareCompat
    • fmShareExclusive
    • fmShareDenyWrite
    • fmShareDenyRead
    • fmShareDenyNone
Return type:

Integer

ExtractFilePath(FileName: String): String

Извлекает из полного имени файла путь.

Parameters:FileName (String) – Имя файла
Return type:String
RenameFile(FileName, NewFileName: String): Boolean

Изменят имя файла или директории

Parameters:
  • FileName (String) – Имя файла
  • NewFileName (String) – Новое имя файла
Return type:

Boolean

DeleteFile(FileName: String): Boolean

Удаляет файл

Parameters:FileName (String) – Имя файла
Return type:Boolean
FileSetReadOnly(FileName: String; ReadOnly: Boolean): Boolean

Изменяет режим только для чтения у файла

Parameters:
  • FileName (String) – Полное имя файла.
  • ReadOnly (Boolean) –

    Значение свойства ReadOnly.

    True
    включено
    False
    выключено
Return type:

Boolean

FileSetAttr(FileName: String; Attr: Integer): Integer

Позволяет задать файлу FileName атрибуты Attr. В случае успешной установки атрибута возвращает 0, иначе код ошибки.

Parameters:
  • FileName (String) – Имя файла.
  • Attr (Integer) –
    faReadOnly
    Только чтение. Текущий пользователь не имеет прав на запись
    faHidden
    Скрытый файл, начинается с “.”
    faSysFile
    Системный файл, ссылка, файл устройства, файл сокет
    faVolumeID
    не испольузется
    faDirectory
    Каталог
    faArchive
    Архив
    faSymLink
    Символьная ссылка
    faAnyFile
    Прочий файл
Return type:

Integer

FileGetAttr(FileName: String): Integer

Возвращает все атрибуты файла в виде целочисленного значения, в котором каждому атрибуту будет выделен свой разряд.

Parameters:FileName (String) – Имя файла
Return type:Integer
FileGetDate(FileName: String): Integer

Возвращает дату модификации файла после его последнего открытия

Parameters:FileName (String) – Имя файла
Return type:Integer
FindClose(var SearchResult: TSearchRec)

Закрывает успешный FindFirst и FindNext поиск файла.

Parameters:SearchResult (TSearchRec) – var параметр. Результат поиска файла
FindFirst(FileMask: String; Attributes: Integer; var SearchResult: TSearchRec): Integer

Ищет файлы, соответствующие FileMask и Attributes, возвращая первое соответствие в SearchResult. Если соответствие найдено - возвращается 0, иначе отрицательное значение.

Parameters:
  • FileMask (String) – Может содержать путь, имя файла. Имя файла может содержать символы - шаблоны.
  • Attributes (Integer) – Атрибуты файла
  • SearchResult (TSearchRec) – var параметр. Результат поиска файла
Return type:

Integer

ForceDirectories(Path: String): Boolean

Создает одну или более вложенных директорий, указанных в Path

Parameters:Path (String) – Путь новой директории
Return type:Boolean
DirectoryExists(Path: String): Boolean

Проверяет существует ли директория

Parameters:Path (String) – Путь к директории
Return type:Boolean
FileExists(FileName: String): Boolean

Проверяет существует ли файл

Parameters:FileName (String) – Имя файла
Return type:Boolean
FileClose(FileName: String)

Закрывает файл

Parameters:String (String) – Имя файла
FileWrite(FileHandle: Integer; const Buffer; Count: Integer): Integer

Записывает в файл Count байт из буфера Buffer. Возвращает количество записанных байт, если возникла ошибка - -1.

Parameters:
  • FileHandle (Integer) – Дескриптор файла
  • Buffer – Буфер
  • Count (Integer) – Количество записываемых байт
Return type:

Integer

FileRead(FileHandle: Integer; const Buffer, Count: Integer): Integer

Читает Count байт из файла в буфер Buffer. Возвращает количество считанных байт.

Parameters:
  • FileHandle (Integer) – Дескриптор файла
  • Buffer – Буфер
  • Count (Integer) – Количество считываемых байт
Return type:

Integer

GetFileVersion(FileName: String): Integer

Возвращает версию файла

Parameters:FileName (String) – Имя файла
Return type:Integer
CreateDir(Directory: String): Boolean

Создает каталог в текущей директории

Parameters:Directory (String) – Название новой директории
Return type:Boolean
SetCurrentDir(Directory: String): Boolean

Устанавливает рабочую директорию

Parameters:Directory (String) – Путь к директории
Return type:Boolean
GetCurrentDir(): String

Возвращает название рабочей директории

Return type:String
DiskSize(Drive: Byte): Integer

Возвращает размер указанного диска в байтах

Parameters:Drive (Byte) – Номер диска в алфавитном порядке
Return type:Integer
DiskFree(Drive: Byte): Integer

Возвращает число свободных байтов на указанном диске

Parameters:Drive (Byte) – Номер диска в алфавитном порядке
Return type:Integer
FileSearch(FileName: String, DirectoryList: Array): String

Поиск файла в одной или более директориях. Если файл найден - возвращается полное имя файла, иначе пустая строка.

Parameters:
  • FileName (String) – Имя файла
  • DirectoryList (Array) – Список директорий
Return type:

String

ExtractRelativePath(BaseName, DestName: String): String

Преобразовывает полный путь в относительный

Parameters:
  • BaseName (String) – Полное имя базовой директории, к которой должен относиться возвращаемый путь
  • DestName (String) – Имя файла для преобразования
Return type:

String

ExpandUNCFileName(FileName: String): String

Возвращает полное имя файла в UNC формате

Parameters:FileName (String) – Имя файла
Return type:String
ExpandFileNameCase(FileName: String; out MatchFound: TFilenameCaseMatch): String

Возвращает полный путь для имени файла, заданного относительно, с учетом регистра

Parameters:
  • FileName (String) – Имя файла
  • MatchFound (TFilenameCaseMatch) –
    out параметр. Возможное значение:
    • mkNone
    • mkExactMatch
    • mkSingleMatch
    • mkAmbiguous
Return type:

String

ExpandFileName(FileName: String): String

Возвращает полный путь для имени файла, заданного отосительно.

Parameters:FileName (String) – Имя файла
Return type:String
ExtractFileName(FileName: String): String

Извлекает из полного имени файла краткое

Parameters:FileName (String) – Полное имя файла
Return type:String
ExtractFileDrive(FileName: String): String

Извлекает из полного имени файла название диска. Если в полном имени отсутствует префикс диска - возвращает пустую строку.

Parameters:FileName (String) – Полное имя файла
Return type:String
ExtractFileDir(FileName: String): String

Извлекает из полного имени файла директорию, в которой он хранится.

Parameters:FileName (String) – Имя файла
Return type:String

13.2.2. Строки

StrByteType(Str: String; Index: Integer): TMbcsByteType

Определяет тип байта нуль-терминированной строки Str с индексом Index: принадлежит однобайтовому символу, является первым байтом двухбайтового символа или же вторым байтом двухбайтового символа.

Parameters:
Return type:

TMbcsByteType

GetLocaleStr(Locale, LocaleType: Integer; DefaultString: String): String

Возвращает локализуемое значение указанного типа для заданной локали. Если такое значение отсутствует возвращает DefaultString.

Parameters:
  • Locale (Integer) – Значение локали. Например $0409 - локаль US English.
  • LocaleType (Integer) – Тип локализуемого значения. Например LOCALE_SMONTHNAME1 - название месяца.
  • DefaultString (String) – Возвращаемое значение, если LocaleType не был найден.
Return type:

String

StrToBool(Str: String): Boolean

Преобразовывает String в Boolean

Parameters:Str (String) – Строка
Return type:Boolean
StrToIntDef(Str: String; Default: Integer): Integer

Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Integer. Если Преобразование не удалось - возвращается Default.

Parameters:
  • Str (String) – Строка
  • Default (Integer) – Значение по-умолчанию
Return type:

Integer

AnsiExtractQuotedStr(Str, Quote: String): String

Удаляет символы Quote из начала и конца строки. Если строка не начинается с символа Quote, возвращает пустую строку. Если в строке более двух символов Quote, возвращает подстроку от начала и до ближайшего символа.

Parameters:
  • Str (String) – Строка
  • Quote (String) – Символ кавычки
Return type:

String

WideCompareText(Str1, Str2: String): Integer

Сравнивает юникодные строки, основываясь на текущей локали, без чуствительности к регистру.Если значения равны - возвращается 0, если Str1<Str2 возвращает отрицательное значение, иначе возвращает положительное значение.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Integer

WideLowerCase(Str: String): String

Возвращает юникодную строку в нижнем регистре

Parameters:Str (String) – Строка
Return type:String
AnsiStrLower(Str: String): String

Возвращает строку в кодировке Ansi в нижнем регистре

Parameters:Str (String) – Строка
Return type:String
AnsiStrComp(Str1, Str2: String): Integer

Сравнивает две нуль-терминированные строки с учетом регистра и языковых особенностей текущей локализованной версии ОС.

Parameters:
Return type:

Integer

LoadStr(Ident: Integer): String

Возвращает строку, опеределенную параметром Ident

Parameters:Ident (Integer) – Идентификатор ресурсной строки
Return type:String
BoolToStr(Boolean, UseBoolStrs: Booolean): String

Преобразовывает значение Boolean в строку. Если UseBoolStrs равен True, возвращаемые значения будут текстовыми ('True' и 'False' соответственно), в противном случае - числовыми ('-1' и '0').

Parameters:
  • Boolean (Boolean) – Boolean значение
  • UseBoolStrs (Boolean) – Использовать текстовое представление значения
Return type:

String

TryStrToBool(Str, out Value: String): Boolean

Преобразует String в Boolean. Возвращает True, если преобразование удалось.

Parameters:
  • Str (String) – Строка
  • Value (String) – out параметр. Возвращаемое значение
Return type:

Boolean

StrToBoolDef(Str: String; Default: Boolean): Boolean

Преобразует String в Boolean. Если преобразование не удалось возвращает значение Default.

Parameters:
  • Str (String) – Строка
  • Default (Boolean) – Значение, если преобразование невозможно
Return type:

Boolean

TryStrToInt64(Str: String; out Value: Integer): Boolean

Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Int64. Если преобразование удалось - возвращается True.

Parameters:
  • Str (String) – Строка
  • Value (Integer) – out параметр. Возвращаемое значение
Return type:

Boolean

StrToInt64Def(Str: String; Default: Integer): Int64

Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Int64. Если преобразование не удалось - возвращается значение Default.

Parameters:
  • Str (String) – Строка
  • Default (Int64) – Значение, если преобразование невозможно
Return type:

Integer

StrToInt64(Str: String): Integer

Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Int64.

Parameters:Str (String) – Строка
Return type:Integer
TryStrToInt(Str: String; out Value: Integer): Boolean

Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Integer. Если преобразование удалось - возвращает True.

Parameters:
  • Str (String) – Строка
  • Value (Integer) – out параметр. Возвращаемое значение
Return type:

Boolean

StrToInt(Str: String): Integer

Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Integer.

Parameters:Str (String) – Строка
Return type:Integer
AdjustLineBreaks(Str: String): String

Приводит символы конца строки к виду CR/LF.

Parameters:Str (String) – Строка
Return type:String
AnsiDequotedStr(Str, Quote: String): String

Удаляет символы Quote из начала и конца строки в кодировке Ansi. Если строка не начинается с символа Quote, возвращает пустую строку. Если в строке более двух символов Quote, возвращает подстроку от начала и до ближайшего символа.

Parameters:
  • Str (String) – Строка
  • Quote (String) – Символ кавычки
Return type:

String

AnsiQuotedStr(Str, Quote: String): String

Добавляет символы Quote в начало и конец строки в кодировке Ansi.

Parameters:
  • Str (String) – Строка
  • Quote (String) – Символ кавычки
Return type:

String

QuotedStr(Str: String): String

Добавляет символы кавычки ' в начало и конец строки, а также экранирует каждый одиночный символ кавычки внутри строки.

Parameters:Str (String) – Строка
Return type:String
WideSameText(Str1, Str2: String): Integer

Сравнивает юникодные строки, основываясь на текущей локали, без чуствительности к регистру. Возвращает True, если строки равны.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Integer

WideSameStr(Str1, Str2: String): Boolean

Сравнивает юникодные строки, основываясь на текущей локали. Возвращает True, если строки равны.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Boolean

WideCompareStr(Str1, Str2: String): Integer

Сравнивает юникодные строки, основываясь на текущей локали. При Str1>Str2 результат положителен, если Str1<Str2, то результат отрицателен, иначе 0.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Integer

WideUpperCase(Str: String): String

Возвращает юникодную строку в верхнем регистре

Parameters:Str (String) – Строка
Return type:String
AnsiStrLastChar(Str: String): String

Возвращает указатель на последний полный символ нуль-терминированной строки.

Parameters:Str (String) – Нуль-терминированная строка
Return type:String
AnsiLastChar(Str: String): String

Возвращает указатель на последний символ в строке.

Parameters:Str (String) – Строка
Return type:String
AnsiStrUpper(Str: String): String

Переводит все символы нуль-терминированной строки в верхний регистр, учитывая языковые особенности текущей локализованной версии ОС.

Parameters:Str (String) – Нуль-терминированная строка
Return type:String
AnsiStrLIComp(Str1, Str2: String; MaxLen: Integer): Integer

Сравнивает первые MaxLen байт двух Нуль-терминированных строк Str1 и Str2 без учета регистра, но учитывая особенности языка текущей локализованной версии ОС. В случае, если длина Str1 или Str2 не превышает значение MaxLen, то функция сравнивает строки полностью. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, а когда первые MaxLen байт строк равны, функция возвращает 0.

Parameters:
Return type:

Integer

AnsiStrLComp(Str1, Str2: String; MaxLen: Integer): Integer

Сравнивает первые MaxLen байт двух Нуль-терминированных строк Str1 и Str2, учитывая особенности языка текущей локализованной версии ОС. В случае, если длина Str1 или Str2 не превышает значение MaxLen, то функция сравнивает строки полностью. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, а когда первые MaxLen байт строк равны, функция возвращает 0.

Parameters:
Return type:

Integer

AnsiStrIComp(Str1, Str2: String): Integer

Сравнивает две нуль-терминированные строки Str1 и Str2 без учета регистра, учитывая особенности языка текущей локализованной версии ОС. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, иначе 0.

Parameters:
Return type:

Integer

AnsiSameText(Str1, Str2: String): Boolean

Сравнивает две строки Str1 и Str2, учитывая особенности языка текущей локализованной версии ОС. Если значения строк равны - возвращает True.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Boolean

AnsiCompareText(Str1, Str2: String): Integer

Сравнивает две строки Str1 и Str2, учитывая особенности языка текущей локализованной версии ОС. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, иначе 0.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Integer

AnsiSameStr(Str1, Str2: String): Boolean

Сравнивает две нуль-терминированные строки Str1 и Str2, но учитывая особенности языка текущей локализованной версии ОС. Если значения строк равны - возвращает True.

Parameters:
Return type:

Boolean

AnsiCompareStr(Str1, Str2: String): Integer

Сравнивает две нуль-терминированные строки Str1 и Str2, учитывая особенности языка текущей локализованной версии ОС. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, иначе 0.

Parameters:
Return type:

Integer

AnsiLowerCase(Str1: String): String

Преобразует Ansi строку в нижний регистр.

Parameters:Str1 (String) – Строка
Return type:String
AnsiUpperCase(Str: String): String

Преобразует Ansi строку в верхний регистр.

Parameters:Str (String) – Строка
Return type:String
SameText(Str1, Str2: String): Boolean

Сравнивает две строки Str1 и Str2 без учета регистра. Если значения равны - возвращает True.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Boolean

CompareText(Str1, Str2: String): Integer

Сравнивает две строки Str1 и Str2. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, иначе 0.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Integer

CompareStr(Str1, Str2: String): Integer

Сравнивает две строки Str1 и Str2 без учета регистра. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, иначе 0.

Parameters:
  • Str1 (String) – Первая строка
  • Str2 (String) – Вторая строка
Return type:

Integer

LowerCase(Str: String): String

Преобразует строку в нижний регистр.

Parameters:Str (String) – Строка
Return type:String
UpperCase(Str: String): String

Преобразует строку в верхний регистр

Parameters:Str (String) – Строка
Return type:String
AppendStr(var Str1, Str2: String)

Добавляет строку Str2 в конец строки Str1

Parameters:
  • Str1 (String) – var параметр. Первая строка
  • Str2 (String) – Вторая строка
GUIDToString(GUID: TGUID): String

Преобразует GUID значение в строку печатных символов.

Parameters:GUID (TGUID) – GUID значение
Return type:String
StringToGUID(Str: String): TGUID

Преобразует строку в GUID значение.

Parameters:Str (String) – Строка
Return type:TGUID
StringReplace(SourceString, OldPattern, NewPattern: String; Flags: TReplaceFlags): String

Заменяет вхождения подстроки OldPattern в SourceString строкой NewPattern в соответствии с настройками Flags.

Parameters:
  • SourceString (String) – Строка
  • OldPattern (String) – Подстрока которую нужно заменить
  • NewPattern (String) – Подстрока на которую заменяется OldPattern
  • Flags (TReplaceFlags) –

    Множество настроек замены. Возможные значения:

    • rfReplaceAll - замена всех встреченных подстрок
    • rfIgnoreCase - игнорирует регистр при поиске
Return type:

String

AnsiStrScan(Str: String; Chr: Char): String

Возвращает указатель на первый символ Chr в строке Str. Если символ не найден, возвращает null.

Parameters:
  • Str (String) – Строка
  • Chr (Char) – Искомый символ
Return type:

String

AnsiStrRScan(Str: String; Chr: Char): String

Возвращает указатель на последний символ Chr в строке Str. Если символ не найден, возвращает null.

Parameters:
  • Str (String) – Строка
  • Chr (Char) – Искомый символ
Return type:

String

AnsiStrPos(Str, SubString: String): Integer

Ищет подстроку SubString в нуль-терминированной строке Str, возвращая позицию первого вхождения.

Parameters:
Return type:

Integer

AnsiPos(Str, SubString: String): Integer

Ищет подстроку SubString в строке Str, возвращая позицию первого вхождения.

Parameters:
  • Str (String) – Строка
  • SubString (String) – Искомая подстрока
Return type:

Integer

AnsiUpperCaseFileName(FileName: String): String

Преобразует имя файла в верхний регистр

Parameters:FileName (String) – Имя файла
Return type:String
AnsiLowerCaseFileName(FileName: String): String

Преобразует имя файла в нижний регистр

Parameters:FileName (String) – Имя файла
Return type:String
SameFileName(FileName1, FileName2: String): Boolean

Сравнивает имена файлов, если они одинаковые - возвращает True.

Parameters:
  • FileName1 (String) – Первое имя файла
  • FileName2 (String) – Второе имя файла
Return type:

Boolean

AnsiCompareFileName(FileName1, FileName2: String): Integer

Сравнивает две нуль-терминированные строки FileName1 и FileName2 без учета регистра.Основное назначение - сравнивание имен файлов. При FileName1>FileName2 результат функции положителен, если FileName1<FileName2, то результат отрицателен, иначе 0.

Parameters:
  • FileName1 (String) – Первое имя файла
  • FileName2 (String) – Второе имя файла
Return type:

Integer

LastDelimiter(Str, Delimiter: String): Integer

Находит последнее вхождение любого набора символов разделителей в строке.

Parameters:
  • Str (String) – Строка
  • Delimiter (String) – Строка разделителей. Может состоять из нескольких символов.
Return type:

Integer

ExcludeTrailingBackslash(Path: String): String

Возвращает модифицированную строку, определяющую путь к файлу, удаляя из её конца символ \.

Parameters:Path (String) – Путь к файлу
Return type:String
ExcludeTrailingPathDelimiter(Path: String): String

Возвращает модифицированную строку, определяющую путь к файлу, удаляя из её конца символ разделения директорий.

Parameters:Path (String) – Путь к файлу
Return type:String
IncludeTrailingBackslash(Path: String): String

Возвращает модифицированную строку, определяющую путь к файлу, добавляя в конец символ \.

Parameters:Path (String) – Путь к файлу
Return type:String
IncludeTrailingPathDelimiter(Path: String): String

Возвращает модифицированную строку, определяющую путь к файлу, добавляя в конец символ разделения директорий.

Parameters:Path (String) – Путь к файлу
Return type:String
IsDelimiter(Str, Delimiters: String; Index: Integer): Boolean

Определяет, является ли символ строки Str, стоящий в позиции Index, символом-разделителем из набора символов, указанных в параметре Delimiters.

Parameters:
  • Str (String) – Строка
  • Delimiters (String) – Набор символов-разделителей
  • Index (Integer) – Позиция проверяемого сивола
Return type:

Boolean

IsPathDelimiter(Str: String; Index: Integer): Boolean

Определяет, является ли символ в позиции Index строки Str символом \.

Parameters:
  • Str (String) – Строка
  • Index (Integer) – Позиция проверяемого сивола
Return type:

Boolean

NextCharIndex(Str: String; Index: Integer): Integer

Возвращает индекс байта следующего символа

Parameters:
  • Str (String) – Строка
  • Index (Integer) – Индекс символа
Return type:

Integer

CharLength(Str: String; Index: Integer): Integer

Возвращает количество байт, использующихся символом с индексом Index

Parameters:
  • Str (String) – Строка
  • Index (Integer) – Индекс символа
Return type:

Integer

StrNextChar(Str: String): String

Возвращает указатель на следующий символ

Parameters:Str (String) – Строка
Return type:String
StrCharLength(Str: String): Integer

Возвращает количество байт, использующихся первым символом в строке.

Parameters:Str (String) – Строка
Return type:Integer
CharToByteIndex(Str: String; Index: Integer): Integer

Возвращает порядковый номер байта, который принадлежит указанному символу строки Str.

Parameters:
  • Str (String) – Строка
  • Index (Integer) – Индекс символа
Return type:

Integer

ByteToCharIndex(Str: String; Index: Integer): Integer

Возвращает индекс символа в строке Str, который содержит байт с порядковым номером Index.

Parameters:
  • Str (String) – Строка
  • Index (Integer) – Порядковый номер байта
Return type:

Integer

CharToByteLen(Str: String; MaxLen: Integer): Integer

Определяет, сколько байт занимают первые MaxLen символов строки Str и возвращает это значение.

Parameters:
  • Str (String) – Строка
  • MaxLen (Integer) – Количество символов
Return type:

Integer

ByteToCharLen(Str: String; MaxLen: Integer): Integer

Определяет, скольким символам принадлежат первые MaxLen байт строки Str, и возвращает это значение.

Parameters:
  • Str (String) – Строка
  • MaxLen (Integer) – Количество байт
Return type:

Integer

GetLocaleFormatSettings(LCID: Integer, var FormatSettings: TFormatSettings)

Получает LCID Windows идентификатор кода языка и записывает их в FormatSettings

Parameters:
  • LCID (Integer) – Windows идентификатор кода языка
  • FormatSettings (TFormatSettings) – var параметр. Настойки форматирования
GetFormatSettings()

Сбрасывает все значения параметров форматирования дат и числовых переменных в значения по умолчанию.

GetLocaleChar(Locale, LocaleType: Integer; Default: Char): Char

Получает первый символ значения переменной LocaleType в заданной локали Locale, если значение получено не было - возвращает Default.

Parameters:
  • Locale (Integer) – Значение локали. Например $0409 - локаль US English.
  • LocaleType (Integer) – Тип локализуемого значения. Например LOCALE_SMONTHNAME1 - название месяца.
  • Default (Char) – Возвращающееся значение, если LocaleType не был найден.
Return type:

Char

StrDispose(Str: String)

Освобождает память, выделенную функциями StrNew и StrAlloc.

Parameters:Str (String) – Строка
StrNew(Str: String): String

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

Parameters:Str (String) – Строка
Return type:String
StrBufSize(Str: String): Integer

Определяет, какое максимальное число символов может содержать нуль-терминированная строка Str, память под которую была распределена функцией StrAlloc.

Parameters:Str (String) – Нуль-терминированная строка
Return type:Integer
StrAlloc(Size: Byte): String

Выделяет память под нуль-терминированную строку и возвращает указатель на местоположение первого символа строки.

Parameters:Size (Byte) – Размер строки в байтах
Return type:String
StrPas(Str: String): String

Преобразует нуль-терминированную строку в строку типа String

Parameters:Str (String) – Нуль-терминированная строка
Return type:String
StrLower(Str: String): String

Переводит строку в нижний регистр

Parameters:Str (String) – Строка
Return type:String
StrUpper(Str: String): String

Переводит строку в верхний регистр

Parameters:Str (String) – Строка
Return type:String
StrPos(Substring, Str: String): String

Возвращает указатель на первое местоположение подстроки Substring в нуль-терминированной строке Str.

Parameters:
Return type:

String

StrRScan(Characters, SearchChar: Char): String

Если SearchChar присутствует в Characters, то в качестве результата возвращается указатель на последнее вхождение SearchChar.

Parameters:
  • Characters (String) – Список символов
  • SearchChar (Char) – Искомый символ
Return type:

String

StrScan(Characters, SearchChar: Char): String

Если SearchChar присутствует в Characters, то в качестве результата возвращается указатель на вхождение SearchChar.

Parameters:
  • Characters (String) – Список символов
  • SearchChar (Char) – Искомый символ
Return type:

String

StrLIComp(Str1, Str2: String; MaxLen: Integer): Integer

Сравнивает первые MaxLen символов двух нуль-терминированных строк Str1 и Str2 без учета регистра и особенностей языка текущей локализованной версии ОС. В случае, если длина Str1 или Str2 не превышает значение MaxLen, то функция сравнивает строки полностью. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, а когда первые MaxLen байт строк равны, функция возвращает 0.

Parameters:
Return type:

Integer

StrLComp(Str1, Str2: String; MaxLen: Integer): Integer

Сравнивает первые MaxLen символов двух нуль-терминированных строк Str1 и Str2 без учета особенностей языка текущей локализованной версии ОС. В случае, если длина Str1 или Str2 не превышает значение MaxLen, то функция сравнивает строки полностью. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, а когда первые MaxLen байт строк равны, функция возвращает 0.

Parameters:
Return type:

Integer

StrIComp(Str1, Str2: String): Integer

Сравнивает две нуль-терминированные строки Str1 и Str2 без учета регистра и особенностей языка текущей локализованной версии ОС. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, иначе 0.

Parameters:
Return type:

Integer

StrComp(Str1, Str2: String): Integer

Сравнивает две нуль-терминированные строки Str1 и Str2 без особенностей языка текущей локализованной версии ОС. При Str1>Str2 результат функции положителен, если Str1<Str2, то результат отрицателен, иначе 0.

Parameters:
Return type:

Integer

StrLCat(Str1, Str2: String; MaxLen: Integer): String

Копирует символы нуль-терминированной строки Str2 в конец нуль-терминированной строки Str1 до тех пор, пока количество символов результирующей строки не достигнет значения MaxLen.

Parameters:
Return type:

String

StrCat(Str1, Str2: String): String

Копирует нуль-терминированную строку Str2 в конец нуль-терминированной строки Str1.

Parameters:
Return type:

String

StrPLCopy(Dest, Source: String; MaxLen: Integer): String

Копирует MaxLen символов из строки Source в нуль-терминированную строку Dest и возвращает указатель на Dest.

Parameters:
Return type:

String

StrPCopy(Dest, Source: String): String

копирует Паскаль-строку Source в нуль-терминированную строку Dest и возвращает указатель на Dest.

Parameters:
Return type:

String

StrLCopy(Dest, Source: String; MaxLen: Integer): String

Копирует MaxLen символов из нуль-терминированной строки Source в нуль-терминированную строку Dest.

Parameters:
Return type:

String

StrECopy(Dest, Source: String): String

Копирует нуль-терминированную строку Source в нуль-терминированную строку Dest и возвращает указатель на символ конца строки Dest.

Parameters:
Return type:

String

StrCopy(Dest, Source: String): String

Копирует нуль-терминированную строку Source в нуль-терминированную строку Dest и возвращает указатель на Dest.

Parameters:
Return type:

String

StrMove(Dest, Source: String; Count: Integer): String

Копирует Count символов из нуль-терминированной строки Source в нуль-терминированную строку Dest.

Parameters:
Return type:

String

StrEnd(Str: String): String

Возвращает указатель на символ окончания нуль-терминированной строки.

Parameters:Str (String) – Нуль-терминированная строка
Return type:String
StrLen(Str: String): Integer

Возвращает количество символов нуль-терминированной строки без учета символа конца строки.

Parameters:Str (String) – Нуль-терминированная строка
Return type:Integer

13.2.3. Дата и время

TryFloatToDateTime(Value: Extended; out Result: TDateTime): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

FloatToDateTime(const Value: Extended): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

IsLeapYear(Year: Word): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime)

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

ReplaceTime(var DateTime: TDateTime; const NewTime: TDateTime)

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1)

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

CurrentYear(): Word

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

Now(): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

GetTime(): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

Time(): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

Date(): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

DayOfWeek(const DateTime: TDateTime): Word

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

DateTimeToSystemTime(const DateTime: TDateTime; var SystemTime: TSystemTime)

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Word)

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

DecodeDateFully(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word)

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

TryEncodeTime(Hour, Min, Sec, MSec: Word; out Time: TDateTime): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

TryEncodeDate(Year, Month, Day: Word; out Date: TDateTime): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

EncodeDate(Year, Month, Day: Word): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

TimeStampToMSecs(const TimeStamp: TTimeStamp): Comp

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

MSecsToTimeStamp(MSecs: Comp): TTimeStamp

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

DateTimeToFileDate(DateTime: TDateTime): LongInt

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

FileDateToDateTime(FileDate: LongInt): TDateTime

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

13.2.4. Системные

Sleep()

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

IsValidIdent(const Ident: string; AllowDots: Boolean): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

Languages(): TLanguages

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

CheckWin32Version(AMajor: Integer; AMinor: Integer = 0): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

IsEqualGUID(const Guid1, Guid2: TGUID): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

CreateGUID(out Guid: TGUID): HResult

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

FreeAndNil(const [ref] Obj: TObject)

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

ByteType(const S: String; Index: Integer): TMbcsByteType

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

Beep()

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

Abort()

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

GetModuleName(Module: HMODULE): string

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

SysErrorMessage(ErrorCode: Cardinal; AModuleHandle: THandle): string

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

FloatToDecimal(var Result: TFloatRec; const Value; ValueType: TFloatValue; Precision, Decimals: Integer)

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

TryFloatToCurr(const Value: Extended; out AResult: Currency): Boolean

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

FloatToCurr(const Value: Extended): Currency

Метод из стандартной библиотеки Pascal. Описание на Embarcadero docwiki

13.2.5. TReplaceFlags

class TReplaceFlags

Перечисление

rfIgnoreCase
rfReplaceAll

13.3. TbtkScriptSystemObject

class TbtkScriptSystemObject

Класс имплементирует методы работы с системными функциями Windows.

SetForegroundWindow(Handle: Integer): Boolean

Метод выносит окно наверх по идентификатору окна. Функция возвращает true в случае успешного выполнения операции.

Parameters:Handle (Integer) – Идентификатор окна.
Return type:Boolean
FindWindow(ClassName, WindowCaption: String): Integer

Метод возвращает идентификатор окна в системе.

Parameters:
  • ClassName (String) – Имя класса окна. Имя класса можно узнать с попощью различных программ, например WinID, WManager.
  • WindowCaption (String) – Заголовок окна.
Return type:

Integer

13.4. TatWindowsLibrary

class TatWindowsLibrary

Функции Windows

FreeLibrary(Ahandle: Integer)

Метод выгружает библиотеку по хендлу.

Parameters:Ahandle (Integer) – Хендл загруженной библиотеки полученный через метод LoadLibrary.
Пример использования
<pascal>
  { declaration of external functions }
  function CreateCustomForm(caption: AnsiString; color: integer): TObject; stdcall; external 'CustomLib.dll';
  procedure ShowForm(form: TObject); external 'CustomLib.dll';
  procedure GetBounds(form: TObject; var l, t, w, h: integer); cdecl; external 'CustomLib.dll' name 'FormGetBounds';
  function DecodeToday(var year, month, day: integer): boolean; stdcall; external 'CustomLib.dll';
  function tsr(x, y: double): double; external 'CustomLib.dll' name 'TimesSquareRoot';

  const
    clRed = $0000FF;

  begin
    { explicit dynamic load of the library }
    dll := LoadLibrary('CustomLib');
    try
      ShowMessage(Format('CustomLib.dll loaded: handle = %d', [dll]));
      frm := CreateCustomForm('My form', clRed);
      try
        ShowForm(frm);
        l := 0; t := 0;
        w := 0; h := 0;
        GetBounds(frm, l, t, w, h);
        ShowMessage(Format('Form bounds: left=%d, top=%d, width=%d, height=%d', [l, t, w, h]));
      finally
        frm.Free;
      end;
    finally
      FreeLibrary(dll); { unload }
      ShowMessage(Format('DLL %d unloaded', [dll]));
    end;

    { automatic load of the library on demand }
    y := 0; m := 0; d := 0;
    leap := DecodeToday(y, m, d);
    ShowMessage(Format('Today: day=%d, month=%d, year=%d', [d, m, y]));
    if leap then
      ShowMessage(Format('%d is leap', [y]))
    else
      ShowMessage(Format('%d is not leap', [y]));

    ShowMessage('Square root of ' + IntToStr(m * d) + ' is ' + FloatToStr(tsr(m, d)));
  end;
</pascal>
LoadLibrary(LibraryName: String): Integer

Метод загружает библиотеку dll и возвращает Handle на нее. Если загрузить не удалось будет сгенерено исключение.

Parameters:LibraryName (String) – Системное имя библиотеки.
Return type:Integer
Пример использования
<pascal>
  { declaration of external functions }
  function CreateCustomForm(caption: AnsiString; color: integer): TObject; stdcall; external 'CustomLib.dll';
  procedure ShowForm(form: TObject); external 'CustomLib.dll';
  procedure GetBounds(form: TObject; var l, t, w, h: integer); cdecl; external 'CustomLib.dll' name 'FormGetBounds';
  function DecodeToday(var year, month, day: integer): boolean; stdcall; external 'CustomLib.dll';
  function tsr(x, y: double): double; external 'CustomLib.dll' name 'TimesSquareRoot';

  const
    clRed = $0000FF;

  begin
    { explicit dynamic load of the library }
    dll := LoadLibrary('CustomLib');
    try
      ShowMessage(Format('CustomLib.dll loaded: handle = %d', [dll]));
      frm := CreateCustomForm('My form', clRed);
      try
        ShowForm(frm);
        l := 0; t := 0;
        w := 0; h := 0;
        GetBounds(frm, l, t, w, h);
        ShowMessage(Format('Form bounds: left=%d, top=%d, width=%d, height=%d', [l, t, w, h]));
      finally
        frm.Free;
      end;
    finally
      FreeLibrary(dll); { unload }
      ShowMessage(Format('DLL %d unloaded', [dll]));
    end;

    { automatic load of the library on demand }
    y := 0; m := 0; d := 0;
    leap := DecodeToday(y, m, d);
    ShowMessage(Format('Today: day=%d, month=%d, year=%d', [d, m, y]));
    if leap then
      ShowMessage(Format('%d is leap', [y]))
    else
      ShowMessage(Format('%d is not leap', [y]));

    ShowMessage('Square root of ' + IntToStr(m * d) + ' is ' + FloatToStr(tsr(m, d)));
  end;
</pascal>