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: - Str (String) – Нуль-терминированная строка
- Index (Integer) – Индекс символа
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: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
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: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
- MaxLen (Integer) – Количество сравниваемых байт
Return type: Integer
-
AnsiStrLComp
(Str1, Str2: String; MaxLen: Integer): Integer¶ Сравнивает первые MaxLen байт двух Нуль-терминированных строк Str1 и Str2, учитывая особенности языка текущей локализованной версии ОС. В случае, если длина Str1 или Str2 не превышает значение MaxLen, то функция сравнивает строки полностью. При
Str1>Str2
результат функции положителен, еслиStr1<Str2
, то результат отрицателен, а когда первые MaxLen байт строк равны, функция возвращает 0.Parameters: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
- MaxLen (Integer) – Количество сравниваемых байт
Return type: Integer
-
AnsiStrIComp
(Str1, Str2: String): Integer¶ Сравнивает две нуль-терминированные строки Str1 и Str2 без учета регистра, учитывая особенности языка текущей локализованной версии ОС. При
Str1>Str2
результат функции положителен, еслиStr1<Str2
, то результат отрицателен, иначе 0.Parameters: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
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: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
Return type: Boolean
-
AnsiCompareStr
(Str1, Str2: String): Integer¶ Сравнивает две нуль-терминированные строки Str1 и Str2, учитывая особенности языка текущей локализованной версии ОС. При
Str1>Str2
результат функции положителен, еслиStr1<Str2
, то результат отрицателен, иначе 0.Parameters: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
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: - Str (String) – Нуль-терминированная строка
- SubString (String) – Искомая подстрока
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: - Substring (String) – Искомая подстрока
- Str (String) – Нуль-терминированная строка
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: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
- MaxLen (Integer) – Количество символов
Return type: Integer
-
StrLComp
(Str1, Str2: String; MaxLen: Integer): Integer¶ Сравнивает первые MaxLen символов двух нуль-терминированных строк Str1 и Str2 без учета особенностей языка текущей локализованной версии ОС. В случае, если длина Str1 или Str2 не превышает значение MaxLen, то функция сравнивает строки полностью. При
Str1>Str2
результат функции положителен, еслиStr1<Str2
, то результат отрицателен, а когда первые MaxLen байт строк равны, функция возвращает 0.Parameters: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
- MaxLen (Integer) – Количество символов
Return type: Integer
-
StrIComp
(Str1, Str2: String): Integer¶ Сравнивает две нуль-терминированные строки Str1 и Str2 без учета регистра и особенностей языка текущей локализованной версии ОС. При
Str1>Str2
результат функции положителен, еслиStr1<Str2
, то результат отрицателен, иначе 0.Parameters: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
Return type: Integer
-
StrComp
(Str1, Str2: String): Integer¶ Сравнивает две нуль-терминированные строки Str1 и Str2 без особенностей языка текущей локализованной версии ОС. При
Str1>Str2
результат функции положителен, еслиStr1<Str2
, то результат отрицателен, иначе 0.Parameters: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
Return type: Integer
-
StrLCat
(Str1, Str2: String; MaxLen: Integer): String¶ Копирует символы нуль-терминированной строки Str2 в конец нуль-терминированной строки Str1 до тех пор, пока количество символов результирующей строки не достигнет значения MaxLen.
Parameters: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
- MaxLen (Integer) – Количество символов результирующей строки
Return type: String
-
StrCat
(Str1, Str2: String): String¶ Копирует нуль-терминированную строку Str2 в конец нуль-терминированной строки Str1.
Parameters: - Str1 (String) – Первая нуль-терминированная строка
- Str2 (String) – Вторая нуль-терминированная строка
Return type: String
-
StrPLCopy
(Dest, Source: String; MaxLen: Integer): String¶ Копирует MaxLen символов из строки Source в нуль-терминированную строку Dest и возвращает указатель на Dest.
Parameters: - Dest (String) – Итоговая нуль-терминированная строка
- Source (String) – Копируемая строка
- MaxLen (Integer) – Количество копируемых символов
Return type: String
-
StrPCopy
(Dest, Source: String): String¶ копирует Паскаль-строку Source в нуль-терминированную строку Dest и возвращает указатель на Dest.
Parameters: - Dest (String) – Итоговая нуль-терминированная строка
- Source (String) – Копируемая строка
Return type: String
-
StrLCopy
(Dest, Source: String; MaxLen: Integer): String¶ Копирует MaxLen символов из нуль-терминированной строки Source в нуль-терминированную строку Dest.
Parameters: - Dest (String) – Итоговая нуль-терминированная строка
- Source (String) – Копируемая нуль-терминированная строка
- MaxLen (Integer) – Количество копируемых символов
Return type: String
-
StrECopy
(Dest, Source: String): String¶ Копирует нуль-терминированную строку Source в нуль-терминированную строку Dest и возвращает указатель на символ конца строки Dest.
Parameters: - Dest (String) – Итоговая нуль-терминированная строка
- Source (String) – Копируемая нуль-терминированная строка
Return type: String
-
StrCopy
(Dest, Source: String): String¶ Копирует нуль-терминированную строку Source в нуль-терминированную строку Dest и возвращает указатель на Dest.
Parameters: - Dest (String) – Итоговая нуль-терминированная строка
- Source (String) – Копируемая нуль-терминированная строка
Return type: String
-
StrMove
(Dest, Source: String; Count: Integer): String¶ Копирует Count символов из нуль-терминированной строки Source в нуль-терминированную строку Dest.
Parameters: - Dest (String) – Итоговая нуль-терминированная строка
- Source (String) – Копируемая нуль-терминированная строка
- Count (Integer) – Количество копируемых символов
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.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>
-