.. currentmodule:: TatInternalObject Утилиты ========= TatSystemLibrary ----------------- .. pas:function:: Interpret(Script: String) Выполняет скрипт, указанный в *Script*. :param String Script: Pascal скрипт .. warning:: |not_implemented| .. pas:function:: SetOf(Array: Array): Set Формирует множество из переданного массива *Array* :param Array Array: Массив значений :rtype: Set .. pas:function:: Assigned(X: Variant): Boolean Метод проверяет указатель или переменную на **null**, если значение не присвоено, тогда возвращает **False**, в противном случае **True**. Также работает со значениями типа Variant - *varUnknown* и *varDispatch* (IDispatch - представление OLE-объектов в скриптере) :param Variant X: Переменная или указатель :rtype: Boolean TatSysUtilsLibrary ------------------- .. pas:class:: TatSysUtilsLibrary Системные утилиты Файловая система `````````````````` .. pas:class:: .. pas:method:: GetFolderPath(FolderConst: Integer): String Метод позволяет получить полный путь к системным папкам. :param Integer FolderConst: Целочисленное значение констант 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 :rtype: String .. pas:method:: ExtractFileExt(FileName: String): String Извлекает из полного имени файла его расширение :param String FileName: Имя файла :rtype: String .. pas:method:: ChangeFileExt(FileName, Extension: String): String Изменяет расширение файла :param String FileName: Имя файла :param String Extension: Новое расширение :rtype: String .. warning:: |not_supported| .. pas:method:: ExtractShortPathName(FileName: String): String Возвращает короткое имя файла по переданному полному. Если передается короткое имя файла, оно возвращается без изменений. :param String FileName: Имя файла :rtype: String .. warning:: |not_supported| .. pas:method:: FileIsReadOnly(FileName: String): Boolean Проверяет включен ли атрибут "только для чтения" у файла *FileName* :param String FileName: Имя файла :rtype: String .. pas:method:: RemoveDir(Directory: String): Boolean Удаляет директорию :param String Directory: Директория :rtype: Boolean .. warning:: |not_implemented| .. pas:method:: FindNext(var SearchResult: TSearchRec): Integer Находит следующий файл после успешного FindFirst :param TSearchRec SearchResult: var параметр. Результат поиска файла. :rtype: Integer .. warning:: |not_supported| .. pas:method:: FileAge(FileName: String): Integer Получение даты и времени последнего изменения файла. Возвращенное значение находится в 32 битном разделенном формате. :param String FileName: Имя файла :rtype: Integer .. warning:: |not_supported| .. pas:method:: FileOpen(FileName: String; Mode: Integer): Integer Открывает файл в режиме доступа, опеределенном в *Mode*. Если файл успешно открыт - возвращает дескриптор, иначе ``-1``. :param String FileName: Имя файла :param Integer Mode: Режим доступа: - fmOpenRead - fmOpenWrite - fmOpenReadWrite - fmShareCompat - fmShareExclusive - fmShareDenyWrite - fmShareDenyRead - fmShareDenyNone :rtype: Integer .. warning:: |not_supported| .. pas:method:: ExtractFilePath(FileName: String): String Извлекает из полного имени файла путь. :param String FileName: Имя файла :rtype: String .. pas:method:: RenameFile(FileName, NewFileName: String): Boolean Изменят имя файла или директории :param String FileName: Имя файла :param String NewFileName: Новое имя файла :rtype: Boolean .. warning:: |not_implemented| .. pas:method:: DeleteFile(FileName: String): Boolean Удаляет файл :param String FileName: Имя файла :rtype: Boolean .. warning:: |not_implemented| .. pas:method:: FileSetReadOnly(FileName: String; ReadOnly: Boolean): Boolean Изменяет режим только для чтения у файла :param String FileName: Полное имя файла. :param Boolean ReadOnly: Значение свойства ReadOnly. True включено False выключено :rtype: Boolean .. warning:: |not_implemented| .. pas:method:: FileSetAttr(FileName: String; Attr: Integer): Integer Позволяет задать файлу *FileName* атрибуты *Attr*. В случае успешной установки атрибута возвращает ``0``, иначе код ошибки. :param String FileName: Имя файла. :param Integer Attr: faReadOnly Только чтение. Текущий пользователь не имеет прав на запись faHidden Скрытый файл, начинается с "." faSysFile Системный файл, ссылка, файл устройства, файл сокет faVolumeID не испольузется faDirectory Каталог faArchive Архив faSymLink Символьная ссылка faAnyFile Прочий файл :rtype: Integer .. warning:: |not_supported| .. pas:method:: FileGetAttr(FileName: String): Integer Возвращает все атрибуты файла в виде целочисленного значения, в котором каждому атрибуту будет выделен свой разряд. :param String FileName: Имя файла :rtype: Integer .. warning:: |not_supported| .. pas:method:: FileGetDate(FileName: String): Integer Возвращает дату модификации файла после его последнего открытия :param String FileName: Имя файла :rtype: Integer .. warning:: |not_supported| .. pas:method:: FindClose(var SearchResult: TSearchRec) Закрывает успешный FindFirst и FindNext поиск файла. :param TSearchRec SearchResult: var параметр. Результат поиска файла .. warning:: |not_supported| .. pas:method:: FindFirst(FileMask: String; Attributes: Integer; var SearchResult: TSearchRec): Integer Ищет файлы, соответствующие *FileMask* и *Attributes*, возвращая первое соответствие в *SearchResult*. Если соответствие найдено - возвращается ``0``, иначе отрицательное значение. :param String FileMask: Может содержать путь, имя файла. Имя файла может содержать символы - шаблоны. :param Integer Attributes: Атрибуты файла :param TSearchRec SearchResult: var параметр. Результат поиска файла :rtype: Integer .. warning:: |not_supported| .. pas:method:: ForceDirectories(Path: String): Boolean Создает одну или более вложенных директорий, указанных в *Path* :param String Path: Путь новой директории :rtype: Boolean .. warning:: |not_supported| .. pas:method:: DirectoryExists(Path: String): Boolean Проверяет существует ли директория :param String Path: Путь к директории :rtype: Boolean .. warning:: |not_implemented| .. pas:method:: FileExists(FileName: String): Boolean Проверяет существует ли файл :param String FileName: Имя файла :rtype: Boolean .. pas:method:: FileClose(FileName: String) Закрывает файл :param String String: Имя файла .. warning:: |not_supported| .. pas:method:: FileWrite(FileHandle: Integer; const Buffer; Count: Integer): Integer Записывает в файл *Count* байт из буфера *Buffer*. Возвращает количество записанных байт, если возникла ошибка - ``-1``. :param Integer FileHandle: Дескриптор файла :param Buffer: Буфер :param Integer Count: Количество записываемых байт :rtype: Integer .. warning:: |not_supported| .. pas:method:: FileRead(FileHandle: Integer; const Buffer, Count: Integer): Integer Читает *Count* байт из файла в буфер *Buffer*. Возвращает количество считанных байт. :param Integer FileHandle: Дескриптор файла :param Buffer: Буфер :param Integer Count: Количество считываемых байт :rtype: Integer .. warning:: |not_supported| .. pas:method:: GetFileVersion(FileName: String): Integer Возвращает версию файла :param String FileName: Имя файла :rtype: Integer .. warning:: |not_supported| .. pas:method:: CreateDir(Directory: String): Boolean Создает каталог в текущей директории :param String Directory: Название новой директории :rtype: Boolean .. warning:: |not_supported| .. pas:method:: SetCurrentDir(Directory: String): Boolean Устанавливает рабочую директорию :param String Directory: Путь к директории :rtype: Boolean .. warning:: |not_supported| .. pas:method:: GetCurrentDir(): String Возвращает название рабочей директории :rtype: String .. warning:: |not_supported| .. pas:method:: DiskSize(Drive: Byte): Integer Возвращает размер указанного диска в байтах :param Byte Drive: Номер диска в алфавитном порядке :rtype: Integer .. warning:: |not_supported| .. pas:method:: DiskFree(Drive: Byte): Integer Возвращает число свободных байтов на указанном диске :param Byte Drive: Номер диска в алфавитном порядке :rtype: Integer .. warning:: |not_supported| .. pas:method:: FileSearch(FileName: String, DirectoryList: Array): String Поиск файла в одной или более директориях. Если файл найден - возвращается полное имя файла, иначе пустая строка. :param String FileName: Имя файла :param Array DirectoryList: Список директорий :rtype: String .. warning:: |not_supported| .. pas:method:: ExtractRelativePath(BaseName, DestName: String): String Преобразовывает полный путь в относительный :param String BaseName: Полное имя базовой директории, к которой должен относиться возвращаемый путь :param String DestName: Имя файла для преобразования :rtype: String .. warning:: |not_supported| .. pas:method:: ExpandUNCFileName(FileName: String): String Возвращает полное имя файла в `UNC `_ формате :param String FileName: Имя файла :rtype: String .. warning:: |not_supported| .. pas:method:: ExpandFileNameCase(FileName: String; out MatchFound: TFilenameCaseMatch): String Возвращает полный путь для имени файла, заданного относительно, с учетом регистра :param String FileName: Имя файла :param TFilenameCaseMatch MatchFound: out параметр. Возможное значение: - mkNone - mkExactMatch - mkSingleMatch - mkAmbiguous :rtype: String .. warning:: |not_supported| .. pas:method:: ExpandFileName(FileName: String): String Возвращает полный путь для имени файла, заданного отосительно. :param String FileName: Имя файла :rtype: String .. warning:: |not_supported| .. pas:method:: ExtractFileName(FileName: String): String Извлекает из полного имени файла краткое :param String FileName: Полное имя файла :rtype: String .. pas:method:: ExtractFileDrive(FileName: String): String Извлекает из полного имени файла название диска. Если в полном имени отсутствует префикс диска - возвращает пустую строку. :param String FileName: Полное имя файла :rtype: String .. warning:: |not_supported| .. pas:method:: ExtractFileDir(FileName: String): String Извлекает из полного имени файла директорию, в которой он хранится. :param String FileName: Имя файла :rtype: String Строки `````````````````` .. pas:class:: .. pas:method:: StrByteType(Str: String; Index: Integer): TMbcsByteType Определяет тип байта :term:`нуль-терминированной строки <Нуль-терминированная строка>` *Str* с индексом *Index*: принадлежит однобайтовому символу, является первым байтом двухбайтового символа или же вторым байтом двухбайтового символа. :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :param Integer Index: Индекс символа :rtype: TMbcsByteType .. warning:: |not_supported| .. pas:method:: GetLocaleStr(Locale, LocaleType: Integer; DefaultString: String): String Возвращает локализуемое значение указанного типа для заданной локали. Если такое значение отсутствует возвращает *DefaultString*. :param Integer Locale: Значение локали. Например *$0409* - локаль *US English*. :param Integer LocaleType: Тип локализуемого значения. Например *LOCALE_SMONTHNAME1* - название месяца. :param String DefaultString: Возвращаемое значение, если *LocaleType* не был найден. :rtype: String .. warning:: |not_supported| .. pas:method:: StrToBool(Str: String): Boolean Преобразовывает *String* в *Boolean* :param String Str: Строка :rtype: Boolean .. warning:: |not_supported| .. pas:method:: StrToIntDef(Str: String; Default: Integer): Integer Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Integer. Если Преобразование не удалось - возвращается *Default*. :param String Str: Строка :param Integer Default: Значение по-умолчанию :rtype: Integer .. pas:method:: AnsiExtractQuotedStr(Str, Quote: String): String Удаляет символы *Quote* из начала и конца строки. Если строка не начинается с символа *Quote*, возвращает пустую строку. Если в строке более двух символов *Quote*, возвращает подстроку от начала и до ближайшего символа. :param String Str: Строка :param String Quote: Символ кавычки :rtype: String .. warning:: |not_supported| .. pas:method:: WideCompareText(Str1, Str2: String): Integer Сравнивает юникодные строки, основываясь на текущей локали, без чуствительности к регистру.Если значения равны - возвращается 0, если ``Str1` с учетом регистра и языковых особенностей текущей локализованной версии ОС. :param String Str1: Первая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: Integer .. warning:: |not_supported| .. pas:method:: LoadStr(Ident: Integer): String Возвращает строку, опеределенную параметром *Ident* :param Integer Ident: Идентификатор ресурсной строки :rtype: String .. warning:: |not_supported| .. pas:method:: BoolToStr(Boolean, UseBoolStrs: Booolean): String Преобразовывает значение *Boolean* в строку. Если *UseBoolStrs* равен *True*, возвращаемые значения будут текстовыми (``'True'`` и ``'False'`` соответственно), в противном случае - числовыми (``'-1'`` и ``'0'``). :param Boolean Boolean: Boolean значение :param Boolean UseBoolStrs: Использовать текстовое представление значения :rtype: String .. warning:: |not_supported| .. pas:method:: TryStrToBool(Str, out Value: String): Boolean Преобразует *String* в *Boolean*. Возвращает *True*, если преобразование удалось. :param String Str: Строка :param String Value: out параметр. Возвращаемое значение :rtype: Boolean .. warning:: |not_supported| .. pas:method:: StrToBoolDef(Str: String; Default: Boolean): Boolean Преобразует *String* в *Boolean*. Если преобразование не удалось возвращает значение *Default*. :param String Str: Строка :param Boolean Default: Значение, если преобразование невозможно :rtype: Boolean .. warning:: |not_supported| .. pas:method:: TryStrToInt64(Str: String; out Value: Integer): Boolean Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Int64. Если преобразование удалось - возвращается *True*. :param String Str: Строка :param Integer Value: out параметр. Возвращаемое значение :rtype: Boolean .. warning:: |not_supported| .. pas:method:: StrToInt64Def(Str: String; Default: Integer): Int64 Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Int64. Если преобразование не удалось - возвращается значение *Default*. :param String Str: Строка :param Int64 Default: Значение, если преобразование невозможно :rtype: Integer .. warning:: |not_supported| .. pas:method:: StrToInt64(Str: String): Integer Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Int64. :param String Str: Строка :rtype: Integer .. warning:: |not_supported| .. pas:method:: TryStrToInt(Str: String; out Value: Integer): Boolean Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Integer. Если преобразование удалось - возвращает *True*. :param String Str: Строка :param Integer Value: out параметр. Возвращаемое значение :rtype: Boolean .. warning:: |not_supported| .. pas:method:: StrToInt(Str: String): Integer Преобразовывает строковое представление десятичного или шестнадцатиричного числа в значение типа Integer. :param String Str: Строка :rtype: Integer .. pas:method:: AdjustLineBreaks(Str: String): String Приводит символы конца строки к виду CR/LF. :param String Str: Строка :rtype: String .. warning:: |not_supported| .. pas:method:: AnsiDequotedStr(Str, Quote: String): String Удаляет символы *Quote* из начала и конца строки в кодировке Ansi. Если строка не начинается с символа *Quote*, возвращает пустую строку. Если в строке более двух символов *Quote*, возвращает подстроку от начала и до ближайшего символа. :param String Str: Строка :param String Quote: Символ кавычки :rtype: String .. warning:: |not_supported| .. pas:method:: AnsiQuotedStr(Str, Quote: String): String Добавляет символы *Quote* в начало и конец строки в кодировке Ansi. :param String Str: Строка :param String Quote: Символ кавычки :rtype: String .. warning:: |not_supported| .. pas:method:: QuotedStr(Str: String): String Добавляет символы кавычки ``'`` в начало и конец строки, а также экранирует каждый одиночный символ кавычки внутри строки. :param String Str: Строка :rtype: String .. warning:: |not_supported| .. pas:method:: WideSameText(Str1, Str2: String): Integer Сравнивает юникодные строки, основываясь на текущей локали, без чуствительности к регистру. Возвращает *True*, если строки равны. :param String Str1: Первая строка :param String Str2: Вторая строка :rtype: Integer .. warning:: |not_supported| .. pas:method:: WideSameStr(Str1, Str2: String): Boolean Сравнивает юникодные строки, основываясь на текущей локали. Возвращает *True*, если строки равны. :param String Str1: Первая строка :param String Str2: Вторая строка :rtype: Boolean .. warning:: |not_supported| .. pas:method:: WideCompareStr(Str1, Str2: String): Integer Сравнивает юникодные строки, основываясь на текущей локали. При ``Str1>Str2`` результат положителен, если ``Str1`. :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :rtype: String .. warning:: |not_supported| .. pas:method:: AnsiLastChar(Str: String): String Возвращает указатель на последний символ в строке. :param String Str: Строка :rtype: String .. warning:: |not_supported| .. pas:method:: AnsiStrUpper(Str: String): String Переводит все символы :term:`нуль-терминированной строки <Нуль-терминированная строка>` в верхний регистр, учитывая языковые особенности текущей локализованной версии ОС. :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :rtype: String .. pas:method:: AnsiStrLIComp(Str1, Str2: String; MaxLen: Integer): Integer Сравнивает первые *MaxLen* байт двух :term:`Нуль-терминированных строк <Нуль-терминированная строка>` *Str1* и *Str2* без учета регистра, но учитывая особенности языка текущей локализованной версии ОС. В случае, если длина *Str1* или *Str2* не превышает значение MaxLen, то функция сравнивает строки полностью. При ``Str1>Str2`` результат функции положителен, если ``Str1` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param Integer MaxLen: Количество сравниваемых байт :rtype: Integer .. warning:: |not_supported| .. pas:method:: AnsiStrLComp(Str1, Str2: String; MaxLen: Integer): Integer Сравнивает первые *MaxLen* байт двух :term:`Нуль-терминированных строк <Нуль-терминированная строка>` *Str1* и *Str2*, учитывая особенности языка текущей локализованной версии ОС. В случае, если длина *Str1* или *Str2* не превышает значение MaxLen, то функция сравнивает строки полностью. При ``Str1>Str2`` результат функции положителен, если ``Str1` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param Integer MaxLen: Количество сравниваемых байт :rtype: Integer .. warning:: |not_supported| .. pas:method:: AnsiStrIComp(Str1, Str2: String): Integer Сравнивает две :term:`нуль-терминированные строки <Нуль-терминированная строка>` *Str1* и *Str2* без учета регистра, учитывая особенности языка текущей локализованной версии ОС. При ``Str1>Str2`` результат функции положителен, если ``Str1` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: Integer .. warning:: |not_supported| .. pas:method:: AnsiSameText(Str1, Str2: String): Boolean Сравнивает две строки *Str1* и *Str2*, учитывая особенности языка текущей локализованной версии ОС. Если значения строк равны - возвращает *True*. :param String Str1: Первая строка :param String Str2: Вторая строка :rtype: Boolean .. warning:: |not_supported| .. pas:method:: AnsiCompareText(Str1, Str2: String): Integer Сравнивает две строки *Str1* и *Str2*, учитывая особенности языка текущей локализованной версии ОС. При ``Str1>Str2`` результат функции положителен, если ``Str1` *Str1* и *Str2*, но учитывая особенности языка текущей локализованной версии ОС. Если значения строк равны - возвращает *True*. :param String Str1: Первая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: Boolean .. warning:: |not_supported| .. pas:method:: AnsiCompareStr(Str1, Str2: String): Integer Сравнивает две :term:`нуль-терминированные строки <Нуль-терминированная строка>` *Str1* и *Str2*, учитывая особенности языка текущей локализованной версии ОС. При ``Str1>Str2`` результат функции положителен, если ``Str1` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: Integer .. pas:method:: AnsiLowerCase(Str1: String): String Преобразует Ansi строку в нижний регистр. :param String Str1: Строка :rtype: String .. pas:method:: AnsiUpperCase(Str: String): String Преобразует Ansi строку в верхний регистр. :param String Str: Строка :rtype: String .. pas:method:: SameText(Str1, Str2: String): Boolean Сравнивает две строки *Str1* и *Str2* без учета регистра. Если значения равны - возвращает *True*. :param String Str1: Первая строка :param String Str2: Вторая строка :rtype: Boolean .. pas:method:: CompareText(Str1, Str2: String): Integer Сравнивает две строки *Str1* и *Str2*. При ``Str1>Str2`` результат функции положителен, если ``Str1Str2`` результат функции положителен, если ``Str1` *Str*, возвращая позицию первого вхождения. :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :param String SubString: Искомая подстрока :rtype: Integer .. warning:: |not_supported| .. pas:method:: AnsiPos(Str, SubString: String): Integer Ищет подстроку *SubString* в строке *Str*, возвращая позицию первого вхождения. :param String Str: Строка :param String SubString: Искомая подстрока :rtype: Integer .. pas:method:: AnsiUpperCaseFileName(FileName: String): String Преобразует имя файла в верхний регистр :param String FileName: Имя файла :rtype: String .. warning:: |not_supported| .. pas:method:: AnsiLowerCaseFileName(FileName: String): String Преобразует имя файла в нижний регистр :param String FileName: Имя файла :rtype: String .. warning:: |not_supported| .. pas:method:: SameFileName(FileName1, FileName2: String): Boolean Сравнивает имена файлов, если они одинаковые - возвращает *True*. :param String FileName1: Первое имя файла :param String FileName2: Второе имя файла :rtype: Boolean .. warning:: |not_supported| .. pas:method:: AnsiCompareFileName(FileName1, FileName2: String): Integer Сравнивает две :term:`нуль-терминированные строки <Нуль-терминированная строка>` *FileName1* и *FileName2* без учета регистра.Основное назначение - сравнивание имен файлов. При ``FileName1>FileName2`` результат функции положителен, если ``FileName1` *Str*, память под которую была распределена функцией StrAlloc. :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :rtype: Integer .. warning:: |not_supported| .. pas:method:: StrAlloc(Size: Byte): String Выделяет память под :term:`нуль-терминированную строку <Нуль-терминированная строка>` и возвращает указатель на местоположение первого символа строки. :param Byte Size: Размер строки в байтах :rtype: String .. warning:: |not_supported| .. pas:method:: StrPas(Str: String): String Преобразует :term:`нуль-терминированную строку <Нуль-терминированная строка>` в строку типа String :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :rtype: String .. warning:: |not_supported| .. pas:method:: StrLower(Str: String): String Переводит строку в нижний регистр :param String Str: Строка :rtype: String .. pas:method:: StrUpper(Str: String): String Переводит строку в верхний регистр :param String Str: Строка :rtype: String .. pas:method:: StrPos(Substring, Str: String): String Возвращает указатель на первое местоположение подстроки *Substring* в :term:`нуль-терминированной строке <Нуль-терминированная строка>` *Str*. :param String Substring: Искомая подстрока :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :rtype: String .. warning:: |not_supported| .. pas:method:: StrRScan(Characters, SearchChar: Char): String Если *SearchChar* присутствует в *Characters*, то в качестве результата возвращается указатель на последнее вхождение *SearchChar*. :param String Characters: Список символов :param Char SearchChar: Искомый символ :rtype: String .. warning:: |not_supported| .. pas:method:: StrScan(Characters, SearchChar: Char): String Если *SearchChar* присутствует в *Characters*, то в качестве результата возвращается указатель на вхождение *SearchChar*. :param String Characters: Список символов :param Char SearchChar: Искомый символ :rtype: String .. warning:: |not_supported| .. pas:method:: StrLIComp(Str1, Str2: String; MaxLen: Integer): Integer Сравнивает первые *MaxLen* символов двух :term:`нуль-терминированных строк <Нуль-терминированная строка>` *Str1* и *Str2* без учета регистра и особенностей языка текущей локализованной версии ОС. В случае, если длина *Str1* или *Str2* не превышает значение MaxLen, то функция сравнивает строки полностью. При ``Str1>Str2`` результат функции положителен, если ``Str1` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param Integer MaxLen: Количество символов :rtype: Integer .. warning:: |not_supported| .. pas:method:: StrLComp(Str1, Str2: String; MaxLen: Integer): Integer Сравнивает первые *MaxLen* символов двух :term:`нуль-терминированных строк <Нуль-терминированная строка>` *Str1* и *Str2* без учета особенностей языка текущей локализованной версии ОС. В случае, если длина *Str1* или *Str2* не превышает значение MaxLen, то функция сравнивает строки полностью. При ``Str1>Str2`` результат функции положителен, если ``Str1` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param Integer MaxLen: Количество символов :rtype: Integer .. warning:: |not_supported| .. pas:method:: StrIComp(Str1, Str2: String): Integer Сравнивает две :term:`нуль-терминированные строки <Нуль-терминированная строка>` *Str1* и *Str2* без учета регистра и особенностей языка текущей локализованной версии ОС. При ``Str1>Str2`` результат функции положителен, если ``Str1` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: Integer .. warning:: |not_supported| .. pas:method:: StrComp(Str1, Str2: String): Integer Сравнивает две :term:`нуль-терминированные строки <Нуль-терминированная строка>` *Str1* и *Str2* без особенностей языка текущей локализованной версии ОС. При ``Str1>Str2`` результат функции положителен, если ``Str1` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: Integer .. warning:: |not_supported| .. pas:method:: StrLCat(Str1, Str2: String; MaxLen: Integer): String Копирует символы :term:`нуль-терминированной строки <Нуль-терминированная строка>` *Str2* в конец :term:`нуль-терминированной строки <Нуль-терминированная строка>` *Str1* до тех пор, пока количество символов результирующей строки не достигнет значения *MaxLen*. :param String Str1: Первая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param Integer MaxLen: Количество символов результирующей строки :rtype: String .. warning:: |not_supported| .. pas:method:: StrCat(Str1, Str2: String): String Копирует :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Str2* в конец :term:`нуль-терминированной строки <Нуль-терминированная строка>` *Str1*. :param String Str1: Первая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Str2: Вторая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: String .. warning:: |not_supported| .. pas:method:: StrPLCopy(Dest, Source: String; MaxLen: Integer): String Копирует *MaxLen* символов из строки *Source* в :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Dest* и возвращает указатель на *Dest*. :param String Dest: Итоговая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Source: Копируемая строка :param Integer MaxLen: Количество копируемых символов :rtype: String .. warning:: |not_supported| .. pas:method:: StrPCopy(Dest, Source: String): String копирует Паскаль-строку *Source* в :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Dest* и возвращает указатель на *Dest*. :param String Dest: Итоговая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Source: Копируемая строка :rtype: String .. warning:: |not_supported| .. pas:method:: StrLCopy(Dest, Source: String; MaxLen: Integer): String Копирует *MaxLen* символов из :term:`нуль-терминированной строки <Нуль-терминированная строка>` *Source* в :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Dest*. :param String Dest: Итоговая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Source: Копируемая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param Integer MaxLen: Количество копируемых символов :rtype: String .. warning:: |not_supported| .. pas:method:: StrECopy(Dest, Source: String): String Копирует :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Source* в :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Dest* и возвращает указатель на символ конца строки *Dest*. :param String Dest: Итоговая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Source: Копируемая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: String .. warning:: |not_supported| .. pas:method:: StrCopy(Dest, Source: String): String Копирует :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Source* в :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Dest* и возвращает указатель на *Dest*. :param String Dest: Итоговая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Source: Копируемая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :rtype: String .. warning:: |not_supported| .. pas:method:: StrMove(Dest, Source: String; Count: Integer): String Копирует *Count* символов из :term:`нуль-терминированной строки <Нуль-терминированная строка>` *Source* в :term:`нуль-терминированную строку <Нуль-терминированная строка>` *Dest*. :param String Dest: Итоговая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param String Source: Копируемая :term:`нуль-терминированная строка <Нуль-терминированная строка>` :param Integer Count: Количество копируемых символов :rtype: String .. warning:: |not_supported| .. pas:method:: StrEnd(Str: String): String Возвращает указатель на символ окончания :term:`нуль-терминированной строки <Нуль-терминированная строка>`. :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :rtype: String .. warning:: |not_supported| .. pas:method:: StrLen(Str: String): Integer Возвращает количество символов :term:`нуль-терминированной строки <Нуль-терминированная строка>` без учета символа конца строки. :param String Str: :term:`Нуль-терминированная строка <Нуль-терминированная строка>` :rtype: Integer Дата и время `````````````````` .. pas:class:: .. pas:method:: TryFloatToDateTime(Value: Extended; out Result: TDateTime): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: FloatToDateTime(const Value: Extended): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: IsLeapYear(Year: Word): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: ReplaceDate(var DateTime: TDateTime; const NewDate: TDateTime) Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: ReplaceTime(var DateTime: TDateTime; const NewTime: TDateTime) Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1) Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: CurrentYear(): Word Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: Now(): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: GetTime(): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: Time(): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: Date(): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: DayOfWeek(const DateTime: TDateTime): Word Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: SystemTimeToDateTime(const SystemTime: TSystemTime): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: DateTimeToSystemTime(const DateTime: TDateTime; var SystemTime: TSystemTime) Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: Word) Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: DecodeDateFully(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: DecodeDate(const DateTime: TDateTime; var Year, Month, Day: Word) Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: TryEncodeTime(Hour, Min, Sec, MSec: Word; out Time: TDateTime): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: TryEncodeDate(Year, Month, Day: Word; out Date: TDateTime): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: EncodeDate(Year, Month, Day: Word): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: TimeStampToMSecs(const TimeStamp: TTimeStamp): Comp Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: MSecsToTimeStamp(MSecs: Comp): TTimeStamp Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: TimeStampToDateTime(const TimeStamp: TTimeStamp): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: DateTimeToFileDate(DateTime: TDateTime): LongInt Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: FileDateToDateTime(FileDate: LongInt): TDateTime Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ Системные `````````````````` .. pas:class:: .. pas:method:: Sleep() Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: IsValidIdent(const Ident: string; AllowDots: Boolean): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: Languages(): TLanguages Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: CheckWin32Version(AMajor: Integer; AMinor: Integer = 0): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: IsEqualGUID(const Guid1, Guid2: TGUID): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: CreateGUID(out Guid: TGUID): HResult Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: FreeAndNil(const [ref] Obj: TObject) Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: ByteType(const S: String; Index: Integer): TMbcsByteType Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: Beep() Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: Abort() Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: GetModuleName(Module: HMODULE): string Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: SysErrorMessage(ErrorCode: Cardinal; AModuleHandle: THandle): string Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: FloatToDecimal(var Result: TFloatRec; const Value; ValueType: TFloatValue; Precision, Decimals: Integer) Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: TryFloatToCurr(const Value: Extended; out AResult: Currency): Boolean Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ .. pas:method:: FloatToCurr(const Value: Extended): Currency Метод из стандартной библиотеки Pascal. Описание на `Embarcadero docwiki `__ TReplaceFlags ````````````` .. pas:class:: TReplaceFlags Перечисление .. pas:attribute:: rfIgnoreCase .. pas:attribute:: rfReplaceAll TbtkScriptSystemObject ----------------------- .. pas:class:: TbtkScriptSystemObject Класс имплементирует методы работы с системными функциями Windows. .. pas:method:: SetForegroundWindow(Handle: Integer): Boolean Метод выносит окно наверх по идентификатору окна. Функция возвращает true в случае успешного выполнения операции. :param Integer Handle: Идентификатор окна. :rtype: Boolean .. warning:: |not_implemented| .. pas:method:: FindWindow(ClassName, WindowCaption: String): Integer Метод возвращает идентификатор окна в системе. :param String ClassName: Имя класса окна. Имя класса можно узнать с попощью различных программ, например WinID, WManager. :param String WindowCaption: Заголовок окна. :rtype: Integer .. warning:: |not_implemented| TatWindowsLibrary ----------------- .. pas:class:: TatWindowsLibrary Функции Windows .. pas:method:: FreeLibrary(Ahandle: Integer) Метод выгружает библиотеку по хендлу. :param Integer Ahandle: Хендл загруженной библиотеки полученный через метод ``LoadLibrary``. .. code-block:: delphi :caption: Пример использования { 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; .. warning:: |not_supported| .. pas:method:: LoadLibrary(LibraryName: String): Integer Метод загружает библиотеку dll и возвращает *Handle* на нее. Если загрузить не удалось будет сгенерено исключение. :param String LibraryName: Системное имя библиотеки. :rtype: Integer .. code-block:: delphi :caption: Пример использования { 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; .. warning:: |not_supported|