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>
-