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

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

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

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

Графика.

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

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

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

Видео.

Звук.

Интернет.

Служебные.

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

Время и дата.

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

Контроллы.

Файлы.

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

Переменные.

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

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

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

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

Макросы.

Функции VendorPint.

Функции PintLang.

Функции TulkoPint.

Функции VideoPint.

Функции PhotoPint.

Функции VardPint.

Функции DataBase.

Переменные.


АртикулНаименованиеЦена, от
ToVar32 Складывает переменные-32. Вых EAX=Var1.
ToVar32, Var1, Var2
SapVarDat Поиск / добавление вниз к переменной Var1 числа Dat32, Вых: при JZ=1 (есть совпадение): позиция32= EAX, адрес= EBX
SapVarDat, Var1, Dat32
На основе функции VarSeaDat.
SupVar Добавляет число Dat32 в начало переменной Var1. Совпадения Dat32 удаляются. Данные за LnMax1 (=0,1,2,...) удаляются. Портит регистр EAX, EBX. Вых: Счетчик числа совпадений= EAX, признак Z=0: нет совпадений.
SupVar, Var1, LnMax1, Dat32
Функция не самая быстрая, переписывает всю переменную по 32 бита, затем, копирует обратно. Может использоваться для хранения списка ссылок.
SapVarNotDat Поиск совпадения Dat32 в переменной Var1, если не найдено: поиск DatR32 и замена его на Dat32, если не найдено: добавление Dat32 к концу переменной. Вых: позиция32= EAX, адрес= EBX, признак Z=1 есть совпадение. Не портит регистры.
SapVarNotDat, Var1, Dat32, DatR32
Ищет Dat32. Если находит- выход. Если нет - добавляет Dat32 сперва на "пустое место", заменяя число DatR32 (для экономии ресурсов), если DatR32 нет - в конец переменной. Удобно при динамическом добавлении и удалении данных.
VarSeaDat Поиск 1-го совпадения Dat32 в переменной Var1. Портит регистр EAX, EBX. Вых: позиция32= EAX, адрес= EBX, признак Z=1 есть совпадение
VarSeaDat, Var1, Dat32
VarRevSeaDat Реверсивный поиск 1-го совпадения Dat32 с конца переменной Var1. Портит регистр EAX, EBX. Вых: позиция32 от конца = EAX, адрес= EBX, признак Z=1 есть совпадение.
VarRevSeaDat, Var1, Dat32
VarSeaNotDat Поиск 1-го несовпадения Dat32 в переменной Var1. Портит регистр EAX, EBX, ECX. Вых: позиция32= EAX, адрес= EBX, найденное число = ECX, признак NZ=1 есть несовпадение.
VarSeaNotDat, Var1, DatR32
Фактически, находит 1-е непустое (неравное DatR32) число.
VarRemNotDat Поиск 1-го несовпадения DatR32 и замена его на DatR32 в переменной Var1, Вых: позиция32= EAX, адрес= EBX, найденное число = ECX, признак NZ=1 есть несовпадение. Портит регистр EAX, EBX, ECX.
VarRemNotDat, Var1, DatR32
Как-бы вырезает 1-е непустое число (неравное DatR32) и заменяет его пустым (= DatR32).
VarRemDat Поиск и замена Dat32 на DatR32 в переменной Var1, Вых: при JZ=1 (есть совпадение): позиция32= EAX, адрес= EBX.
VarRemDat, Var1, Dat32, DatR32
Удаляет непустое число (неравное DatR32) путем замены его пустым (DatR32).
VarDfrDat Удаление всех DatR32 из переменной Var1. Вых: длина32= EAX, JZ=1 при EAX=0.
VarDfrDat, Var1, DatR32
Удаляет "пустые" числа DatR32, укорачивая излишки длины.
VarRemDfrDat Поиск и замена Dat32 на DatR32 в переменной Var1, при совпадении - удаление всех DatR32 из переменной Var1. Вых: при JZ=1 (есть совпадение): EAX = новая длина32.
VarRemDfrDat, Var1, Dat32, DatR32
Удаляет непустое число (неравное DatR32) путем замены его пустым (DatR32). Затем (если DatR32 найдено и удалено), даляет "пустые" числа DatR32, укорачивая излишки длины.
ArrRemDfrDat Поиск и замена Dat32 на DatR32 в строках Arr1, при совпадении - удаление всех DatR32 из строки. Вых: EAX = число строк с совпадениями, при JZ нет совпадений.
ArrRemDfrDat, Arr1, Dat32, DatR32
В строках списка данных удаляет непустые числа DatR32 (не равное DatR32) путем замены его пустым (DatR32). Затем (если DatR32 найдено и удалено), даляет "пустые" числа DatR32, укорачивая излишки длины.
SapRevVarNotDat64 Реверсивный поиск совпадения Dat32 с конца переменной Var1, если найдено -выход, если не найдено: поиск DatR32 и замена его на Dat32 тут же пишем Dat32_1, если не найдено: добавление Dat32 и Dat32_1 к концу переменной. Значение свободного ключа - DatR32. Вых. EBX=0 или JZ Ключ найден (EAX=адрес Dat32_1), EBX=1 Ключ вставлен вместо свободного DatR32 (EAX=адрес Dat32_1), EBX=2 Ключ добавлен вниз (EAX не определен).Портит регистры EAX, EBX, ECX.
SapRevVarNotDat64, Var1, DatR32, Dat32, Dat32_1
Добавление уникального ключа и ассоциативных данных в базу.
VarRevSeaDat64 Реверсивный поиск 1-го совпадения ключа Dat32 с конца переменной Var1. Портит регистр EAX, EBX. Вых: адрес данных (ключ+4)= EAX, позиция64 от конца = EBX, признак Z=1 есть совпадение.
VarRevSeaDat64, Var1, Dat32
Поиск в базе ассоциативных данных по ключу.
VarRevRemNotDat64 Реверсивный поиск 1-го несовпадения с конца переменной Var1 числа DatR32 с ключом и замена его на DatR32, Вых: убитый ключ Dat32= EAX, Адрес данных Dat32_1= EBX, признак NZ=1 есть несовпадение. Портит регистр EAX, EBX, ECX.
VarRevRemNotDat64, Var1, DatR32
Поиск в базе 1-го непустого ключа и его вырезание (замена на пустое DatR32) (без удаления ассоциативных данных).
VarRevSeaNotDat64 Реверсивный поиск 1-го несовпадения DatR32 с конца переменной Var1. Портит регистр EAX, EBX, ECX. Вых: Адрес ключа Dat32= EAX, Адрес данных Dat32_1= EBX, признак NZ=1 есть несовпадение.
VarRevSeaNotDat64, Var1, DatR32
Поиск в базе 1-го непустого ключа.
VarDefCod Определение кодировки первого символа Var1: в латиницу EAX=1, кириллицу EAX=2, расширенную еврокодировку EAX=3, цифры EAX=4, прочее EAX=0. Ошибка, пустая переменная JL.
VarDefCod, Var1
На основе макроса DefCod32.
VarMixCod Определение количества разных кодировок символов Var1. Результат в EAX. Ошибка, пустая переменная JL. 1 кодировка =JZ. Несколько кодировок =JG.
VarMixCod, Var1
На основе макроса DefCod32.
VarHighCod Определение заглавного первого символа Var1. EAX=1, JG - буква заглавная. JZ - не найдено.
VarHighCod, Var1
На основе макроса HighLow.
VarChange Взаимный обмен объектов на основе переменной (Var, Arr, Drr и т.д.) с сохранением адресов.
VarChange, Var1, Var2
На основе трех макросов VarCopy.
RunStr Бегущая строка: Добавление Dat1 в конец Var1 при длине>=LnMax сдвиг влево на Stp1 (1.2.4) старые: EAX=+4й байт, EBX=0й байт, ECX=новая длина . JL - неполная длина строки
RunStr, Var1, Stp1, LnMax, Data1
На основе функции VarMovLeft.
RunVar4 Бегущая переменная Var1, шаг 4 бит, макс длина 4*Ln4, добавляем в конец Var1 число 32 бит Dat1. Вых. EAX - удаленные данные. JL не заполнена, JZ - только заполнилась, JG - идёт сдвиг.
RunVar4, Var1, Ln4, Dat1
Переменная сдвигается влево в начало быстро, в один цикл, затем, данные добавляются в конец. Если длина не превышена, данные просто дописываются.
CirclePn Получение текущих параметров, а затем-передвижеие по кругу текущих параметров, EAX=текущ адрес, EBX=текущ длина
CirclePn, Var1, Stp1
VarEquLen Дописывает/создает в Var2 длиной, равной длине Var1 число Dat1 с шагом Stp1(1,2,4)вых EAX=Var2/0 при ошибке
VarEquLen, Var2, Var1, Dat1, Stp1
PintFromTxt Перевод в Var2=EAX(Pint32) из Var1 (UTF16)
PintFromTxt, Var1
На основе макросов StartVR и VarEAX4.
PintToTxt Перевод в Var2=EAX(UTF16) из Var1(Pint32), VarBom/0- заголовок, если он есть
PintToTxt, VarBom, Var1
VisEle Добавление элемента по адр. ADRN1 в Var1 (UNICODE) согласно его формата
VisEle, ADRN1, Var1
FPUDEC Добавление DEC формата FPU/TBYTE в Var1 (UNICODE)
VisEle, ADRN1, Var1
Устаревшая функция.
VarPlusDec Добавление неформатированного десятичного числа без левых нулей (UNICODE) в Var1
VarPlusDec, Var1, N32
Устаревшая функция.
VarDec Добавление форматированного десятичного числа (UNICODE) в Var1
VarDec, Var1, Dta
Устаревшая функция.
VARHEX Добавляет к переменной HEX-значение Dta
VARHEX, Var1, Dta
HexDec32 Преобразует текстовое-32 целое десятичное число со знаком из Var1 в EAX=HEX32. Поиск с конца переменной. JL - Ошибка, переменная некорректна, меньше 4 байт. Портит EBX, EAX.
HexDec32, Var1
Не понимает 0: 90=9, 901=91!!!
HexDecS Преобразует текстовое-32 целое десятичное число со знаком из Var1 в EAX=HEX32. Поиск с конца переменной в пределах Dat32 знаков. Портит EBX, EAX.
HexDecS, Var1, Dat32
VarCompatCopy Копирование элементов-32 переменных одинаковой длины Var2 в Var1. Не портит регистры совсем.
VarCompatCopy, Var1, Var2
На основе сдвоенного цикла. Быстрое копирование.
CheckSum Контрольная сумма с циклическим сдвигом в EAX. JL - ошибка.
CheckSum, Var1
Цикл на макросе StartVR. Эффективная функция.
VarNumSel Выделяет из строки-32 Var1 только цифры, одну точку или запятую внутри них в созданную новую переменную в EAX, JZ - нет совпадения.
VarNumSel Var1
На прямом цикле макроса StartVR. Эффективная функция.
VarInNextPN Поиск следующ.вхождения Var2 в Var1 с текущих параметров до стоп-адр.StpAdr. Вых: EAX: Длина до вхождения (Var1), EBX: Адрес вхождения (Var1), ECX: 0= Нет вхождений, досижение стоп-адреса, ESI: Адрес за вхождением (Var1).
VarInNextPN, StpAdr, Var1, Var2
VarInVar8 Длина за вхождением 8-битных Var2 в Var1 (1,2,...). Результат в EAX, JZ - нет вхождения.
VarInVar8, Var1, Var2
Для прохода Var1 используется макрос StartVR с шагом 1 и функция VarInVar8. Например, если 4-байтная Var2 вошла с начала Var1, получим результат 4. Допустимо использовать ту же переменную Var1, Var1.
ProgrMx Создает матрицу значений 0,1,2...MxLen (вых: EAX=адрес матрицы)
ProgrMx, MxELen
VarDisPN Делит переменную Var1 надвое по текущим параметрам
VarDisPN, Var1, Var2
VarLeftPN Оставляет левую часть, не включая текущие параметры
VarLeftPN, Var1
Быстро обрезает саму переменную, не делая копии и без перезаписи.
PlusVar Var1= Var2+Var1
PlusVar, Var1, Var2
PlusVar32 Обратное сложение: Var1= Var2 + Var1. При Var2=0 ничего не происходит.
PlusVar32, Var1, Var2
VarPlusQVar32 Добавление Var2 к Var1 Qlt1 раз.
VarPlusQVar32 Var1, Var2, Qlt1
На основе макроса VarPlus32 .
VarTab32 Добавляет к Var1 "табуляцию" - Var3 в количестве 8-len(Var2).
VarTab32 Var1, Var2, Var3
На основе функции VarPlusQVar32.
StriComVar Сравнение строк-32, как чисел. Вых. EAX=1, JNZ (Var1>Var2). EAX=0 (Var2>=Var1).
StriComVar, Var1, Var2
RevComVar Реверсивное сравнение переменных-32, как чисел. Вых. JNZ (Var1>Var2).
RevComVar, Var1, Var2
Используется сдвоенный реверсивный цикл.
VarRep Замена вхождений VarFr в Var1 на VarTo, выход - в EAX
VarRep, Var1, VarFr, VarTo
RemEquSym32 Сравнение и замена в Var1 при Flg1=1 совпадающих, при Flg1=0 несовпадающих соответствующих символов-32 в Var2 на Dat32, EAX - число замен, портит EAX, JL - ошибка, нет вхождения.
RemEquSym32, Var1, Var2, Dat32
На основе сдвоенного цикла. Заменяет одинаковые или неодинаковые соответствующие символы. Работает в зоне наименьшей переменной, остальное не изменяет. Напоминает глаз лягушки FrogEye.
FixVar Поиск вхождения Var2 в Var1 по адресу Adr1.Вых: EAX: Адрес за вхождением (Var1); 0= Нет вхождения, EBX: Длина Var2, ECX: 0= Достижение стоп-адреса
FixVar, Var1, Var2, Adr1
На основе макроса VarPos.
StepPn Получение текущих параметров, а затем-увеличение четного адреса переменной Var1 на Stp1 от текущего в M0Pn/M0Lx. Последний адр не проходит
StepPn, Var1, Stp1
StepPnRd Чтение с текущих параметров, а затем-увеличение адреса переменной Var1 на Stp1 (1,2,3,4) от текущего в M0Pn/M0Lx. Вых: EAX=знач по текущ адресу, EBX=след адр, JZ-конец переменной, портит только EAX, EBX.
StepPnRd, Var1, Stp1
На основе макроса Rd4Adr. НЕ ВИДИТ КОНЕЦ ПРЕМЕННОЙ!!!!! Читает данные с произвольного места, без учета кратности. Используется для чтения переменных с некратными длинами шага (OpenBmp, Wav).
ScanPn Увеличение четного адреса переменной Var1 на Stp1 от текущего в M0Pn/M0Lx. Проходит целиком всю переменную
ScanPn, Var1, Stp1
ToUnic32 Добавление в Var2/0 текста в юникоде-32 из Var1 в кодировке CodePage. Если Var2 не существовала, создается новая. Вых. EAX - Var2.
ToUnic32, Var2, Var1, CodePage
Работает по кластерам, есть проблемы с кодировкой UTF8 (65001) для длинных переменных
ToUnic Перевод текста Var1 в юникод
ToUnic, Var1, CodePage
FromUnic Перевод текста из Var1 (юникод) в Var2 (CodePage)
FromUnic, Var2, Var1, CodePage
DelLeft Удаляет левую часть произвольной длины Stp
DelLeft, Var1, Stp
На основе макросов VarPosPn, StartPN, VarEAX, VarCopy.
VarMovLeft Быстро сдвигает влево на длину Stp1 (1,2,4,8), EAX-адр данных конечного шага
VarMovLeft, Var1, Stp1
DelRight Удаляет правую часть длиной Stp
DelRight, Var1, Stp
На основе функции VarLeftPN.
Right32 Добавляет в Var2/0 правую часть Var1 длиной Len32*4 байт. При Var2=0 заменяет саму Var1. Ошибка - JL.
Right32, Var2, Var1, Len32
На основе цикла StartVR с макросом VarEAX4. Переменную любой длины проходит по циклу один раз.
RubLenVar Обрезаем Var1 слева при длине, большей LnMx. Вых JLE- нет переполнения
RubLenVar, Var2, Var1, LnMx
PlusVarLeft Добавляет к Var1 первые Len32/4 байт Var2 (обрезка после Len32 символов). JL - ошибка. Портит EBX, EAX.
PlusVarLeft Var1, Var2, Len32
На основе цикла StartVR с макросом VarEAX4.
PlusVarRight Добавляет к Var1 первые Len-Len32/4 байт Var2 (обрезка последних Len32 символов). JL - ошибка. Регистры не портит.
PlusVarRight Var1, Var2, Len32
На основе функции PlusVarLeft.
FastVarPos32 Быстрая установка адреса переменной Var1 на позицию LnStr, Swc1-флаг, 1= установка M0Pn/M0Lx; вых: EAX=адрес данных, EBX=длина, JNZ-ошибка, запись в M0Pn/M0Lx. LnStr=0, 1, 2.. Быстрее работает вблизи точек M0Pn/M0Lx
FastVarPos32, Var1, LnStr, Swc1
Требует предварительного сброса (установки адреса) переменной. Поиск осуществляет от точки последней установки, поэтому, вблизи этой точки работает быстро (последовательный доступ).
VarRev Реверс строки с шагом Stp1 (4, 8), EAX-результат. Портит EAX.
VarRev, Var1, Stp1
Шаги 1 и 2 были отключены 22.04.14!
LoWord Опускает буквы из Var1 в нижний регистр (Var2 в EAX)
LoWord, Var1
Устаревшая функция.
Trim Удаляет по границам Var1 все совпадения с элементами Arr1
Trim, Var1, Arr1
Еще не функционирует
VarPlusVal Добавление числа Val1 длиной Stp1 (1,2,4) Qlt1 раз
VarPlusVal, Var1, Val1, Stp1, Qlt1
VarPlusLen Дописывает в Var1 неинициализированные данные-32 длиной Len32 путем добавления кластеров. Вых. EAX=число добавленных кластеров.
VarPlusLen Var1, Len32
На основе макроса ClastPlus.
VarFilVar "Заливает" в Var2 из Var1, кратно 4 байтам!
VarFilVar, Var2, Var1
Для переноса каждого символа-32 используется вызов Next4Pn. Требует среднего времени на выполнение.
FilTransVar Заливает строку изображения в Var2 с учетом прозрачности из Var1. При Flg1=1 сдвиг Var1 на 1/2 длины.
FilTransVar, Var2, Var1, Flg1
На основе функции TransRGB.
InterVar32 Дописывает в переменн Var1 значения длиной 4 в интервале от (включительно) Nfrom до Nto с целым положительным или отрицательным шагом Step1 и общим числом Qlt1. При Qlt1<0 - неограниченно. Вых. EAX=количество дописанных записей, EBX-значение последнего числа, которое уже удовлетворяет условию.
InterVar32, Var1, Nfrom, Nto, Step1, Qlt1
VarRepA Замена в переменной Var1 списка ArrFr на переменную VarTo
VarRepA, Var1, ArrFr, VarTo
В цикле списка вызывается функция VarRep.
VarRepA32 Комплексная замена вхождений в Var1 Arr1 на Var2. Результат в EAX, EBX - число вхождений, JZ - нет вхождения.
VarRepA32, Var1, Arr1, Var2
На основе функции FixArr32. Для каждого символа переменной проверяется вхождение списка и возможная замена. Требует времени на выполнение.
VarRepN32 Последовательная замена в Var1 всех получающихся вхождений списка ArrFr на переменную Var3, Qz1 раз (<1 - все). Портит EAX. EAX=общее число замен.
VarRepN32, Var1, ArrFr, Var2, Qz1
На основе функции VarRepVar32. Проходит переменную несколько раз по числу элементов списка, заменяя вхождения. Работает быстро. Похожа на VarRepA32, работает быстрее, меняет саму переменную.
VarLenCompVar Комплексная замена вхождений в Var1 строк Arr1 на Var2/0 (в новой переменной), если получаемая переменная длиннее Len1. Результат в EAX, EBX - число вхождений, JZ - нет вхождения. Портит EAX, EBX.
VarLenCompVar, Var1, Arr1, Var2, Len1
На основе функции FixArr32. Не заменяет, если результат короче предела.
RemObj Перемещение любого Var-объекта с сохранением адреса Var1: VarCopy Var1, Var2, KillVar Var2;
RemObj Var1, Var2
Необходима предварительная очистка объекта при его наличии в Var1. Возможна запись RemObj Var1, EAX. Удобна для записи результатов функций.
CrossVar Находит наибольшее пересечение строк целой Var1 и Var2 без учета крайних символов при Stp1=1,2,4EAX=Var Max, JLE - нет пересечения
CrossVar, Var2, Var1, Stp1
Cut8MaxVar Быстро вырезает из Var1 (32*2 бита) последние 8 байт, если хватает длины. Вых. EAX - последние 4 байта, EBX - предпоследние. Портит EAX, EBX. Ошибка - JL.
Cut8MaxVar, Var1
Может применяться для отрезания последнего элемента списка Arr, Dar. Работает с системными параметрами!
VarSizeCompar Сравнение длин Var1, Var2. Вых. JZ - все совпали. JG - Var1 > Var2. JL - Var1 < Var2 или ошибка. Не портит регистры совсем.
VarSizeCompar Var1, Var2
На основе макросов LenVar.
MidByte32 Считает среднее арифметическое 32-разрядных чисел, входящих в Var1. Вых. EAX=среднее арифметическое, EBX=количество чисел.
MidByte32, Var1
Для случая, когда переменная используется в качестве массива чисел.


Страница "Переменные." обновлена -

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

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