Главная Описание Функции Вакансии Контакты Заказ функции

Функции AI (Artificial Intelligence).

Ассоциативные списки Ddar.

Текст 32 бит (юникод UTF-32LE).

Графика.

Пиксельная графика.

Пиксельный процессор 128 бит.

Графика сложная.

Видео.

Звук.

Интернет.

Служебные.

Специальные.

Время и дата.

Математические.

Контроллы.

Файлы.

Ресурсы, буфер обмена.

Переменные.

Пазлы (динамические базы данных).

Списки Arr (одномерные массивы).

Списки2 Dar (двумерные массивы).

Списки высоких измерений.

Макросы.

Функции VendorPint.

Функции PintLang.

Функции TulkoPint.

Функции VideoPint.

Функции PhotoPint.

Функции VardPint.

Функции SmartPint.

Функции WavePint.

Функции DataBase.

Текст 32 бит (юникод UTF-32LE).


АртикулНаименованиеЦена, от
StruSear4V32 Поиск структуры [Arr1,X,Arr2] в Var1/Var11 с текущих параметров в диапазоне Midl1 байт. Выход: Var1 -для поиска, Var11 - копия Var1 для выдачи результата; VarB1 (или =0) фрагмент между структурами; VarA1, VarS, VarA2 (или =0) - начало, середина и конец найденной структуры (выдача из Var11); EAX=0 / JZ - Нет вхождения.
StruSear4V32, Var1, Var11, Arr1, Arr2, Midl1, VarB1, VarA1, VarS, VarA2
StruSear32 Поиск структуры [Arr1,X,Arr2] в Var1 с текущих параметров в диапазоне Midl1 байт. Выход: EAX Найденный адр. вхождения Arr1 в Var1 /=0, JZ- Нет вхождения; EBX Длина до вхождения Arr1 в Var1; ECX Адр. за вхождением Arr1 в Var1; EDX Длина за вхождением Arr1 в Var1; ESI Найденный адр. вхождения Arr2 в Var1; EDI Длина до вхождения Arr2 в Var1.
StruSear32, Var1, Arr1, Arr2, Midl1
PintToByte Перевод текста из Var1 (юникод32) в Var[EAX] (CodePage)
PintToByte, Var1, CodePage
PintFromTxt Перевод в Var2=EAX(Pint32) из Var1 (UTF16)
PintFromTxt, Var1
PintToTxt Перевод в Var2=EAX(UTF16) из Var1(Pint32), VarBom/0- заголовок, если он есть
PintToTxt, VarBom, Var1
FixVar32 Поиск вхождения Var2 в Var1 по адресу Adr1. Вых: EAX: Адрес за вхождением (Var1); EAX=0, JZ - Нет вхождения. EBX: Длина Var2 (байт!). ECX: 0= Достижение стоп-адреса Var1.
FixVar32, Var1, Var2, Adr1
На основе макроса StartAdr.
FixArr32 Поиск вхождения Arr1/0 в Var1 по адресу Adr1. Вых: EAX: Адрес за вхождением (Var1); 0= Нет вхождения/JZ - Нет вхождения. EBX: Длина Var2 (байт!). ECX: 0= Достижение стоп-адреса. ESI: Adr Arr1. EDI: Индекс входжения (0,1,2...).
FixArr32, Var1, Arr1, Adr1
На основе функции FixVar32.
NUMHEX ВЫВОД HEX из REG32 UNICODE
NUMHEX, REG32
NUMHEX32 Вывод шестнадцатеричного значения в формате [XXXX XXXXh] из REG32 UNICODE по линейному адресу ADLAB
NUMHEX32, REG32 :DWORD, ADLAB :DWORD
VARHEX32 Добавляет к переменной HEX-значение Dta
VARHEX32, Var1, Dta
VarByteHex Преобразует из Var1 младший байт слова-32 в его шестнадцатеричное значение в порядке младший-старший в Var2 (Var1 при Var2=0).
VarByteHex, Var2, Var1
Цикл с макросом Hex4Reg.
VarDec32 Добавление числа-32 N32 как текстового целого неформатированного десятичного числа со знаком в Var1. С использованием FPU. Вых: EAX=число значащих цифр числа. Портит EAX.
VarDec32, Var1, N32
Часто используемая функция. Удобна для получения имени файла, содержащего изменяемое число. Данные FPU не сохраняются.
VarDec64 Добавление целого числа-64 со знаком в неформатированное десятичное текстовое число Var1.
VarDec64, Var1, Nm64:QWORD
VarDecLen Дописывает в Var1 десятичное значение Dat32, дополняя ее слева нулями до общей длины Len1. Портит EAX, EBX.
VarDecLen Var1, Len1, Dat32
На основе функции VarFixLen.
Var16Dec Добавляет в Var1 десятичное число из Dat16 [16/16]. Разделитель - точка. Регистры не портит.
Var16Dec, Var1, Dat16
Var2Sign Добавляет в Var1 в текстовом виде 2 числа из Dat1 - 2 знака после запятой [16.16]. Портит EAX.
Var2Sign, Var1, Dat16
VarFpu Добавляет в Var1 текстовое десятичное значение с Frt1 знаков после запятой, освобождая St(0) FPU. Разделитель из Var2. EAX - число знаков после запятой, EBX- число знаков до запятой.
VarFpu Var1, Var2, Frt1
Сложная функция. При ошибках FPU инициализируется и загружается нулем.
VarFormatFpu Добавляет в Var1 текстовое десятичное число из FPU St(0) согласно формата Frt1, =0 - простое целое число, =1 - 2 фикс. знака после запятой, 3 - целое 4 знака с нулями слева, 4 - [16/16].//Разделитель (запятая) берется из Var2, 5 - 5 знаков после запятой. При Var2=0 записывается только целая часть.
VarFormatFpu, Var1, Var2, Sng1
На основе функции .
VarFromMsF2Arr32 Добавляем к 32-разрядной! Var1 десятичный рейтинг MsF2, знак табуляции и 32-разрядные элементы списка Arr1 через разделитель VarStp или 0.
VarFromMsF2Arr32, Var1, Arr1, VarStp
HexDec32 Преобразует текстовое-32 целое десятичное число со знаком из Var1 в EAX=HEX32. Поиск с конца переменной. JL - Ошибка, переменная некорректна, меньше 4 байт. Портит EBX, EAX.
HexDec32, Var1
Часто подвисает и не выходит из цикла!!!!!!!!!!!!!!!!!! Нет поиска
FpuDec32 Преобразует текстовое-32 десятичное число со знаком и плавающей запятой из Var1 в ST(0) и EAX=Fpu32. Поиск с конца переменной. Производится инициализация командой FINIT.
FpuDec32, Var1
Нет поиска! Сопроцессор загружается на 1 регистр!
CrossVar32 Находит наибольшее пересечение строк-32 целой Var1 и Var2 без учета крайних символов. EAX=Var Max, JLE - нет пересечения
CrossVar32, Var2, Var1
SupCross32 Добавляет в Arr1 все пересечения строк-32 целой Var2 и Var1 без учета крайних символов; JZ - нет пересечения
SupCross32, Arr1, Var2, Var1
VarProc Виртуальный процессор. Переменная Var1, Программа Var2, Данные Arr1
VarProc, Var1, Var2, Arr1
Нет законченной даты создания!
MaxCross32 Добавляет в переменную =[EAX] наибольшее пересечение строк-32 Var1 и Var2. JZ - нет пересечения. Портит EAX.
MaxCross32, Var2, Var1
Применяется медленная функция ScanPn.
LeftCross32 VarL(EAX)= пересечение переменных слева, EBX - длина (32) VarL, JL - ошибка, нет вхождения
LeftCross32, Var1, Var2
Применяется сдвоенный цикл.
SupCrossArr Добавляет в Dar1 все пересечения строк-32 целой Var1 и Var2 без учета крайних символов; JZ - нет пересечения
SupCrossArr, Dar1, Arr2, Arr1
Нет законченной даты создания!
RightVar32 VarL(EAX)= пересечение переменных справа, EBX - длина (32) VarL, JZ - ошибка, нет вхождения
RightVar32, Var1, Var2
LeftInCross Проверка пересечения переменных Var2 в Var1 слева (с начала). Выход: JZ - входит, JL - нет вхождения, ошибка.
LeftInCross, Var1, Var2
Применяется сдвоенный цикл.
VarFixLen Дописывает в Var2 Var1, дополняя ее слева Dat1 до общей длины Len1. Портит EAX, EBX.
VarFixLen Var2, Var1, Len1, Dat1
На основе функции VarPlusQVal32.
RoubCross Дописывает в LPzl пересечения всех общих начал переменных из строк списка Arr1.
RoubCross, LPzl, Arr1
Многократный неполный цикл списка (N^2/2).
BothCrossVar Поиск пересечения начала Var1 с концом Var2. Вых: EAX: новая переменная вхождения/0, JZ - Нет пересечения.
BothCrossVar, Var1, Var2
BothCrossArr Запись в Arr2 пересечений начала Var1 с концами Arr1 и конца Var1 с началами Arr1.
BothCrossArr, Arr2, Arr1, Var1
В скриптах AI находит первичные разделители.
VarInVar32 Длина, включая вхождение Var2 в Var1 (1,2,...). Результат в EAX, JZ - нет вхождения. Портит регистр EAX.
VarInVar32, Var1, Var2
Довольно сложная функция. Ищет только до первого вхождения. Пример: VarInVar32, ['CPU'], ['P'] = 2. Допустимо использовать ту же переменную Var1, Var1.
QVarInVar32 Количество вхождений Var2 в Var1 (в EAX), JL - нет вхождения, шибка. Портит EAX.
QVarInVar32 Var1, Var2
В отличие от VarInVar32, проходит Var1 до конца.
VarInVarNR Длина (в байтах), включая регистронезависимое вхождение переменых-32 Var2 в Var1 (1,2,...). Результат в EAX, JZ - нет вхождения.
VarInVarNR Var1, Var2
Регистронезависимый аналог функции VarInVar32.
ArrInVar32 Последовательный поиск. Длина 1-го вхождения Arr1 в Var1. Результат: длина после вхождения=EAX, длина до вхождения=EBX, ссылка на вхождение =ECX, JZ - нет вхождения
ArrInVar32, Var1, Arr1
Проходит список по циклу. Переменные сравнивает функцией VarInVar32. Всю переменную просматривает для каждого элемента Arr1. При первом вхождении завершает поиск.
ArrInVarNE32 Последовательный поиск. Номер (1,2,..) позиции символа 32 бита 1-го вхождения Arr1 в Var1, не равного Var1. Результат: позиция конца вхождения=EAX, позиция начала вхождения=EBX, ссылка на вошедшую строку Arr1 =ECX, JZ - нет вхождения.
ArrInVarNE32, Var1, Arr1
Проходит список по циклу. Всю переменную просматривает для каждого элемента Arr1. Переменные сравнивает функцией VarInVar32. При первом вхождении неравных переменных завершает поиск.
VarInArr32 Установка MsF1=1 в строках Arr1, в которые входит Var1. Вых.(в EAX) - количество строк Arr1, имеющих вхожение. При EAX=0, JL - ошибка, нет вхождения.
VarInArr32 Arr1, Var1
На основе функции VarInVar32.
VarDivi32 Разделение Var1 на VarL/Var1/0 и VarR/Var1/0 по числу символов Len32 (Dir1=0 - с начала, <>0 - с конца).
VarDivi32, VarL, VarR, Var1, Len32, Dir1
Суперуниверсальная функция. На основе макросов StartVR и VarEAX4. Создает новые переменные (или переписывает исходную) определенной длины. Одна и та же переменная может являеться и источником и приемником (..Var1, Var1, ..).
Left32 Создает переменную-левую часть Var1 длиной Len32*4 байт в [EAX]. Ошибка - JL.
Left32, Var1, Len32
На основе макросов StartVR и VarEAX4. Создает новую переменную до определенной длины.
LeftToSea32 Создает в [EAX] переменную-левую часть Var1 до 1 вхождения в нее Var2; JZ - нет вхождения: выводится вся переменная целиком Var1. Если Var2 пустая, выводится пустая переменная. Портит EAX.
LeftToSea32, Var1, Var2
На основе функций VarInVar32 и Left32.
ArrLeftToSea32 Оставляет левую часть строк Arr1 до 1 вхождения в них Var1.
ArrLeftToSea32, Arr1, Var1
LeftArrInVar32 Создает переменную-левую часть Var1 до 1 вхождения в нее Arr1. Результат в EAX, JZ - нет вхождения
LeftArrInVar32, Var1, Arr1
VarRepFirstNR Перемещает на первое место в Var1 первое регистронезависимое вхождение участка Var2. При отсутствии вхождений дописывает Var2 в начало Var1.
VarRepFirstNR Var1, Var2
На основе макроса VarPlus32 и функции VarRepVarNR.
VarRepVar32 Добавление в VarR копии Var1 с заменой в ней 1-го вхождения Var2 на Var3/0 Qz1 раз (<1 - все). При VarR=0 замена самой Var1. Вых: EAX=Число замен Var1, JZ - нет вхождения. Портит EAX.
VarRepVar32, VarR, Var1, Var2, Var3, Qz1
Проверить все похожие ф. Перепроверить! Подставлен NextPn. Сложная функция. При Qz1<1 -только удаление вхождения, замена не учитывается.
VarRepVarNR Добавление в VarR копии Var1 с заменой в ней 1-го регистронезависимого вхождения Var2 на Var3 Qz1 раз (<1 - все). При VarR=0 замена самой Var1. Вых: EAX=Число замен Var1, JZ - нет вхождения. Портит EAX.
VarRepVarNR VarR, Var1, Var2, Var3, Qz1
Регистронезависимый аналог функции VarRepVar32.
VarRepCircleArr Добавление в VarR копии Var1 с заменой в ней вхождений Var2 по циклу последовательно на строки Arr1. При VarR=0 замена самой Var1. Вых: EAX=Число замен Var1, JZ - нет вхождения. Портит EAX.
VarRepCircleArr, VarR, Var1, Var2, Arr1
Модификация функции VarRepVar32.
VarDupDel32 Удаляет из Var1 двойные (и более) повторения Var2 (заменяет в самой Var1). Вых: EAX=Число замен.
VarDupDel32, Var1, Var2
На основе циклического вызова функции VarRepVar32. После функций замены может удалять возникающие лишние повторения.
DupDelDat32 Удаляет из Var1 двойные (и более) повторения Dat32. Вых: EAX=Число замен.
DupDelDat32, Var1, Dat32
На основе циклического вызова функции VarRepVar32. Удобна для удаления лишних пробелов из текста.
VarPlusQVal32 Добавление числа Val1 длиной 32 Qlt1 раз
VarPlusQVal32, Var1, Val1, Qlt1
На основе макроса VarEAX4. Заливка данных.
VarPlusQVar32 Добавление Var2 к Var1 Qlt1 раз.
VarPlusQVar32 Var1, Var2, Qlt1
На основе макроса VarPlus32 . Заливка переменных.
VarTab32 Добавляет к Var1 "табуляцию" - Var3 в количестве 8-len(Var2).
VarTab32 Var1, Var2, Var3
На основе функции VarPlusQVar32.
LenCompVar EAX: Позиция-32 (0,1,..) до 1-го комплексного вхождения в Var1 элемента Arr1. EBX: Длина Var2. ECX: 0= Достижение стоп-адреса. ESI: Adr Arr1. EDI: Индекс входжения (0,1,2...). Нет вхождения - в EAX вся длина32. JZ нет вхождения.
LenCompVar, Var1, Arr1
Длина после 1 вхождения EAX+EBX.
LenVarQVar Позиция-32 (0,1,..) до QLn1-го (1,2,..) вхождения Var2 в Var1. Нет вхождения - вся длина. Результат в EAX.
LenVarQVar, Var1, Var2, QLn1, Dup1
На основе макросов StartVR и функции FixVar32. Удобна для отрезания нескольких левых ячеек в CSV-файлах, отрезания начальных слов в строке и т.д.
LenQCompVar Позиция-32 (0,1,..) до QLn1-го (1,2,..) комплексного вхождения в Var1 элемента Arr1. Дубликаты более Dup1 раз подряд не учитываются. Нет вхождения - вся длина. Результат в EAX. JZ нет вхождения.
LenQCompVar, Var1, Arr1, QLn1, Dup1
На основе макросов StartVR и функции FixArr32. Удобна для отрезания нескольких левых ячеек в CSV-файлах, отрезания начальных слов в строке и т.д. (совместно с функциями LeftCut32, VarDivi32 и т.д.)
LeftQCompVar32 Левая часть до QLn1-го (1,2,..) комплексного вхождения в Var1 элемента Arr1. Дубликаты более Dup1 раз подряд не учитываются. Нет вхождения - вся длина. Результат в EAX, EBX - число вхождений, JZ - нет вхождения.
LeftQCompVar32, Var1, Arr1, QLn1, Dup1
На основе макросов StartVR и функции FixArr32. Удобна для отрезания нескольких левых ячеек в CSV-файлах, отрезания начальных слов в строке и т.д.
LeftCut32 Правую часть Var1 после LenL2 (=1,2,..) оставляем в Var1. Левую часть Var1 перед LenL1 (до LenL2 при LenL2
LeftCut32, VarL, Var1, LenL1, LenL2
На основе StartVR, VarEAX4, VarCopy. Если требуется только правая часть, можно писать VarL=0.
CutToSea32 Левую часть Var1 перед вхождением VarS добавляем в VarL. Возможо VarL=0. Правую часть Var1 за вхождением VarS оставляем в Var1. JZ - нет вхождения.
CutToSea32, VarL, Var1, VarS
Универсальная функция на основе VarInVar32 и LeftCut32. Последовательный поиск. Если требуется только правая часть, можно писать VarL=0. Проверить правую длину!-Научный тык
CutToSeaArr32 Разрезаем Var1 на 3 части по первому вхождению в нее элементов ArrS для неравных переменных. Левую часть Var1 перед 1-м вхождением ArrS, не равнным Var1, добавляем в VarL. Правую часть Var1 за вхождением ArrS оставляем в Var1. Ссылка на вхождение = EAX. JZ - нет вхождения.
CutToSeaArr32, VarL, Var1, ArrS
Универсальная функция на основе ArrInVarNE32 и LeftCut32 - поиск первого вхождения неравных переменных. Последовательный поиск. Медленная, плохо применима для больших объемов.
MidCompVar32 Выделяет середину - часть строки после NStr1 (0,1,2,..) и до (не включая) NFin1 (0,1,2,..) номеров комплексного вхождения в Var1 элементов Arr1. Дубликаты более Dup1 раз подряд не учитываются. Результат в EAX, EBX - число вхождений, JZ - нет вхождения.
MidCompVar32, Var1, Arr1, NStr1, NFin1, Dup1
Эффективная функция. Пример применения (со списком AllDel32) - вырезание части строки со слова номер NStr1 до слова норер NFin1. Выбор 4 слова из строки Var1: Invoke MidCompVar32, Var1, AllDel32, 4, 4, 1
MidSear32 Ищет середину (в EAX) - промежуток между 1-ми вхождениями в Var1 переменных VarL, VarR. Правую часть Var1 за вхождением VarR(VarL) оставляем в Var1. JZ - нет вхождения.
MidSear32, Var1, VarL, VarR
На основе функции CutToSea32. Сходна с функциями StruSear. Может использоваться в цикле, т.к. исходная переменная обрезается. Выходная переменная создается в любом случае. Ее желательно удалить после использования.
DelMid32 Удаляет из Var1 середину - все промежутки между вхождениями в Var1 переменных VarL, VarR, включая их самих. Вых. EAX=число удалений. JL - нет удалений, ошибка.
DelMid32, Var1, VarL, VarR
На основе функции CutToSea32. Не самая эффективная функция. Производит многократное копирование данных. Для больших объемов не рекомендуется из-за потребления значительных ресурсов.
RemMid32 Замена в Var1 1-й середины - все промежутки между вхождениями в Var1 переменных VarL, VarR, включая их самих на Var2. Вых. EAX=число удалений. JL - нет удалений, ошибка.
RemMid32, Var1, VarL, VarR, Var2
На основе функции CutToSea32.
TagRemMid32 Замена в Var1 1-й середины - все промежутки между вхождениями в Var1 переменных L и R из VarTag = L
R, включая их самих на Var2. Вых. EAX=число удалений. JL - нет удалений, ошибка.
TagRemMid32, Var1, VarTag, Var2
На основе функции RemMid32. Вариант для VarEdit.
VarMid32 Середину Var1 после LenL1 и перед LenL2 (длина 1,2...) добавляем в Var2/0 (при Var2=0 переписываем в Var1).
VarMid32, Var2, Var1, LenL1, LenL2
Цикл StartVR от начала и до LenL2 с макросом VarEAX4.
FilMid32 Середину Var1 от LenL1 и до LenL2, включаая их (длина 0,1,2...) заливаем значением Dat32.
FilMid32, Var1, LenL1, LenL2, Dat32
Простейшая функция. Максимально быстрая.
VarNoodl Разрезает переменную Var1 на фрагменты длиной Len32 и добавляет к списку Arr1. Вых. EAX - число фрагментов.
VarNoodl, Arr1, Var1, Len32
Простейшая функция на основе цикла и макроса VarEAX4.
VarNoodlSqr Разрезает переменную Var1 на фрагменты длиной, равной квадратному корню из длины Var1 (список равной длины и ширины) и добавляет к списку Arr1. Вых. EAX - длина фрагмента, EBX - число фрагментов.
VarNoodlSqr, Arr1, Var1
Простейшая функция на основе VarNoodl. Может использоваться для звуковых и других длинных файлов для ускорения доступа и редактирования.
VarRepN32 Последовательная замена в Var1 всех получающихся вхождений списка ArrFr на переменную Var3/0, Qz1 раз (<1 - все). Портит EAX. EAX=общее число замен, JZ - нет вхождения.
VarRepN32, Var1, ArrFr, Var3, Qz1
На основе функции VarRepVar32.
ArrRepVar32 Последовательная замена в строках Arr1 вхождений Var1 на переменную Var2, Qz1 раз (<1 - все). Портит EAX. EAX=общее число замен, JZ - нет вхождения.
ArrRepVar32, Arr1, Var1, Var2, Qz1
На основе функции VarRepVar32.
ArrRepA32 Последовательная замена в строках Arr1 всех получающихся вхождений списка ArrFr на переменную Var3/0, Qz1 раз (<1 - все). Портит EAX. EAX=общее число замен, JZ - нет вхождения.
ArrRepA32, Arr1, ArrFr, Var3, Qz1
На основе функции VarRepN32.
ArrRepInd Меняет местами строки из Arr1 с индексами Ind1 и Ind2 с заменой адресов. Вых. EAX=Arr1[Ind1], EBX=Arr1[Ind2] (новые), JL - ошибка. Портит EBX, EAX.
ArrRepInd Arr1, Ind1, Ind2
На основе функции VarVal. Медленная на длинных списках. Простая замена адресов переменных.
ArrMovInd Копирование ячейки Ind2 в Ind1 в списке Arr1.
ArrMovInd, Arr1, Ind1, Ind2
На основе 2 вызовов функции VarVal и VarCopy. Медленная на длинных списках.
ArrPlusDat32 Добавление к списку новой переменной, содержащей значение 32 бита Dat32. EAX=адр. добавленной переменной. Изменяет только регистр EAX.
ArrPlusDat32, Arr1, Dat32
Простейшая функция. Удобна, если элемент списка содержит всего один 32-битный символ.
Var4Dat Очистка и вставка в переменную Var1 (создание ее при необходимости) 4 чисел-32 Dat40-Dat43. Вых. EAX - новая переменная. Портит EAX.
Var4Dat, Var1, Dat_40, Dat_41, Dat_42, Dat_43
На основе макроса NewIfNone, CleVar и VarEAX4.
VarPlus4Dat Добавление в переменную Var1 4 чисел-32 Dat40-Dat43. Портит EAX.
VarPlus4Dat, Var1, Dat_40, Dat_41, Dat_42, Dat_43
Добавляет к переменной сразу 4 числа-32
VarPlus20Dat Добавление к переменной-32 Var1 чисел Dtt0-Dtt19 до первого значения Dtt=-1.
VarPlus20Dat, Var1, Dtt0, Dtt1, Dtt2, Dtt3, Dtt4, Dtt5, Dtt6, Dtt7, Dtt8, Dtt9, Dtt10, Dtt11, Dtt12, Dtt13, Dtt14, Dtt15, Dtt16, Dtt17, Dtt18, Dtt19
Позволяет добавлять короткие 32-разрядные тексты до 20 символов.
SimpleVar32 Заменяет некоторые национальные символы на упрощенные (в латинице, кириллице и латышском) в самой переменной Var32. Портит EAX, EBX.
SimpleVar32, Var32
Незаменима при анализе некорректно написанных текстов.
SimpleArr Заменяет некоторые национальные символы на упрощенные (в латинице, кириллице и латышском) в самом списке.
SimpleArr, Arr1
HigFirstVar Заменяет в Var1 первую букву с прописной на заглавную в юникоде-32 (в латинице, кириллице и латышском). Регистры EAX, EBX изменяет. JL - пустая переменная/ошибка.
HigFirstVar, Var1
На основе макроса HigVar32.
HigVar Заменяет в Var1 с прописной на заглавную буквы в юникоде-32 (в латинице, кириллице и латышском).
HigVar, Var1
На основе макроса HigVar32.
LowVar Заменяет заглавные буквы на прописные в юникоде-32 (в латинице, кириллице и латышском) в самой переменной.
LowVar, Var32
На основе макроса LowVar32. Очень быстрая специализированная функция. Текст-32 должен быть без BOM! - иначе, произойдет смещение и распознать юникод будет проблематично. Буквы Ё, Й декодируются для 1 и 2-символьных вариантов.
LowArr Заменяет заглавные буквы на прописные в юникоде-32 - опускает в нижний регистр (в латинице, кириллице и латышском).
LowArr, Arr1
Очень быстрая специализированная функция на основе функции LowVar. Текст-32 должен быть без BOM! - иначе, произойдет смещение и распознать юникод будет проблематично. Буквы Ё, Й декодируются для 1 и 2-символьных вариантов.
LowPzl Заменяет в переменных строк VReff пазла Pzl1 в юникоде-32 на переменные с прописными буквами - опускает в нижний регистр (в латинице, кириллице и латышском). Вых: EAX=Счетчик вхождений.
LowPzl, Pzl1
Очень быстрая специализированная функция на основе функции LowVar. Текст-32 должен быть без BOM! - иначе, произойдет смещение и распознать юникод будет проблематично. Буквы Ё, Й декодируются для 1 и 2-символьных вариантов.
ArrFromVar32 Нарезает в Arr1 переменную Var1 по разделителю Var2. Результат в EAX - число вхождений, JZ - нет вхождения.
ArrFromVar32, Arr1, Var1, Var2
На основе функции FixVar32.
ArrFromVarDel Нарезает в Arr1 переменную Var1 по разделителю Var2, разделитель пишется отдельно с MsF1=0. Результат в EAX - число вхождений, JZ - нет вхождения.
ArrFromVarDel, Arr1, Var1, Var2
Модификация функции ArrFromVar32.
ArrFromCompVar32 Добавление в Arr2 фрагментов Var1, полученных разделением Var1 по комплексным вхождениям в нее элементов Arr1. При Flg1=0 сами вхождения не записываются, при Flg1=1 вхождения остаются в конце фрагментов, при Flg1=2 записываются, как отдельные фрагменты. Результат - EAX - число вхождений, JZ - нет вхождения.
ArrFromCompVar32, Arr2, Var1, Arr1, Flg1
Быстрая функция.
ArrFromLine Дописывает в список Arr1 из линейной памяти с адреса LineAdr Qy1 строк-32 шириной Qx1.
ArrFromLine, Arr1, Qx1, Qy1, LineAdr
VarEdit "Редактирование самой строки-32 Var1 по номеру функции Fun1 и переменных Var2/0, Var3/0 и списка из 100 ячеек Arr1/0. Функция Fun1 состоит из xxx[QQQ][NNN]h, QQQ - формат мат. результата, NNN - номер функции. Входные и выходные переменные определяет текстовое десятичное число в 1 строке Arr1.Команда 201. При некорректных записях или числе 0: VaR2->VaR1, 0XX: Var1->Arr[XX], 1XX: Arr[XX-200]->VaR1, 2XX: VaR2->Arr[XX], 3XX: Arr[XX]->Arr[1], 4XX: Arr[1]->Arr[XX], 500: VaR3->VaR1.
VarEdit, Var1, Fun1, Var2, Var3, Arr1
Вых. JL - ошибка, JZ - не выполнена."
Выполняет некоторые функции преобразования строки. Применяется в цикле для более сложных функций. Список Arr1 позволяет сохранять и использовать переменные после специальных команд перенаправления.
VarCondit Проверка условия в Var1: функция условия Fun1 (нечетные номера инвертируют результат), переменная условия Var2/0. Вых. EAX - флаг условия (+/-)1, JL - условие не выполнено. Портит EAX, EBX. Fun1=0: Var1 равна Var2, =2: Var2 входит в Var1, =4: Var2 входит в Var1 с конца, =6: Var1 равна Var2 независимо от регистра, =8: Var2 входит в Var1 независимо от регистра, 10: выполняется всегда; Fun1=12: Кодировка первого символа Var1 совпадает с Var2, Fun1=14: Число в тексте Var1 больше Var2, Fun1=16: Длина Var1 меньше Var2, Fun1=18: Заглавность 1-го символа совпадает с Var2, Fun1=20: Кодировок Var1 несколько, Fun1=22: Var1 входит в Var2 (обр.)
VarCondit Var1, Fun1, Var2
Совместно с функцией VarEdit составляет функцию условного редактирования строки.
VarConditArr Проверка условия в Var1: функция условия Fun1 (нечетные номера инвертируют результат), список условия Arr1/0. Вых. EAX - первая подошедшая переменная из Arr1, JL - условие не выполнено.
VarConditArr, Var1, Fun1, Arr1
Цикл с функцией VarCondit.
VarEditCondit Программируемая каскадная замена Ncl1 раз самой Var1 по строкам Dar1: [Fun1, VarR1, Fun2, VarR2] (функция замены, переменная 2 замены, функция условия, переменная условия, она же - переменная 1 замены). VarCondit [Var1, Fun2, VarR2] -> VarEdit [Var1, Fun1, VarR2, VarR1]. Буфер VarEdit Arr1/0. После Ncl1 состоявшихся замен - выход. EAX - счётчик замен. JL - ошибка, JZ - нет замен. Портит EAX, EBX.
VarEditCondit, Var1, Dar1, Ncl1, Arr1
На основе функций VarCondit и VarEdit.
VarEditConditArr Программируемая модификация функцией Fun1 переменной Var1 на Var[Arr1] - первую переменную из Arr1, удовлетворяющую условию сканирования функции Fun2 списка Arr1: VarConditArr [Var1, Fun2, Arr1] -> VarEdit [Var1, Fun1, Var[Arr1], Var2]. Var[Arr1] - первая строка Arr1, удовлетворяющая заданному условию. Arr2/0 - буфер для VarEdit. JL - невыполнение условия. Портит EAX, EBX.
VarEditConditArr, Var1, Var2, Fun1, Fun2, Arr1, Arr2
На основе функций VarConditArr и VarEdit. Первая переменная из списка, которая выполняет условие Condit, идёт на обработку Edit.
VarEditConditDar Редактор Var1, Fun2, Dar1[1] при первом выполнении списка условий в Var1, Fun2, Dar1[0]. Вых. JL - условие не выполнено.
VarEditConditDar, Var1, Fun1, Fun2, Dar1
VarEditCompVar Добавление к Var2 по номеру функции Fun1 и переменных Var02/0, Var03/0 фрагментов, полученных разделением Var1 по комплексным вхождениям в нее элементов Arr1. Результат в EAX - число вхождений, JL - нет вхождения.
VarEditCompVar, Var2, Var1, Fun1, Var02, Var03, VarDlm, Arr01
На основе функций CutCompSeaArr32 и VarEdit.
TrimVar32 Дописывает в Var0 (при Var0=0 заменяет в самой Var1) середину Var1, отрезая края по непрерывным вхождениям в них Var2.
TrimVar32, Var0, Var1, Var2
TrimArr Заменяет середину строк в самом Arr1, отрезая края по непрерывным вхождениям в них Var1. Портит EAX, EBX.
TrimArr, Arr1, Var1
DupVar Определение суммарной длины32 (1,2..) непрерывных вхождений переменной-32 Var2 с начала Var1. Вых. EAX - общая длина32 (0,1,2..) вхождений, EBX: Адрес за вхождением (Var1); JZ - нет вхождений.
DupVar, Var1, Var2
Применяется в функции TrimVar32.
RevDupVar Определение суммарной длины (1,2..) реверсивных вхождений переменной-32 Var2 с конца Var1. Вых. EAX - общая длина (0,1,2..) вхождений, JZ - нет вхождений.
RevDupVar, Var1, Var2
На основе двойного реверсивного поиска. Можно использовать для Trim-функций.
RevEndVar Определение длины (1,2..) реверсивного совпадения символов с концов переменных-32 Var2 и Var1. Вых. EAX - длина (1,2..) совпадения, JNZ - полное вхождение.
RevEndVar, Var1, Var2
На основе двойного реверсивного поиска. Можно использовать для определения общих концов или для Trim-функций.
VarRightVar32 Реверсивный поиск Var2 в Var1 на глубину RiMax символов справа (RiMax<0 - вся длина). Вых: (EAX)= длина (байт) до пересечения переменных справа, JL - ошибка, нет вхождения.
VarRightVar32, Var1, Var2, RiMax
VarRightArr32 Реверсивный комплексный поиск Arr2 в Var1 на глубину RiMax символов справа (RiMax<0 - вся длина). Вых: (EAX)= число символов Var1 слева перед последним пересечением (байт), EBX - индекс вхождения, JL - ошибка, нет вхождения.
VarRightArr32, Var1, Arr2, RiMax
RightDiviVar32 Реверсивный поиск и разделение Var1 на VarL/0, VarR/0 слева перед последним пересечением Var2 в Var1 на глубину RiMax символов справа (RiMax<0 - вся длина). Вых: (EAX)= число символов Var1 слева перед последним пересечением (байт), JL - ошибка, нет вхождения.
RightDiviVar32, VarL, VarR, Var1, Var2, RiMax
Возможно, ошибается!!! На основе VarRightVar32 и VarDivi32.
RightDiviArr32 Реверсивный комплексный поиск и разделение Var1 на VarL/0, VarR/0 слева перед последним пересечением Var2 в Var1 на глубину RiMax символов справа (RiMax<0 - вся длина).Вых: (EAX)= число символов Var1 слева перед последним пересечением (байт), EBX - индекс вхождения, JL - ошибка, нет вхождения.
RightDiviArr32, VarL, VarR, Var1, Arr1, RiMax
На основе VarRightArr32 и VarDivi32.
Right2DiviVar Реверсивный поиск и разделение Var1 на VarL/0, VarR/0 справа перед последним пересечением Var2 в Var1 на глубину RiMax символов справа (RiMax<0 - вся длина).Вых: (EAX)= число символов Var1 справа перед последним пересечением (байт), JL - ошибка, нет вхождения.
Right2DiviVar VarL, VarR, Var1, Var2, RiMax
На основе VarRightVar32 и VarDivi32. Отличается от RightDiviVar32 тем, что разрезает не перед, а после вхождения.
RightRepVar32 Добавление к VarL (при VarL=0 к Var1) замены (реверсивный поиск) слева перед последним пересечением Var2 в Var1 на глубину RiMax символов справа (RiMax<0 - вся длина) на Var3. Вых: (EAX)= число символов Var1 слева перед последним пересечением (байт), JL - ошибка, нет вхождения.
RightRepVar32, VarL, Var1, Var2, Var3, RiMax
На основе функций VarRightVar32, Left32. Отрезает левую часть. Может заменить одно расширение файла на другое. invoke RightRepVar32, Var1, VarFl, Poin32, PNG32, 5 - В Var1 имя файла с новым расширением.
RightRepA32 Добавление к VarL (при VarL=0 к Var1) замены (реверсивный поиск) слева перед последним пересечением Arr1 в Var1 на глубину RiMax символов справа (RiMax<0 - вся длина) на Var3. Вых: (EAX)= число символов Var1 слева перед последним пересечением (байт), JL - ошибка, нет вхождения.
RightRepA32, VarL, Var1, Arr1, Var3, RiMax
Отрезает левую часть
ArrRightRepA32 Замена в строках Arr1 (реверсивный поиск) слева перед последним пересечением ArrFr в Arr1 на глубину RiMax символов справа (RiMax<0 - вся длина) на Var3. Портит EAX. EAX=общее число замен, JZ - нет вхождения.
ArrRightRepA32, Arr1, ArrFr, Var3, RiMax
Похоже, глючит. Перепроверить! На основе функции RightRepA32.
CompVarDivi32 Комплексный поиск элементов Arr1 в строке Var1 и разделение ее на VarL/0, VarR/0. Дубликаты более Dup1 раз подряд не учитываются. JZ - нет вхождения.
CompVarDivi32, VarL, VarR, Var1, Arr1, Dup1
На основе функций LenCompVar и VarDivi32.
CutCompSeaArr32 Разрезаем Var1 на 3 части по первому комплексному вхождению в нее элементов Arr1. Левую часть Var1 перед 1-м вхождением Arr1, добавляем в VarL. Правую часть Var1 за вхождением Arr1 оставляем в Var1. Ссылка на вхождение = EAX. JZ - нет вхождения.
CutCompSeaArr32, VarL, Var1, Arr1
На основе функций LenCompVar и LeftCut32. В отличие от CompVarDivi32, разрезает переменную до и после вхождения так, что вхождения не остается.
VarByteTo32 Расширяет Var1 из 1 байта в 4 в Var32. При Var32=0 в саму Var1.
VarByteTo32, Var32, Var1
Обратная функция - Var32ToByte.
Var32ToByte Сжимает Var32 младшие из 4 байт в 1 в Var1. При Var1=0 в саму Var32.
Var32ToByte, Var1, Var32
Обратная функция - VarByteTo32.
ArrMaxPlusVar Добавление копии переменной-32 Var1 в последнюю строку списка Arr1. Если Arr1 пустой, то он дополняется пустой строкой.
ArrMaxPlusVar, Arr1, Var1
На основе функции ArrMax и макросов ArrNewEl и VarPlus32. Проверить (возможно, разрушает переменную).
ArrMaxPlusDat Добавление числа Dat32 в конец последней строки списка Arr1. Если Arr1 пустой, то он дополняется пустой строкой.
ArrMaxPlusDat, Arr1, Dat32
На основе функции ArrMax.
MaxMinLen Максимальная длина-32 (0,1..) Var1 и Var2 пишется в EAX, минимальная - EBX. JL ошибка.
MaxMinLen, Var1, Var2
Часто используется для определения числа кадров в DAR-видеофункциях.
VarGridInd32 Дописывает в VarM часть строки между NInd1 и NInd1+1 номеров (0,1,2,..) вхождения Var2 в Var1. JL - ошибка.
VarGridInd32 VarM, Var1, Var2, NInd1
Используется функция FixVar32. Дописывает переменную-ячейку по ее индексу.
VarGridVar Дописывает в VarM части строки Var1 между номеров (0,1,2,..) вхождения Var2 в Var1, указанных в VarN подряд, как числа-32, добавляя разделитель Var3/0.
VarGridVar VarM, Var1, Var2, Var3, VarN
На основе функций VarGridInd32. Преобразует одну Grid-переменную в другую.
ArrGridArr Дописывает в ArrM строки, объединяя части строк Arr1 между номеров (0,1,2,..), указанных в VarN подряд, как числа-32, вхождения в них Var2, добавляя разделитель Var3/0.
ArrGridArr ArrM, Arr1, Var2, Var3, VarN
На основе функций VarGridVar. Преобразует один Grid-список в другой.
ArrGridVar Создает в Arr1 новые элементы, как части строки Var1 между номеров (0,1,2,..) вхождения Var2 в Var1, указанных в VarN подряд.
ArrGridVar Arr1, Var1, Var2, VarN
На основе функции VarGridInd32.
VarBin Добавляет к переменной 32 знака 0/1 двоичного значения Dta.
VarBin Var1, Dta
SimplVar Заменяет в регистре процессора Reg1 национальную букву на упрощенную в юникоде-32/16 (в кириллице и латышском).
SimplVar Reg1
Незаменима при анализе некорректно написанных текстов
HigVar32 Заменяет в регистре процессора Reg1 прописную букву на заглавную в юникоде-32/16 (в латинице, кириллице и латышском). Другие регистры не изменяет.
HigVar32 Reg1
Максимально быстрый макрос.
LowVar32 Заменяет в регистре процессора Reg1 заглавные буквы на прописные в юникоде-32/16 (в латинице, кириллице и латышском). Другие регистры не изменяет.
LowVar32 Reg1
Максимально быстрый макрос.
VarEAX4 Добавление значения из EAX длиной 4 округленный вниз до четного адрес Var1
VarEAX4 Var1
Базовая функция.
ZtoVar32 Добавление UTF-16 текста в переменную32 из Z-строки, кратно 2 байтам
ZtoVar32 Var1, AZst, Len_Max
Старшие 2 байта устанавливаются в ноль.
Z32toVar32 Добавление текста32 в переменную32 из Z-строки, кратно 4 байтам
Z32toVar32 Var1, AZst, Len_Max
VarEqu32 Var1= Var2? Результат: JZ-равны
VarEqu32 Var1, Var2
VarEquNR Регистронезависимое сравнение Var1 и Var2. Результат: JZ-равны. Не изменяет регистры.
VarEquNR MACRO Var1, Var2
Регистронезависимый аналог макроса VarEqu32.
VarPlus32 Var1= Var1+Var2. Не портит регистры совсем!
VarPlus32 Var1, Var2
VarByte32 EAX=макс (целый)(0, 1, 2..) индекс 32-битных слов. JL - ошибка. Портит EAX.
VarByte32 Var32


Страница "Текст 32 бит (юникод UTF-32LE)." обновлена -

Бесплатная консультация:

Позвоните нам по телефону: +7 499 677-1694
или введите короткое сообщение
Текст 32 бит (юникод UTF-32LE). | © 2008-2015 | Все права защищены. | Создание сайта WebOptimal |
При полном или частичном использовании материалов сайта ссылка на http://PowerIntellect.com обязательна.