Библиотеки полезных функций, используемых в редакторе TeConv


Скачать библиотеки:     [  169  ] 
~~~~~~~~~~~~~~~~~~

Справка
~~~~~~~
Набор библиотек полезных функций содержит функции, созданные при разработке и  реализации
программного обеспечения редактора 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 - количество файлов разбиения
В начало
Ссылки на каталоги библиотек: libdlph01 libdlph02 libdlph03 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.Библиотека libdlph02: работа с числами, строками, лексемами ============================================================= Список используемых библиотек: borlndmm.dll, libdlph01.dll, libdlph03.dll ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Каталог имен экспортируемых функций библиотеки ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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; bDelmWrd : Boolean=True ): boolean; export; stdcall; //Назначение: // Проверка наличия во входной строке символа пунктуации, допустимого в качестве // ограничителя слова пробел , . : ; ( ) < > [ ] { } / | \ ? ' " #9 #13 #10 ! //Параметры и результат: // Inpstr - входная строка // NStrMarks - номер позиции строки с первым встретившимся символом пунктуации, иначе 0 // bDelmWrd - признак интерпретации тега в парных скобках < > ( ) [ ] { } как разделителя (ограничителя) слов (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 - лексемы нет в списке
В начало
Ссылки на каталоги библиотек: libdlph01 libdlph02 libdlph03 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.Библиотека libdlph03: перекодировка, поиск символов, лексем, диапазонов ========================================================================= Список используемых библиотек: borlndmm.dll, libdlph01.dll, libdlph02.dll ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Каталог имен экспортируемых функций библиотеки ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 - номер символа

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

В начало