Скачать библиотеки: [ 174 ] ~~~~~~~~~~~~~~~~~~ Справка ~~~~~~~ Набор библиотек полезных функций содержит функции, созданные при разработке и реализации программного обеспечения редактора TeConv, и содержит три тематических библиотечных файла: 1. libdlph01: работа с файлами и директориями; 2. libdlph02: работа с числами, строками, лексемами*; 3. libdlph03: перекодировка, поиск символов, лексем, диапазонов; * Здесь под лексемой понимается последовательность символов в строке, разделенная произвольными разделителями (не обязательно пробелами и не обязательно односимвольными); лексема, включающая в себя разделитель, должна быть обрамлена двойными кавычками. Библиотеки полезных функций написаны в среде Object Pascal Delphi7 и оформлены в виде библиотек объектных модулей. Помимо имени, каждая функция библиотеки имеет целочисленный индекс, использование которого позволяет ускорить процесс поиска функции в библиотеке. Так как многие функции из рассматриваемых библиотек получают и передают строковую информацию, для работы с библиотеками первым в раздел uses проекта пользователя необходимо включить модуль ShareMem и, кроме того, поместить все три указываемые здесь библиотеки полезных функций и библиотеку borlndmm.dll в каталог своего проекта. Для подсоединения библиотечной функции необходимо в разделе implementation проекта пользователя задать объявление функции. Например, для подсоединения функции контроля цифр в целом числе надо задать function IsDigInt(Str: String):boolean; stdcall; external 'libdlph02'; или function IsDigInt(Str: String):boolean; stdcall; external 'libdlph02' index 3; Ссылки на каталоги библиотек: libdlph01 libdlph02 libdlph03 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.Библиотека libdlph01: работа с файлами и директориями ======================================================= Список используемых библиотек: borlndmm.dll, libdlph02.dll, libdlph03.dll ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Каталог имен экспортируемых функций библиотеки ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index
Имя функции
Назначение
1 ChangeKeyboard Смена регистра клавиатуры
2 DirUp Получение строки пути доступа на директорию выше с сохранением конечного '\', 3 CreatePathDir Создание копии дерева каталогов входной директории в выходной директории и переход в конечный каталог выходной директории 4 ControlPathEnd Контроль и добавление последнего символа пути '\' к директории 5 CreatePattName Создание файловых имен и расширений по шаблонам 6 CutFullname Обрезание длинных файловых имен за счет замены части пути доступа на '.../' 7 DelPathEnd Контроль и удаление последнего символа '\' пути к директории 8 SearchPathDir Пошаговый поиск существования подкаталогов, начиная от верхнего уровня заданного пользователем пути доступа
9 FileLSize Подсчет размера файла в строках и определение типа файла 10 FileBSize Подсчет размера файла в байтах 11 HasAttr Проверка атрибутов файла 12 LowerRCase Перекодировка строки на нижний регистр (с учётом русских букв) 13 UpperRCase Перекодировка строки на верхний регистр (с учётом русских букв) Описание параметров и выходных результатов функций ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14 DumpList Ликвидация "лишних" пробелов строки 15 NumItemList Получение количества лексем в списке с заданным разделителем 16 PartitionFileByte Разбиение файла на части по количеству байтов в порции 17 PartitionFileLine Разбиение файла на части по количеству строк в порции function ChangeKeyboard: Boolean; export; stdcall; //Назначение: // Смена регистра клавиатуры //Параметры и результат: // Result - признак установленного режима клавиатуры: False - русский, True - английский
function DirUp(InpDir :String): String; export; stdcall; //Назначение: // Получение строки пути доступа на директорию выше с сохранением конечного '\' (без перехода в эту директорию) //Параметры и результат: // InpDir - входная текущая директория // Result - выходная директория (совпадает с входной, если задан только диск)
function CreatePathDir(Inpdir,Outdir :String): Boolean; export; stdcall; //Назначение: // Создание копии дерева каталогов входной директории в выходной директории и переход в конечный каталог выходной директории //Параметры и результат: // Inpdir - полный путь входного каталога // Outdir - полный путь выходного каталога // Result - результат работы (False - все нормально, True - были ошибки)
function ControlPathEnd(Path :String): String; export; stdcall; //Назначение: // Контроль и добавление последнего символа пути '\' к директории //Параметры и результат: // Path - путь к директории // Result - выходной путь
function CreatePattName(fName :String; Patt :String): String; export; stdcall; //Назначение: // Создание файловых имен и расширений по шаблонам //Параметры и результат: // fName - файловое имя (расширение) // Patt - шаблон (может содержать служебные символы: '*', '?', '~' // Result - результирующее имя
function CutFullname(Fullname :String; Shotleng :Integer): String; export; stdcall; //Назначение: // Обрезание длинных файловых имен за счет замены головной части пути доступа на подстроки типа 'C:/.../' или '.../', в зависимости от возможности корректного обрезания имен подкаталогов в полном файловом имени (остаются только имя файла и ближайшие предшествующие подкаталоги, не превышающие с начальной подстрокой заданное число байтов короткого имени) //Параметры и результат: // Fullname - длинное имя // Shotleng - длина короткого имени в байтах // Result - выходной укороченный путь к файлу
function DelPathEnd(Path :String): String; export; stdcall; //Назначение: // Контроль и удаление последнего символа пути '\' к директории //Параметры и результат: // Path - путь к директории // Result - выходной путь
function SearchPathDir(Inpdir :String): String; export; stdcall; //Назначение: //Пошаговый поиск существования подкаталогов, начиная от верхнего уровня заданного пользователем пути доступа //Параметры и результат: // Inpdir - входной путь доступа, указанный пользователем // Result - реально существующая цепочка подкаталогов из входного пути доступа (может совпадать с входным путем, быть только частью его или пусто)
function FileLSize(FileName :String; var pBnTx,pEoln :Boolean): Integer; export; stdcall; //Назначение: // Размер файла в строках (включая пустые строки) для двоичного и текстового файла // и определение типа файла: текстовый или двоичный //Параметры и результат: // FileName - полное имя файла // pBnTx - признак вида файла: False - текстовый, True - двоичный // pEoln - признак окончания файла: False - $0D$0A, True - иначе // Result - размер файла в строках
function FileBSize(FileName :String;): Integer; export; stdcall; //Назначение: // Размер файла в байтах //Параметры и результат: // FileName - полное имя файла // Result - размер файла в байтах
function HasAttr(FileName :String; Attr :Integer): Boolean; export; stdcall; //Назначение: // Проверка атрибутов файла //Параметры и результат: // FileName - полное имя файла // Attr - атрибут файла для проверки // Result - результат проверки: True - файл имеет заданный атрибут, False - не имеет
function LowerRCase(InpStr :String): String; export; stdcall; //Назначение: // Перекодировка строки на нижний регистр //Параметры и результат: // InpStr - входная строка // Result - перекодированная строка
function UpperRCase(InpStr :String): String; export; stdcall; //Назначение: // Перекодировка строки на верхний регистр //Параметры и результат: // InpStr - входная строка // Result - перекодированная строка
function DumpList(Str :String; Flg :Boolean=False): String; export; stdcall; //Назначение: // Ликвидация "лишних" пробелов строки // (между словами - 1 пробел, начальные и конечные пробелы сохраняются) //Параметры и результат: // Str - входная строка // Flg - флаг: False - полное сжатие, True - сохранить концевые пробелы
function NumItemList(List,Dlm :String; bLex :Boolean=False; bDlmQut :Boolean=False): Integer; export; stdcall; //Назначение: // Получение количества элементов в списке лексем с заданным разделителем //Параметры и результат: // List - список элементов // Dlm - разделитель элементов в списке // bLex - признак подсчета числа лексем в строке (True); // bDlmQut - признак контроля попадания разделителя в строку, заключенную в кавычки (True); // Result - количество элементов в списке
function PartitionFileByte(Inpathfile :String; Outpath :String; Patt :String; Add :String; ListSize :String): Integer; export; stdcall; //Назначение: // Разбиение файла на части по количеству байтов в порции //Параметры и результат: // Inpathfile - входной файл // Outpath - выходная директория // Patt - шаблон имени // Add - расширение // ListSize - число байт в одном выходном файле|список чисел (байт в выходных файлах) через ';' // Result - количество файлов разбиения
function PartitionFileLine(Inpathfile :String; Outpath :String; Patt :String; Add :String; LineDlm :String; Lreg,Lfull,Lpatt :Boolean; Lcase : Boolean=False; Lspace :Boolean=False): Integer; export; stdcall; //Назначение: // Разбиение файла на части по количеству строк в порции //Параметры и результат: // Inpathfile - входной файл // Outpath - выходная директория // Patt - шаблон имени // Add - расширение // LineDlm - число строк в одном выходном файле или список чисел (строк в выходных файлах) через ';' или шаблон-строка, по которой будет происходить деление файла // Lreg - режим интерпретации LineDlm: False - список размера строк разделения, True - шаблон-строка // Lfull - признак игнорирования пустых строк (True) // Lpatt - признак включения шаблон-строки в файл (True) // Lcase - признак игнорирования регистра шаблон-строки (True) // Lspace - признак игнорирования окружающих пробелов шаблон-строки (True) // Result - количество файлов разбиения
В начало | В меню |
Index | Имя функции | Назначение |
---|---|---|
1 | IsAnyLatSmb | Контроль наличия какой-либо латинской буквы в строке |
2 | IsAnyRusSmb | Контроль наличия какой-либо русской буквы в строке |
3 | IsDigInt | Проверка, является ли входная строка символов беззнаковым целым числом |
4 | IsNumbHex | Проверка, является ли входная строка символов шестнадцатеричным числом |
5 | IsNumbInt | Проверка, является ли входная строка символов целым числом |
6 | IsNumbReal | Проверка, является ли входная строка символов действительным числом |
7 | IsIdentSmb | Проверка, является ли входная строка символами идентификатора |
8 | IsLatSmb | Проверка, является ли входная строка символов латинскими буквами |
9 | IsPunctMarks | Проверка наличия в строке символа пунктуации |
10 | LengthNumber | Количество символов в записи целого числа |
11 | DelAnySmb | Контроль и удаление произвольного набора символов в строке |
12 | DelNoIdentSmb | Контроль и удаление не символа идентификатора в строке |
13 | DelMarkEOLN | Удаление концевых маркеров строки EOLN(#13#10) |
14 | AddLexQuote | Контроль и вставка обрамляющих кавычек лексемы |
15 | DelLexQuote | Контроль и удаление обрамляющих кавычек лексемы |
16 | ComparePattName | Сравнение файловых имен со списком шаблонов |
17 | ControlAmpersand | Контроль и удвоение символа '&' для выдачи на экран |
18 | ControlBinarySymb | Контроль наличия нетекстовых символов в строке |
19 | DelItemList | Удаление лексемы из списка лексем по заданному номеру элемента |
20 | FindLexList | Поиск лексемы в списке лексем |
21 | GetItemList | Получение лексемы из списка по заданному номеру элемента |
22 | GetFragList | Получение фрагмента из списка по заданному диапазону элементов |
23 | NumByteList | Получение номера лексемы по номеру символа в строке |
24 | SrchItemList | Контроль наличия образца лексемы в списке лексем |
function IsAnyLatSmb(Inpstr: String): boolean; export; stdcall; //Назначение: // Контроль наличия какой-либо латинской буквы в строке //Параметры и результат: // Inpstr - входная строка // Result - результат работы: True - условие контроля выполнено, False - иначе
function IsAnyRusSmb(Inpstr: String): boolean; export; stdcall; //Назначение: // Контроль наличия какой-либо русской буквы в строке //Параметры и результат: // Inpstr - входная строка // Result - результат работы: True - если буква присутствует в строке, False - нет
function IsDigInt(Inpstr: String): boolean; export; stdcall; //Назначение: // Проверка, является ли входная строка символов беззнаковым целым числом //Параметры и результат: // Inpstr - входная строка // Result - результат работы: True - условие контроля выполнено, False - нет
function IsNumbHex(Inpstr: String): boolean; export; stdcall; //Назначение: // Проверка, является ли входная строка символов шестнадцатеричным числом //Параметры и результат: // Inpstr - входная строка // Result - результат работы: True - условие контроля выполнено, False - нет
function IsNumbInt(Inpstr: String): boolean; export; stdcall; //Назначение: // Проверка, является ли входная строка символов целым числом //Параметры и результат: // Inpstr - входная строка // Result - результат работы: True - условие контроля выполнено, False - нет
function IsNumbReal(var Inpstr: String; var OldSepar: String; NewSepar: String='' ): boolean; export; stdcall; //Назначение: // Проверка, является ли входная строка символов вещественным числом //Параметры и результат: // Inpstr - входная строка // OldSepar - разделитель целой и дробной части // NewSepar - новый разделитель целой и дробной части (если задан, то заменяется в числе на это значение) // Result - результат работы: True - условие контроля выполнено, False - нет
function IsIdentSmb(Inpstr: String): boolean; export; stdcall; //Назначение: // Проверка, является ли входная строка символами идентификатора //Параметры и результат: // Inpstr - входная строка // Result - результат работы: True - условие контроля выполнено, False - нет
function IsLatSmb(Inps: String): boolean; export; stdcall; //Назначение: // Проверка, является ли входная строка символов латинскими буквами //Параметры и результат: // Inpstr - входная строка // Result - результат работы: True - условие контроля выполнено, False - нет
function IsPunctMarks(Inpstr: String; var NStrMarks: Integer; bDelWrd : Boolean=True ): boolean; export; stdcall; //Назначение: // Проверка наличия во входной строке символа пунктуации, допустимого в качестве // ограничителя слова пробел , . : ; ( ) < > [ ] { } / | \ ? ' " #9 #13 #10 ! //Параметры и результат: // Inpstr - входная строка // NStrMarks - номер позиции строки с первым встретившимся символом пунктуации, иначе 0 // bDelWrd - признак интерпретации тега в парных скобках < > ( ) [ ] { } как разделителя (ограничителя) слов (True) // Result - результат работы: True - символ пунктуации найден, False - нет
function LengthNumber(Numb :Integer): Integer; //Назначение: // Количество символов в записи целого числа //Параметры и результат: // Numb - целое число // Result - количество символов
function DelAnySmb(Str,Smb :String): String; export; stdcall; //Назначение: // Поиск и удаление произвольного набора символов в строке //Параметры и результат: // Str - входная строка // Smb - строка символов удаления // Result - выходная строка
function DelNoIdentSmb(Str : String): String; export; stdcall; //Назначение: // Поиск и удаление не символа идентификатора в строке //Параметры и результат: // Str - входная строка // Result - выходная строка
function DelMarkEOLN(InpStr :String): String; //Назначение: //Удаление концевых маркеров строки EOLN(#13#10) //Параметры и результат: // InpStr - входная строка // Result - выходная строка
procedure AddLexQuote( var Lexem :String); export; stdcall; //Назначение: // Контроль и вставка обрамляющих кавычек лексемы //Параметры и результат: // Str - входная строка //Параметры и результат: // Result - выходная строка // Lexem - входная лексема
procedure DelLexQuote(var Lexem :String); export; stdcall; //Назначение: // Контроль и удаление обрамляющих кавычек лексемы //Параметры и результат: // Lexem - входная и выходная лексема
function ComparePattName(fName :String; Patt :String): Boolean; export; stdcall; //Назначение: // Сравнение файловых имен со списком шаблонов // Параметры: // fName - имя файла или список файловых имен через разделитель ';' // Patt - шаблон // Result - результат сравнения: True - файловое имя удовлетворяет шаблону, False - нет
function ControlAmpersand(Inpstr :String): String; export; stdcall; //Назначение: //Контроль и удвоение символа '&' для выдачи на экран (иначе будет выдаваться пробел) //Параметры и результат: // Inpstr - входная строка // Result - выходная строка
function ControlBinarySymb(const Inpstr :String): Boolean; export; stdcall; //Назначение: //Контроль нетекстовых символов в строке //Параметры и результат: // Inpstr - строка // Result - результат работы: True - в строке есть нетекстовые символы, False - нет
function DelItemList(Listlex,Dlm :String; Numit :Integer; bDlmQut :Boolean=False): String; export; stdcall; //Назначение: // Удаление лексемы из списка лексем по заданному номеру элемента //Параметры и результат: // Listlex - список лексем // Dlm - разделитель лексем в списке // Numit - номер удаляемого из списка элемента (-1 - последний элемент) // bDlmQut - признак контроля попадания разделителя в лексему, заключенную в кавычки (True) // Result - список после удаления лексемы
function FindLexList(Listlex,Lex,Dlm: string; bReg: Boolean=True): Integer; export; stdcall; //Назначение: // Поиск лексемы в списке лексем //Параметры и результат: // Listlex - список лексем // Lex - лексема // Dlm - разделитель лексем // bReg - признак без учета регистра (False) // Result - номер лексемы в списке (0 - лексемы нет)
function GetItemList(Listlex,Dlm :String; Numit :Integer; bDump :Boolean=False; bQuote :Boolean=False; bDlmQut :Boolean=False; bNumLast :Boolean=False): String; export; stdcall; //Назначение: // Получение лексемы из списка по заданному номеру элемента //Параметры и результат: // Listlex - список лексем // Dlm - разделитель лексем в списке // Numit - номер получаемого из списка элемента (-1 - последний элемент) // bDump - признак "сжатия" лишних пробелов для разделителя пробел // bQuote - признак заключения лексемы в двойные кавычки для разделителя пробел // bDlmQut - признак контроля попадания разделителя в строку, заключенную в кавычки (True) // bNumLast - признак выборки от заданного элемента до конца строки // Result - лексема списка
function GetFragList(Listlex,Dlm :String; Numitb, Numite :Integer; bDump :Boolean=False; bQuote :Boolean=False; bDlmQut :Boolean=False): String; export; stdcall; //Назначение: // Получение фрагмента из списка по заданному диапазону элементов //Параметры и результат: // Listlex - список лексем // Dlm - разделитель лексем в списке // Numitb - номер получаемого из списка первого элемента фрагмента // Numite - номер получаемого из списка последнего фрагмента (-1 - последняя лексема списка) // bDump - признак "сжатия" лишних пробелов для разделителя пробел // bQuote - признак заключения лексемы в двойные кавычки для разделителя пробел // bDlmQut - признак контроля попадания разделителя в лексему, заключенную в кавычки (True) // Result - фрагмент списка лексем
function NumByteList(Listlex,Dlm :String; Nsmb :Integer): Integer; export; stdcall; //Назначение: // Получение номера лексемы в списке лексем по номеру символа в строке списка //Параметры и результат: // Listlex - список элементов // Dlm - разделитель элементов в списке // Nsmb - номер символа в списке // Result - номер лексемы в списке
function SrchItemList(Listlex,Dlm,Elem :String; Rg :Boolean=False):Boolean; export; stdcall; //Назначение: // Контроль наличия образца лексемы в списке лексем //Параметры и результат: // Listlex - список лексем // Dlm - символ-разделитель // Elem - лексема поиска // Rg - признак учета регистра (True) // Result - результат работы: True - лексема есть в списке, False - лексемы нет в списке
В начало | В меню |
Index | Имя функции | Назначение |
---|---|---|
1 | ChCp | Перевод из/в однобайтные символы через Unicode |
2 | StrToWidestr | Перевод однобайтных символов в символы Unicode |
3 | WidestrToStr | Перевод символов Unicode в однобайтные символы |
4 | HexToString | Перевод двоичного представления символов в текстовые |
5 | Decoder1x1 | Перекодирование строки символов по таблице типа Array of Byte |
6 | Decode1x1_p | Перекодирование строки символов по таблице типа TDynArray |
7 | DecoderInt | Получение символа по номеру байта в таблице |
8 | DecoderLatNRus | Перекодирование символов (латиницы в русскую транскрипцию) |
9 | DecoderRusLatN | Перекодирование символов (1 русская буква - N латинских) |
10 | DecoderTabUser | Перекодирование строки символов по таблице с заданным именем |
11 | DecoderLowUpp | Перекодирование букв (строчные <--> прописные) |
12 | DefineCode_f | Определение кодировки символов файла |
13 | DefineCode_s | Определение кодировки символов строки |
14 | GetTabCode | Получение таблицы перекодировки по нетипизированному указателю |
15 | GetTabCode_p | Получение таблицы перекодировки по типизированному указателю |
16 | BinEOLNTxt | Замена двоичных разделителей EOLN на их текстовое представление | |||||||||||||||||||||||||||
17 | TxtEOLNBin | Замена текстовых разделителей EOLN на их двоичные значения
18
| FirstNoSpace
| Поиск номера первого символа строки, не являющегося пробелом
| 19
| FirstPosUpp
| Поиск номера первой прописной буквы в слове
| 20
| GetInSpanBlock
| Выборка внутреннего диапазона строк блока (списка) типа TStringList
| 21
| GetOutSpanBlock
| Выборка внешних диапазонов строк блока (списка) типа TStringList
| 22
| GetSpanBlock
| Выборка строк блока (списка) TStringList до и после диапазона
| 23
| PosLim
| Нахождение начальной позиции шаблона в строке при задании границ
| 24
| PosNoLex
| Определение первого вхождения шаблона в строку вне лексемы
| 25
| PosPairSymb
| Определение позиции второго парного символа в строке
| 26
| PosStrPatLast
| Нахождение шаблона от конца строки
| |
function ChCp(StrInp :String; CodePageInp,CodePageOut :LongWord):String; export; stdcall; //Назначение: // Перевод из/в однобайтные символы через Unicode //Параметры и результат: // StrInp - входная строка // CodePageInp - код страницы ввода // CodePageOut - код страницы вывода // Result - выходная строка
function StrToWidestr(StrInp : String; CodePage :LongWord; var StrOut :WideString; FlgE0 :Boolean=False ):Integer; export; stdcall; //Назначение: // Перевод однобайтных символов в Unicode //Параметры и результат: // StrInp - входная строка // CodePage - код страницы // StrOut - выходная строка // FlgE0 - признак уничтожения конечного #0 // Result - число символов в выходной строке
function WidestrToStr(StrInp :WideString; CodePage :LongWord; var StrOut :String; FlgE0 :Boolean=False ):Integer; export; stdcall; //Назначение: // Перевод Unicode в однобайтные символы //Параметры и результат: // StrInp - входная строка // CodePage - код страницы // StrOut - выходная строка // FlgE0 - признак уничтожения конечного #0 // Result - число символов в выходной строке
function HexToString(InpStr :String; var Nsmb :Integer): String; export; stdcall; //Назначение: // Перевод двоичного представления символов в текстовые //Параметры и результат: // InpStr - входная строка // Nsmb - число символов в строке // Result - выходная строка
function Decoder1x1(Inpstr String; const TabDec :array of Byte): String; export; stdcall; //Назначение: // Перекодирование строки символов по таблице байтов типа Array of Byte //Параметры и результат: // Inpstr - входная строка // TabDec - таблица перекодировки // Result - перекодированная строка
function Decode1x1_p(Inpstr :String; const TabDec :TDynArray):String; export; stdcall; //Назначение: // Перекодирование строки символов по таблице байтов типа type TDunArray = array of Byte; //Параметры и результат: // Inpstr - входная строка // TabDec - таблица перекодировки типа TDynArray, // Result - перекодированная строка
function DecoderInt(Nbyte :Integer; const TabDec :array of Byte):String; export; stdcall; //Назначение: // Получение символа по номеру байта в таблице //Параметры и результат: // Nbyte - номер байта // TabDec - имя таблицы перекодировки // Result - символ таблицы
function DecoderLatNRus(Inpstr :String):String; export; stdcall; //Назначение: // Перекодирование строки символов (латиницы в русскую транскрипцию) //Параметры и результат: // Inpstr - входная строка // Result - перекодированная строка
function DecoderRusLatN(Inpstr :String):String; export; stdcall; //Назначение: // Перекодирование строки символов (1 русская буква - N латинских) //Параметры и результат: // Inpstr - входная строка // Result - перекодированная строка
function DecoderTabUser(Inpstr :String; Nametab :String): String; export; stdcall; //Назначение: // Перекодирование строки символов по таблице с заданным именем //Параметры и результат: // Inpstr - входная строка // Nametab - имя таблицы перекодировки // Result - перекодированная строка
function DecoderLowUpp(Inpstr: String; Reg: String): String; export; stdcall; //Назначение: // Перекодирование букв: строчные <--> прописные //Параметры и результат: // Inpstr - входная строка (может состоять из одной буквы) // Reg - режим перекодировки: LU (строчные->прописные), UL (прописные->строчные) // Result - перекодированная строка
function DefineCode_f(const Fin :TextFile):fcod; export; stdcall; //Назначение: // Определение кодировки символов файла, заданного файловой переменной //Параметры и результат: // Fin - файловая переменная // Result - выходная кодировка (WIN, WINL(только латинские), WINP(приоритетная), DOS, KOI8)
function DefineCode_s(Inpstr :String):fcod; export; stdcall; //Назначение: // Определение кодировки по символам строки //Параметры и результат: // Inpstr - входная строка // Result - выходная кодировка ( WIN,WINL(только латинские), WINP(приоритетная), DOS, KOI8)
function GetTabCode(TabDecName :String; TabDecPoint: Pointer):TDynArray; export; stdcall; //Назначение: // Получение таблицы перекодировки по указателю //Параметры и результат: // TabDecName - имя таблицы перекодировки // PTabDec - указатель на выходную таблицу перекодировки // Result - таблица перекодировки типа type TDynArray = array of Byte;
function GetTabCode_p(TabDecName :String; PTabDec: PDynArray): TDynArray; export; stdcall; //Назначение: // Получение таблицы перекодировки по типизированному указателю на объект типа type TDynArray = array of Byte; pDynArray = ^TDynArray; //Параметры и результат: // TabDecName - имя таблицы перекодировки // PTabDec - типизированный указатель на выходную таблицу перекодировки // Result - таблица перекодировки типа TDynArray
function BinEOLNTxt(const InpStr :String; Flg :Integer=0 ): String; export; stdcall; //Назначение: //Замена разделителей EOLN(#13#10) на их текстовые значения //Параметры и результат: // InpStr - входная строка // Flg - флаг: 0 - замена на '#13#10', 1 - замена на '\0d\0a' // Result - перекодированная строка
function TxtEOLNBin(InpStr :String ): String; export; stdcall; //Назначение: //Замена разделителей EOLN(#13#10) на их двоичные значения //Параметры и результат: // InpStr - входная строка // Result - перекодированная строка
function FirstNoSpace(InpStr: string): Integer; export; stdcall; //Назначение: // Поиск номера первого символа строки, не являющегося пробелом //Параметры и результат: // InpStr - входная строка // Result - номер первой найденной прописной буквы в слове (0, если её нет)
function FirstPosUpp(InpStr: string): Integer; export; stdcall; //Назначение: // Поиск номера первой прописной буквы в слове (русской или английской) //Параметры и результат: // InpStr - входная строка // Result - номер символа
procedure GetInSpanBlock(const Block: TStringList; Nsb,Nse :Integer; bSp :Boolean; var Strmid :String); export; stdcall; //Назначение: // Выборка внутреннего диапазона строк блока (списка типа TStringList) //Параметры и результат: // Block - блок редактирования // Nsb - начальная строка блока // Nse - конечная строка блока // bSp - признак игнорирования пустых строк в блоке (True) // Strmid - строка выборки внутри диапазона
procedure GetOutSpanBlock(const Block: TStringList; Nsb,Nse :Integer; bSp : Boolean; var Strbeg,Strend :String); export; stdcall; //Назначение: // Выборка внешних диапазонов строк блока (списка типа TStringList) //Параметры и результат: // Block - блок редактирования // Nsb - начальная строка блока // Nse - конечная строка блока // bSp - признак игнорирования пустых строк в блоке (True) // Strbeg - строка выборки перед заданным диапазоном // Strend - строка выборки после заданного диапазона
procedure GetSpanBlock (const Block: TStringList; Nsb,Nse : Integer; bSp : Boolean; var Strbeg,Strend :String; bUpDn :Boolean=False); export; stdcall; //Назначение: // Получение объединенных строк блока (списка типа TStringList) до начала и после конца заданного диапазона //Параметры и результат: // Block - блок редактирования // Nsb - начальная строка блока // Nse - конечная строка блока // bSp - признак игнорирования пустых строк в блоке (True) // Strbeg - строка выборки перед заданным диапазоном // Strend - строка выборки после заданного диапазона // bUpDn - признак вхождения строки деления вверх (True) или вниз(False)
function PosLim(Patt: String; InpStr : String; Ltxt : String=''; Rtxt : String=''; bNoRg: Boolean=True; bSrch : Boolean=True):Integer; export; stdcall; //Назначение: // Нахождение начальной позиции шаблона в строке при задании границ // (возможно отделенных от контекста пробелами) //Параметры и результат: // Patt - шаблон поиска // InpStr - входная строка // Ltxt - левая граница контекста // Rtxt - правая граница контекста // bNoRg - признак игнорирования регистра (True по умолчанию) // bSrch - признак поиска контекста с окружением по всей строке // Result - номер начальной позиции в строке найденного контекста (0 - контекст не найден)
function PosNoLex(Patt :String; Inpstr :String; Lbound :String=''; Rbound :String=''):Integer; export; stdcall; //Назначение: //Определение первого вхождения шаблона в строку вне явно заданной кавычками лексемы //Параметры и результат: // Patt - шаблон поиска // Inpstr - входная строка // Lbound - левая граница поиска // Rbound - правая граница поиска // Result - номер найденной позиции в строке (0, если шаблон не найден)
function PosPairSymb(Inpstr :String; Symb1 :String; Symb2 :String; PosSymb1: Integer):Integer; export; stdcall; //Назначение: //Определение позиции второго парного символа в строке //Параметры и результат: // Inpstr - входная строка // Symb1 - первый символ пары // Symb2 - второй символ пары // PosSymb1 - позиция первого символа пары в строке // Result - позиция второго символа пары в строке или 0, если пара не найдена
function PosStrPatLast( Str,Pat :String; bReg :Boolean=False):Integer; export; stdcall; //Назначение: //Нахождение шаблона от конца строки //Параметры и результат: // Str - входная строка // Pat - шаблон сравнения // bReg - признак учета регистра (True) // Result - номер позиции поиска (0 - шаблон не найден) Ссылки на каталоги библиотек: libdlph01 libdlph02 libdlph03 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
В начало | В меню |