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

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

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

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

Графика.

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

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

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

Видео.

Звук.

Интернет.

Служебные.

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

Время и дата.

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

Контроллы.

Файлы.

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

Переменные.

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

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

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

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

Макросы.

Функции VendorPint.

Функции PintLang.

Функции TulkoPint.

Функции VideoPint.

Функции PhotoPint.

Функции VardPint.

Функции SmartPint.

Функции WavePint.

Функции DataBase.

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


АртикулНаименованиеЦена, от
SupCrossPzl32 Добавляет в Pzl1 все пересечения строк-32 целой Var1 и Var2 без учета крайних символов. JZ - нет пересечения
SupCrossPzl32, Pzl1, Var2, Var1
SapPzlCompVar32 Добавление в Pzl1 фрагментов Var1, полученных разделением Var1 по комплексным вхождениям в нее элементов Arr1. Найденные вхождения при Flg1=1 остаются в конце фрагментов, при Flg1=2 записываются, как отдельные фрагменты. Результат - EAX - число вхождений, JZ - нет вхождения.
SapPzlCompVar32, Pzl1, Var1, Arr1, Flg1
PzlCompVar32 Добавление в низ Pzl1 фрагментов Var1, полученных разделением Var1 по комплексным вхождениям в нее элементов Arr1. Найденные вхождения при Flg1=1 остаются в конце фрагментов, при Flg1=2 записываются, как отдельные фрагменты. Результат - EAX - число вхождений, JZ - нет вхождения.
PzlCompVar32, Pzl1, Var1, Arr1, Flg1
PzlDarInd Дописывает в ячейку 0 вновь созданной строки Grid-Pzl1 переменную активной строки Dar1 по индексу Ind1 с копией MsF1, MsF2. Вых. EAX - число обработанных переменных (0,1..). JL - ошибка, JZ - нет обработки. Портит EAX.
PzlDarInd, Pzl1, Dar1, Ind1
Цикл Dar с функцией VarVal и NewLinePzl.
PzlDarIndTop Дописывает в ячейку 0 новой строки Grid-Pzl1 переменную активной строки Dar1 с копией MsF1, MsF2 по индексу Ind1 с ограничением Top1 строк. Вых. EAX - число обработанных переменных (0,1..). JL - ошибка, JZ - нет обработки. Портит EAX.
PzlDarIndTop, Pzl1, Dar1, Ind1, Top1
Сходна с PzlDarInd, имеет ограничение длины. Защищает Пазл от перегрузки.
PzlDarMsPs Дописывает в ячейки вновь созданной строки Grid-Pzl1 переменные активной строки Dar1, заданные парами индексов-32 (приемник, источник,..) в VarPs1, с копией MsF1, MsF2. Сразу очищает Dar1 при Flg1=1. Вых. EAX - число обработанных переменных (0,1..). JL - ошибка, JZ - нет обработки. Портит EAX.
PzlDarMsPs, Pzl1, Dar1, VarPs1, Flg1
На основе цикла с функцией GumArrRem. В отличие от PzlDarPs, пишет только активные строки.
PzlDarPs Дописывает в ячейки вновь созданной строки Grid-Pzl1 переменные из всех подряд строк Dar1, заданные парами индексов-32 (приемник, источник,..) в VarPs1, с копией MsF1, MsF2. Сразу очищает Dar1 при Flg1=1. Вых. EAX - число обработанных переменных (0,1..). JL - ошибка, JZ - нет обработки. Портит EAX.
PzlDarPs, Pzl1, Dar1, VarPs1, Flg1
На основе цикла с функцией GumArrRem. В отличие от PzlDarMsPs, пишет все строки - активные и неактивные
GridPzlFromVar32 Нарезает в Pzl1 переменную Var1 по разделителю VarH, VarV. Результат в EAX - число вхождений, JZ - нет вхождения.
GridPzlFromVar32, Pzl1, Var1, VarH, VarV
Эффективная функция на основе StartVR и FixVar32, NewLinePzl.
GridPzlFromDar Дописывает в GridPzl Pzl1 список Dar1. Результат в EAX - число вхождений, JZ - нет вхождения.
GridPzlFromDar, Pzl1, Dar1
Преобразование данных в Pzl1 из Dar1.
PzlCutVar32 Дописывает в GridPzl1 из Var1 нарезку списков из единственной строки-32 одинаковой длины Len32 (1,2,...).
PzlCutVar32, Pzl1, Var1, Len32
На основе цикла с функцией NewLinePzl.
PzlGridArr Дописывает строки Grid-Pzl1 (ф.2) списками из частей строк Arr1 между номеров (0,1,2,..), указанных в VarN подряд, как числа-32, вхождения в них Var2.
PzlGridArr Pzl1, Arr1, Var2, VarN
На основе функции ArrGridVar.
GridArrPzl Из строк Arr1 по разделителю Delim32 "нарезаем" новые списки и добавляем как новые строки в Pzl1 (Функция2: Список текстовый (DATA BASE)). Значения MsF1, MsF2 переносятся из Arr1 в Pzl1. EAX - количество добавленных строк.
GridArrPzl, Pzl1, Arr1, Delim32
На основе функций ArrFromVar32, NewLinePzl. Vreff -все ячейки строки через заданный разделитель. Модификация с опусканием Vreff: функция ArrLowRefGridPzl.
ArrLowRefGridPzl Из строк Arr1 по разделителю Delim32 "нарезаем" новые списки и добавляем в ObRef строки в Grid-Pzl1 (Функция2). Vreff - все ячейки строки через заданный разделитель в нижнем регистре. Значения MsF1, MsF2 переносятся из Arr1 в Pzl1. EAX - количество добавленных строк.
ArrLowRefGridPzl, Pzl1, Arr1, Delim32
На основе функций ArrFromVar32, NewLinePzl, LowVar. Модификация функции GridArrPzl.
GridPzlCompar Поиск совпадения ObRef элементов списка Pzl1 и Pzl2. При совпадении строк установка MsF1=0 в обоих Пазлах. Вых. EAX - число совпавших строк. JZ - нет совпадений., JL - ошибка. Портит EAX, EBX.
GridPzlCompar, Pzl1, Pzl2
На основе функции QArrFromMsF1Pzl, ArrSearQArr . Отмечает совпадения строк установкой MsF2=0 обоих пазлов!
GridPzlMsRemEquSym Сравнение и замена в строках ObRef Pzl1 и Pzl2 при Flg1=1 совпадающих, при Flg1=0 несовпадающих символов-32 на Dat32. Портит EAX, EBX. JL - ошибка, нет вхождения. Учет фильтров MsF1=1 в обоих Пазлах. Вых. EAX - число скопированных строк. JL - нет совпадений, ошибка. Портит EAX, EBX.
GridPzlMsRemEquSym, Pzl1, Pzl2, Dat32, Flg1
Сдвоенный цикл пазлов с функцией ArrRemEquSym32.
VReffToPz Заменяет строки пазла GridPzl1 на переменные VReff.
VReffToPzl, Pzl1
RunPzl "Бегущий" Pzl: на 1 место встраивается Var1. При превышении размера последний элемент отвязывается в EAX
RunPzl, Pzl1, Var1, Siz1
PzlCutDown Отвязывание последнего элемента Pzl1 (EAX=Adr)
PzlCutDown, Pzl1
SupPzl Поиск равенства переменной Var1 с переменными VReff + поднятие переменной VReff пазла Pzl1; Опускание строк с учетом рейтингов на шаг 4. EAX=найденная строка Arr; JNZ нет вхождения/ошибка, EBX=%/10 найденого от начала Пазла.
SupPzl, Pzl1, Var1
На основе SearUpPzl. Ставит рейтинг, опускает строки с низким рейтингом, поднимает при совпадении. В EBX указывает %/10 от положения найденной строки, считая от начала (0-10). Если запись новая, не найдена в списке, EBX=11 (110%). Рейтинг записи квадратичный (%/10)^2+1, при нахождении прибавляется к прежнему. Начальный рейтинг равен нулю.
SupFastPzl Поиск равенства переменной Var1 с переменными VReff + поднятие переменной VReff пазла Pzl1. EAX=найденная строка Arr; JNZ нет вхождения/ошибка, EBX=%/10 найденого от начала Пазла.
SupFastPzl, Pzl1, Var1
Упрощенная версия SupPzl, быстрее в 7 раз - не опускает строки с низким рейтингом, не контроллирует размер пазла. В EBX указывает %/10 от положения найденной строки, считая от начала (0-10). Если запись новая, не найдена в списке, EBX=11 (110%). Рейтинг записи квадратичный (%/10)^2+1, при нахождении прибавляется к прежнему. Начальный рейтинг равен нулю.
StepSupPzl Поиск равенства переменной Var1 с переменными VReff + поднятие переменной VReff пазла Pzl1; Опускание строк с учетом рейтингов на шаг Step1. EAX=найденная строка Arr; JNZ нет вхождения/ошибка, EBX=%/10 найденого от начала Пазла.
StepSupPzl, Pzl1, Var1, Step1
Отличается от SupPzl возможностью выбора шага опускания от 0,1,2... .На основе SearUpPzl. Ставит рейтинг, опускает строки с низким рейтингом, поднимает при совпадении. В EBX указывает %/10 от положения найденной строки, считая от начала (0-10). Если запись новая, не найдена в списке, EBX=11 (110%). Рейтинг записи квадратичный (%/10)^2+1, при нахождении прибавляется к прежнему. Начальный рейтинг равен нулю.
SupDatPzl Поиск переменной со значением Dat32 + поднятие записи пазла Pzl1; Опускание строк с учетом рейтингов на шаг Step1. EAX=найденная строка Arr; JNZ нет вхождения/ошибка, EBX=%/10 найденого от начала Пазла.
SupDatPzl, Pzl1, Dat32, Step1
Аналогична StepSupPzl.
SupIdPzl Поиск равенства UnId1 до Top1+1 всех строк сверху без учета фильтров. При отрицательных Top1, его значение считается, как процент (Top1/102) от длины Pzl1. Поднятие найденной строки пазла Pzl1. Опускание строк с учетом рейтингов на шаг Step1. Обновляет RatVir, RelRat, TimLst. Вых. EAX=найденная строка Arr; JNZ нет вхождения/ошибка, EBX=% найденого от начала Пазла.
SupIdPzl, Pzl1, UnId1, Top1, Step1
На основе функций OverDrop, SearIdPzl, UpPzl, RefreshPzl. Находит целое число, как отношение найденного от начала к общему размеру (в %).
SearUpPzl Поиск равенства переменной Var1 с переменными VReff + поднятие переменной VReff пазла Pzl1; EAX=адр строки/0; JZ нет вхождения/ошибка, EBX=Счетчик от начала Пазла.
SearUpPzl, Pzl1, Var1
Поднимает строку при совпадении, без опускания
FindPzl Поиск равенства переменной Var1 с переменными VReff строк пазла Pzl1; EAX=адр строки/0; JZ нет вхождения/ошибка, EBX=Счетчик от начала Пазла
FindPzl, Pzl1, Var1
Полностью аналогичен функции SearUpPzl, кроме поднятия строки.
ArrSearGridPzl Поиск первого равенства Arr1 в строке пазла Pzl1 при MsF1=1; EAX=адр строки Pzl1; EBX=Счетчик от начала Пазла(1,2,3)/-1/0; JL ошибка, JZ нет вхождения, JG найдено.
ArrSearGridPzl, Pzl1, Arr1
В цикле существенно быстрее работает аналогичная функция ArrSearQArr, даже с созданием и удалением квазисписка.
ArrSearQArr Поиск первого равенства Arr1 в ссылке ObRef пазла Pzl1 при MsF1>0 строк квазисписка QArr1; EAX=адр строки Pzl1; EBX=Счетчик от начала Пазла(1,2,3)/-1/0; JL ошибка, JZ нет вхождения, JG найдено.
ArrSearQArr, QArr1, Arr1
В цикле существенно быстрее работает аналогичной функции ArrSearArr, даже с созданием и удалением квазисписка.
SearIdPzl Поиск строки пазла (=EAX) по UnId до Top1+1 всех строк сверху без учета фильтров. При отрицательных Top1, его значение считается, как процент (Top1/102) от длины Pzl1. Вых. EAX=строка/0, EBX=номер строки/0, JL-Не найдено/ошибка.
SearIdPzl, Pzl1, UnId1, Top1
Максимально быстрый поиск.
UpPzl Перемещение элемента-строки Var1 на 1 место Pzl1.
UpPzl, Pzl1, Var1
PastLine Привязываем элемент Var1 пазла Pzl1 над элементом Var2(=0, при привязке в конец) ---ПРИ Var2=0 ВНИЗ НЕ ВСТАВЛЯЕТ!
PastLine, Pzl1, Var1, Var2
CutLine Отвызываем элемент Var1 пазла Pzl1
CutLine, Pzl1, Var1
Уменьшение размера пазла не производится. Необходимо делать это дополнительно.
MoveLine Отвязываем элемент Var1 пазла Pzl1 и привязываем его над элементом Var2(=0, при привязке в конец)
MoveLine, Pzl1, Var1, Var2
На основе функций CutLine, PastLine.
DropStop Опускание строки Пазла Arr1 в пределах интервала Step1, пока рейтинги RatVir промежуточных строк больше рейтинга Arr1.
DropStop, Pzl1, Arr1, Step1
OverDrop Опускание строк с учетом рейтингов
OverDrop, Pzl1, Step1
Pzl1Past Встраивание Var1 на первое место Pzl1 без копирования
Pzl1Past, Pzl1, Var1
NewLinePzl Создание новой строки-контейнера (Fl1=1 в начало, =0 в конец) Pzl1 и вставка(или копирование) в нее Obrf1/0 (К Obrf1 применяется ResPn). Размер пазла PSize изменяет. Фильтры строки MsF1, MsF2=0. Вых.: новая строка Pzl1 в EAX. JZ - ошибка.
NewLinePzl, Pzl1, Obrf1, Fl1
! при Fl1=1 не раб. - строки не добавляет! Размер пазла PSize и другие параметры заголовка необходимо корректировать отдельно! Для режима 0 создается новая копия Obrf1 и ссылка на нее пишется в новую строку-контейнер. Для режима 1 в ObRef ставится ссылка на Obrf1, как на ассоциацию, в ней находится адрес AssVar и пишется в VReff. Для режима 2 создается переменная, содержащая все ячейки строки через табуляцию и записывается в VReff. Режим 3, аналогично режиму 2: Obrf1 встраивается. Obrf1 в отдельных режимах пазла встраивается без копирования, потому что является строкой и может иметь сложную структуру.
QLinePzl Создание Qn1 (1,2,3) новых строк-контейнеров (Fl1=1 в начало, =0 в конец) Pzl1 c MsF1=Ms1 и вставка в них пустых Var1 (применяется ResPn). Вых. EAX = последняя созданная строка/0. JL - ошибка.
QLinePzl, Pzl1, Fl1, Qn1
На основе функции NewLinePzl.
PzlWords Добавление в Arr2 (к MsF2 Arr2 прибавляется MsF2 строки Pzl1) фрагментов из VReff строк Pzl1 при MsF1=1, полученных разделением VReff по комплексным вхождениям в них разделителей из AllDel32. Комплексные вхождения в строки Arr2 "окончаний" - элементов Arr1/0 предварительно заменяются на пробел. Найденные вхождения при Flg1=0 не записываются, при Flg1=1 остаются в конце фрагментов, при Flg1=2 записываются, как отдельные фрагменты. Вых. EAX - число просмотренных строк. JL - ошибка, JZ - нет просмотров. Портит EAX, EBX.
PzlWords Arr2, Pzl1, Arr1, Flg1
На основе функции VarWords. Разделение текста на слова с отрезанием окончаний. Для подсчета количества необходимо добавить 1 (весовой коэффициент) к MsF2 исходного пазла.
Anime Проигрывает пазл
Anime, Pzl1
PzlPlusPzl Добавляет в Pzl1 копии строк Pzl2 с учетом MsF1, преобразуя их с учетом типов Пазлов. При отсутствии Pzl1 создает новый. Вых. Pzl1 - в EAX. Количество скопированных строк в EBX (0,1,2,..). JZ - нет копий. JL - ошибка.
PzlPlusPzl Pzl1, Pzl2
На основе функции NewLinePzl, ArrCopy. В отличие от GridPzlCopy, копирует строки при MsF2=1. Пока только для типов 2-2 (Grid)!
GridPzlCopy Добавляет в Grid-Pzl1 копии всех строк Pzl2, включая MsF1, MsF2. При отсутствии Pzl1 создает новый. Вых. Pzl1 - в EAX. Количество скопированных строк в EBX (0,1,2,..). JZ - нет копий. JL - ошибка.
GridPzlCopy Pzl1, Pzl2
На основе функции NewLinePzl, ArrCopy. При отсутствии, создает новый Пазл макросом GridPzlCopy. В отличие от PzlPlusPzl, копирует все строки. Пока только для типов 2-2 (Grid)!
GridPzlMsPs Замена (копирование) "резиновых" активных (MsF1=1) строк ObRef Pzl1 на строки Pzl2, заданные парами индексов-32 (приемник, источник,..) в VarPs1. Учет фильтров MsF1=1 в обоих Пазлах. Копирование в пределах длины Pzl1. Вых. EAX - число скопированных строк. JZ - нет совпадений, ошибка. Портит EAX, EBX.
GridPzlMsPs, Pzl1, Pzl2, VarPs1
На основе функции GumArrRem.
GridPzlMsF1PosPs Замена (копирование) "резиновых" активных (MsF1=1) строк ObRef по порядку с текущей позиции PPos (или с начала) Pzl1 на активные же строки Pzl2, заданные парами индексов-32 (приемник, источник,..) в VarPs1. Учет фильтров MsF1=1 в обоих Пазлах. Недостающие строки Pzl1 дополняются пустыми с MsF1=1. Вых. EAX - число скопированных строк. JZ - нет совпадений, ошибка. Портит EAX, EBX.
GridPzlMsF1PosPs, Pzl1, Pzl2, VarPs1
На основе функций NLineMsF1GumPzl и GumArrRem. В отличие от GridPzlMsPs, может писать с произвольной строки и дописывать строки за нижние пределы.
PlusTopGridPzl Копирует в Pzl1 первые Top1+1 от числа строк с MsF1=1 Пазла Pzl2. При отрицательных Top1, его значение считается, как процент (Top1/102) от уже выделенных строк Pzl2. При отсутствии Pzl1 создает новый. Вых. Pzl1 - в EAX. Количество скопированных строк в EBX (0,1,2,..). JZ - нет копий. JL - ошибка.
PlusTopGridPzl Pzl1, Pzl2, Top1
PzlArr Встраивание списка Arr1 в Pzl1. Arr1 уничтожается.
PzlArr, Pzl1, Arr1
NextPzl Цикл всех строк пазла Pzl1 (переход на следующйю строку по PAdr с коррекцией PPos) без учета фильтра MsF1=1: EAX-адр новой строки, JL-выход из цикла/ошибка.
NextPzl, Pzl1
Вначале необходим сброс указателя пазла функцией ResPosPzl.
NextMsF1Pzl Цикл пазла Pzl1 (при MsF1=1 переход на следующую строку за текущей): EAX-адр новой строки, JL-выход из цикла/ошибка.
NextMsF1Pzl Pzl1
Вначале необходим сброс указателя пазла функцией ResPosPzl.
NextPosPzl Цикл прохода пазла Pzl1: EAX-адр новой ячейки, EBX-номер строки (PPos), JL-ошибка
NextPosPzl, Pzl1
Устарела!!! На удаление. Вначале необходим сброс указателя пазла функцией ResPosPzl.
ResPosPzl Сброс текущей позиции пазла Pzl1: EAX-адр Pzl1, JL-ошибка
ResPosPzl, Pzl1
MsF1MsF2Pzl Запись в MsF1 строки пазла Pzl1 результата сравнения MsF2 и Lev1 в зависимости от Flg2. Запись в MsF1 0 бита (бит инверсии) Flg2, если старшие биты Flg2=001Х: MsF2>Lev1, =010Х: MsF2>=Lev1, =011Х: MsF2=Lev1. Если 0 бит Flg2=1, то при выполнении условия в MsF1 пишется 1, нет - 0. 0 бит - инверсии. Всего 3*2=6 вариантов условий. Выход: EAX - количество выполненных условий.
MsF1MsF2Pzl, Pzl1, Lev1, Flg2
Считает в EAX все строки, без разбора!
WeigMsF2Pzl Вес фильтра MsF2. Оставляем активными строки пазла Pzl1 при истинности сравнения MsF2 и Lev1 в зависимости от Flg2 (в остальных - сброс MsF1=0). Условия: Flg2=1: MsF2>Lev1, 2: MsF2>=Lev1, 3: MsF2=Lev1, 4: MsF2Lev1. Выход: EAX - количество выполненных условий. JZ - нет активных строк, JL - ошибка.
WeigMsF2Pzl, Pzl1, Lev1, Flg2
Похожа на MsF1MsF2Pzl, но учитывает MsF1.
WeigColPzl Вес рейтинга Reit1 после его переноса в фильтр MsF2. Оставляем активными строки пазла Pzl1 при истинности сравнения MsF2 и Lev1 в зависимости от Flg2 (в остальных - сброс MsF1=0). Условия из функции WeigMsF2Pzl. Выход: EAX - количество выполненных условий. JZ - нет активных строк, JL - ошибка.
WeigColPzl, Pzl1, Reit1, Lev1, Flg2
На основе функций MovMsF2Pzl, WeigMsF2Pzl.
TemDatMsF2Pzl Обмен MsF2 и TemDat всех строк пазла Pzl1. Вых. EAX = число строк (1,2,..), JL - ошибка.
TemDatMsF2Pzl, Pzl1
Позволяет сохранить, а затем восстановить значения фильтра MsF2
MovMsF2Pzl Запись в MsF2 значения любого рейтинга со смещением Reit1 строк пазла Pzl1 при MsF1>0; Вых: EAX=Счетчик, JL- нет вхождения/ошибка. Портит EAX, EBX.
MovMsF2Pzl, Pzl1, Reit1
ArrToPzl Добавляет копии строк Arr1 в Pzl1 (Функция0 - простая копия Var1).
ArrToPzl, Pzl1, Arr1
OpenVarPzl Добавляем строки TXT-файла в Pzl32 с кодировкой CodePage по разделителям строк-записей Entr32.
OpenVarPzl, Pzl32, VarName32, CodePage
На основе функции ArrToPzl.
ArrPlusPzl Добавление (копирование) в Arr1 всех элементов VReff пазла Pzl1.
ArrPlusPzl, Arr1, Pzl1
ArrMsF2PlusPzl Добавление в Arr1 рейтингов (в MsF2) и переменных VReff всего пазла Pzl1 без условий. При Flg1=0 пишется RatVir, при Flg1=1 RelRat.
ArrMsF2PlusPzl, Arr1, Pzl1, Flg1
ArrPlusMsF2Pzl При значениях MsF2>Flg1 пазла Pzl1 добавление в Arr1 рейтингов (MsF2 в MsF2) и переменных пазла Pzl1.
ArrPlusMsF2Pzl, Arr1, Pzl1, Flg1
Аналогична ArrPlusPzl3_8, ArrPlusTopPzl.
ArrPlusPzl3_8 Добавление(копирование) в Arr1 3/8 от всех элементов пазла Pzl1, рейтинг RatVir пишется в MsF2
ArrPlusPzl3_8, Arr1, Pzl1
Аналогична ArrPlusTopPzl. В фильтр переменных списка вписывается значение рейтинга. Удобно для дальнейшей сортировки.
ArrPlusTopPzl Добавление (копирование) в Arr1 Top1+1 переменных VReff пазла Pzl1, рейтинг RatVir пишется в MsF2. При отрицательных Top1, его значение считается, как процент (Top1/102) от длины Pzl1.
ArrPlusTopPzl, Arr1, Pzl1, Top1
Аналогична ArrPlusPzl3_8
VarPlusTopPzl Добавление в Var1 Top1 элементов пазла Pzl1 через разделитель VarDl1/0. При отрицательных Top1, его значение считается, как процент (Top1/102) от длины Pzl1.
VarPlusTopPzl Var1, Pzl1, Top1, VarDl1
VarPlusGridPzl Добавление (копирование) к Var1 с учетом MsF1 элементов списка строки Grid-пазла Pzl1 по разделителям элементов VarStp1/0 и сток VarStp2/0. EAX- счетчик записанных строк (1,2,3...). EAX=-1, JL - ошибка.
VarPlusGridPzl, Var1, Pzl1, VarStp1, VarStp2
В цикле Pzl1 вызывается функция VarFromArr32.
ArrMsF2GridPzl Добавление (копирование) в Arr1 с учетом MsF1 строк в составе десятичного значения MsF2(при Fl1=1), Delim32 и ячеек строки пазла Pzl1 через разделитель Delim32. JL - ошибка.
ArrMsF2GridPzl, Arr1, Pzl1, Delim32, Fl1
На основе функции VarDecLen, VarFromArr32.
SapArrCompGridPzl Добавление в Arr2 неповторяющихся фрагментов активных (MsF1=1) строк GridPzl1 разделением по комплексным вхождениям в них элементов Arr1 с подсчетом совпадений в MsF2. Найденные вхождения при Flg1=0 не записываются, при Flg1=1 остаются в конце фрагментов, при Flg1=2 записываются, как отдельные фрагменты. Вых. JL ошибка.
SapArrCompGridPzl, Arr2, Pzl1, Arr1, Flg1
Перепроверить! На основе функции SapArrCompArr.
ArrCompGridPzl Добавление в Arr2 фрагментов активных (MsF1=1) строк GridPzl1 разделением по комплексным вхождениям в них элементов Arr1. Найденные вхождения при Flg1=0 не записываются, при Flg1=1 остаются в конце фрагментов, при Flg1=2 записываются, как отдельные фрагменты. Вых. JL ошибка.
ArrCompGridPzl, Arr2, Pzl1, Arr1, Flg1
На основе функции ArrFromCompArr.
PzlMsStrDar Ячейки по индексу Ind1 активных строк GridPzl1 заменяет в активных 0-ых ячейках Dar1 по свободным строкам. Фильтр MsF2 копируется. Вых EAX - число записанных строк.
PzlMsStrDar, Pzl1, Dar1, Ind1
Заменяет ячейки 0 списка Dar подряд по активным строкам.
QArrFromPzl Вставка в пустую переменную - квазисписок Arr1/0 ссылок на все строки пазла Pzl1. Если Arr1 не существует, создание нового. Вых. EAX=Arr1, EBX - число строк, JL - ошибка.
QArrFromPzl, Arr1, Pzl1
Значительно ускоряет последовательный доступ и функции сортировки строк Pzl1, не нарушая порядок исходного Пазла.
QArrFromMsF1Pzl Вставка в пустую переменную - квазисписок Arr1/0 ссылок на строки пазла Pzl1 при их MsF1>0. Если Arr1 не существует, создание нового. Вых. EAX=Arr1, EBX - число строк, JL - ошибка.
QArrFromMsF1Pzl, Arr1, Pzl1
Значительно ускоряет последовательный доступ и функции сортировки строк Pzl1, не нарушая порядок исходного Пазла.
QArrMsF1IndGridPzl Вставка в пустую переменную - псевдосписок Arr1/0 ссылок переменные по Ind1 строк пазла GridPzl при их MsF1>0. Если Arr1 не существует, создание нового. Вых. EAX=Arr1, EBX - число строк, JL - ошибка.
QArrMsF1IndGridPzl, Arr1, Pzl1, Ind1
Сходна с функцией ArrPlusIndGridPzl, но вставляет сами переменные, а не их копии.
QArrBackPzl Замена порядка ссылок на строки пазла Pzl1 из квазисписка Arr1/0. Корректирует заголовок Pzl1. Вых. EAX - число строк, JL - ошибка.
QArrBackPzl, Pzl1, Arr1
Позволяет быстро вставлять в Пазл те же строки, отсортированные в другом порядке.
QArrFromLinePzl Вставка в список Arr1/0 переменных-псевдокопий всех строк пазла Pzl1. Если Arr1 не существовал, создание нового. Вых. EAX=Arr1, EBX - число строк, JL - ошибка.
QArrFromLinePzl, Arr1, Pzl1
QArrFromIndPzl Вставка в переменную QArr1/0 пар ссылок на ObRef Grid-ячейки по индексу Ind1 и ссылок самих строк пазла Pzl1. Фильтр MsF1 не учитывается. Если QArr1 не существовал, создание нового. Вых. EAX=Arr1, EBX - число строк, JL - ошибка.
QArrFromIndPzl, QArr1, Pzl1, Ind1
QPzlMsF1TopPzl Добавление (копирование) в квазипазл QPzl(Ф3) первых Top1+1 ссылок на строки, VReff и ObRef пазла Pzl1 при условии MsF1=1. При отрицательных Top1, его значение считается, как процент (Top1/102) от длины Pzl1. Создет копии исходных Vreff.
QPzlMsF1TopPzl, Pzl2, Pzl1, Top1
!!!Перепроверить - не работает GRID!!! Удобна для получения выборки из пазла. Строки формирует функция NewLinePzl (для режима 3).
QPzlPlusPzl Добавление (копирование) в квазипазл(Ф3) QPz1/0 всех ссылок на строки, ObRef и новые копии VReff пазла Pzl2. Если Pzl1 не существует, создается как новый (в EAX). Вых. EAX - Pzl1, EBX -число строк (1,2,3), JL - ошибка.
QPzlPlusPzl, Pzl1, Pzl2
Сходна с функцией QPzlMsF1TopPzl, но нечувствительна к фильтрам.
CopyUIdPzl Заменяет в квазипазле QPzl1 собственный UnId на соответствующее значение из связанной по LiReff строки родительского Пазла без учета фильтров. EAX=счетчик строк Пазла Pzl1 (1,2...). JL - ошибка.
CopyUIdPzl, QPzl1
Позволяет получать сквозную ссылку на Пазл при копировании в третий Пазл.
ArrSearQArr Поиск первого равенства всех строк Arr1 строго по одинаковым индексам в ссылке ObRef Grid-пазла из QArr1 при MsF1>0 строк псевдосписка QArr1; EAX=адр строки Pzl1; EBX=Счетчик от начала Пазла(1,2,3)/-1/0; JL ошибка, JZ нет вхождения, JG найдено.
ArrSearQArr, QArr1, Arr1
На основе функции ArrLineCompar. Применяется для поиска целого списка из строки Grid-PZL. В цикле, в случае совпадения, можно установить в найденной строке Пазла (=EAX) значение фильтра MsF1=0, исключив ее от повторного поиска.
ArrPlusRPzl Добавление(копирование) в Arr1 всех рейтингов MsF1, MsF2, RatVir и переменных VReff пазла Pzl1 в одну строку.
ArrPlusRPzl, Arr1, Pzl1
ArrPlusAssPzl Добавление(копирование) в Arr1 всех рейтингов и переменных пазла Pzl1
ArrPlusAssPzl, Arr1, Pzl1, Pzl2
ArrPlusIndGridPzl Добавление (копирование) к Arr1 с учетом MsF1 элементов из списков строк Grid-пазла Pzl1 по индексу Ind1. EAX- счетчик записанных строк (1,2,3...). EAX=-1, JL - ошибка.
ArrPlusIndGridPzl Arr1, Pzl1, Ind1
На основе функции VarPlusIndArr. Медленная при больших индексах списков GRID-строк.
ArrPlusIndMsF2Pzl Добавление (копирование) к Arr1 с учетом MsF1 элементов из списков строк Grid-пазла Pzl1 по индексу Ind1 и перенос значений MsF2. EAX- счетчик записанных строк (1,2,3...). EAX=-1, JL - ошибка.
ArrPlusIndMsF2Pzl, Arr1, Pzl1, Ind1
Модификация функции ArrPlusIndGridPzl.
SetTopMsF1Pzl Оставляет MsF1=1 первых Top1+1 от числа уже выделенных строк, устанавливая в остальных строках MsF1=0. При отрицательных Top1, его значение считается, как процент (Top1/102) от уже выделенных строк Pzl1. Вых. EAX - число оставшихся выделенных строк, ошибка JL.
SetTopMsF1Pzl Pzl1, Top1
На основе функции TestSizePzl.
VarInMsF1Pzl Прибавление к MsF2 Dat32 строк пазла Pzl1 при MsF1>0 при вхождении переменной Var1 в переменные VReff; Вых: EAX=Счетчик вхождений, JZ- нет вхождения/ошибка. Портит EAX, EBX.
VarInMsF1Pzl, Pzl1, Var1, Dat32
На основе функции VarInVar32.
QVarInPzl Прибавление к MsF2 строк пазла Pzl1 при MsF1>0 числа вхождений в них переменной Var1. При flg1=1 опускает ненайденные строки. Вых: EAX=Счетчик вхождений, JZ- нет вхождения/ошибка. Портит EAX, EBX.
QVarInPzl, Pzl1, Var1, flg1
На основе функции QVarInVar32. Сходна с функцией QVarInMsF1Pzl, но считает в самих строках.
QVarInMsF1Pzl Прибавление к MsF2 строк пазла Pzl1 при MsF1>0 числа вхождений переменной Var1 в переменные VReff. При flg1=1 опускает ненайденные строки. Вых: EAX=Счетчик вхождений, JZ- нет вхождения/ошибка. Портит EAX, EBX.
QVarInMsF1Pzl, Pzl1, Var1, flg1
На основе функции QVarInVar32. Вариант функции VarInMsF1Pzl с учетом числа вхождений.
PzlInPzl Вхождение VReff Pzl2 в Pzl1. Инкремент MsF2 строк пазлов Pzl2 и Pzl1 при MsF1>0 при вхождении в VReff Pzl1 строк VReff из Pzl2; Вых: EAX = Счетчик фактов вхождения строки VReff Pzl2 в хотя бы в одну строку VReff Pzl1, JL - ошибка, JZ - нет вхождения. Портит EAX, EBX.
PzlInPzl, Pzl1, Pzl2
В цикле Pzl2 вызывается функция VarInMsF1Pzl. Фильтры MsF1, MsF2 должны быть предварительно инициализированы!
LowGridPzl Опускает регистр букв в самих ячейках списка из ObRef пазла Pzl1 при фильтре MsF1>0. Вых.: EAX=счетчик опущенных строк Пазла Pzl1 (1,2...). JL - ошибка.
LowGridPzl, Pzl1
Очень быстрая функция на основе функции LowArr. Текст-32 должен быть без BOM! - иначе, произойдет смещение и распознать юникод будет проблематично. Буквы Ё, Й декодируются для 1 и 2-символьных вариантов.
LowSimpleReffPzl Заменяет в переменных строк VReff пазла Pzl1 в юникоде-32 на переменные с прописными буквами - опускает в нижний регистр и заменяет некоторые национальные символы на упрощенные (в латинице, кириллице и латышском). Вых: EAX=Счетчик вхождений.
LowSimpleReffPzl, Pzl1
На основе функций LowVar, SimpleVar32.
ArrStatPzl Запись в MsF2 строк Arr1 количесва их вхождений в VReff Pzl1 при MsF1>0.
ArrStatPzl, Pzl1, Arr1
TestSizePzl Подсчет по циклу размера пазла Pzl1 и число MsF1>0; EAX=размер, EBX-выделение; JL -ошибка. Портит EAX, EBX.
TestSizePzl, Pzl1
Максимально быстрая функция. Эффективно подсчитывает размер выделения из MsF1.
OpenGridPzl Добавляем TXT-файл в Pzl32 построчно, разрезая на ячейки-переменные по разделителям строк-записей Delim32_0, их элементов - Delim32_1. Значения MsF1=1, MsF2=0. Строка Vreff включает все ячейки строки через табуляторы. EAX - количество добавленных строк. JZ - ошибка.
OpenGridPzl, Pzl32, VarName32, CodePage, Delim32_1, Delim32_0
На основе функций OpenTextArr32, GridArrPzl. Пере-инициализирует пазл на Функцию2: Список текстовый (DATA BASE). Модифицированный аналог с опусканием VReff: OpenLowRefGridPzl.
OpenLowRefGridPzl Добавляем TXT-файл в Pzl32 построчно, разрезая на строки по Entr32 и ячейки-переменные на Tab32. Значения MsF1=1, MsF2=0. Строка Vreff включает все ячейки строки через табуляторы в нижнем регистре. EAX - количество добавленных строк. JZ - ошибка.
OpenLowRefGridPzl, Pzl1, VarName32, CodePage
На основе функций OpenTextArr32, ArrLowRefGridPzl. Опускает Vreff Pzl1. Модифицированный аналог функции OpenGridPzl.
SaveGridPzl Сохраняем TXT-файл из Pzl32 с учетом MsF1 по разделителям строк-записей Delim32_0, их элементов - Delim32_1
SaveGridPzl, Pzl32, VarName32, Starr, CodePage, Delim32_0, Delim32_1
Необходимо активировать фильтр MsF1, например, функцией ActiPzl.
SaveFromGridPzl Сохраняем TXT-файл из Pzl32 с учетом MsF1 по разделителям строк-записей Delim32_0, их элементов - Delim32_1 по номерам позиций из VarPs(N1,N2...Nx).
SaveFromGridPzl, Pzl32, VarPs, VarName32, Starr, CodePage, Delim32_0, Delim32_1
Необходимо активировать фильтр MsF1, например, функцией ActiPzl.
ArrPlusGridPzl Добавление(копирование) в Arr1 с учетом MsF1 элементов списка строки пазла Pzl1 через разделитель Delim32
ArrPlusGridPzl, Pzl1, Arr1, Delim32
На основе функции VarFromArr. Необходимо активировать фильтр MsF1, например, функцией ActiPzl.
ArrFromGridPzl Добавление (копирование) в Arr1 с учетом MsF1 элементов списка строки пазла Pzl1 через разделитель Delim32 по номерам позиций из VarPs(N1,N2...Nx). Копирование MsF2 строки пазла в MsF2 строки списка.
ArrFromGridPzl, Pzl1, VarPs, Arr1, Delim32
Необходимо активировать фильтр MsF1, например, функцией ActiPzl.
SearGridPzl Поиск равенства переменной Var1 в индексе Ind1 всех строк пазла Pzl1; EAX=адр строки Pzl1/0; EBX=адр строки GridArr/0, ECX=Счетчик от начала Пазла; JZ нет вхождения/ошибка.
SearGridPzl, Pzl1, Ind1, Var1
Цикл пазла без учёта фильтров. Функции VarVal и VarEqu32.
SearGridMsF1Pzl Поиск равенства переменной Var1 в индексе Ind1 активных строк (MsF1=1) пазла Pzl1; EAX=адр строки Pzl1/0; EBX=адр строки GridArr/0, ECX=Счетчик от начала Пазла; JZ нет вхождения/ошибка.
SearGridMsF1Pzl, Pzl1, Ind1, Var1
SearAssPzl Ассоциативный поиск равенства переменной Var1 в индексе Ind1 активных строк (MsF1=1) пазла Pzl1; EAX=значение[Ind2] (адрес переменной), EBX=адр. списка строки[Ind2], ECX= список ObRef строки; JLE - нет вхождения/ошибка.
SearAssPzl, Pzl1, Var1, Ind1, Ind2
На основе функции SearGridMsF1Pzl, VarVal.
GridPzlInArr В цикле Arr1: при равенстве строки Arr1 в Ind1 GridPzl - инкремент MsF1, при неравенстве строки Arr1 - инкремент ее MsF1, EAX=число ненайденных строк Arr1
GridPzlInArr, Arr1, Pzl1, Ind1
На основе функции SearGridPzl.
GridPzlIdPzl Для Ind2 элемента Arr2 каждой строки Grid-Pzl2 находит совпадение с Ind1 элемента Arr1 строки Grid-Pzl1 и вызывает функцию обработки найденных строк по адресу AdrFn1/0 с тремя параметрами Arr1, Arr2 и внешним VarCn1. Фильтры MsF1 нигде не учитываются. Прибавляет 1 к MsF2 строки Pzl2 при несовпадении ее элемента Grid-списка с соотвествующей ячейкой в Pzl1.
GridPzlIdPzl Pzl1, Pzl2, Ind1, Ind2, VarCn1, AdrFn1
С использованием быстрой функции QArrFromIndPzl. Находит соответствие "ячеек - артикулов" и вызывает ненулевой обработчик найденных строк. При отсутствии совпадения прибавляет 1 к MsF2 в Pzl2. При AdrFn1=0 обработчик не вызывается. Поскольку, к MsF2 за весь цикл прибавляется только единица, можно запускать функцию каскадно, последовательно исключая несколько параметров.
GridMsPzlMinusPzl Вычитание активных ячеек. При совпадении Ind2 элемента Arr2 каждой строки Grid-Pzl2 с Ind1 элемента Arr1 строки Grid-Pzl1 скрывает её, устанавливая фильтр MsF1=0.
GridMsPzlMinusPzl Pzl1, Pzl2, Ind1, Ind2
Скрывает строки при совпадении ячеек.
EmptIndGridPzl Скрывает при Flg1=0, оставляет при Flg1=1 строки с пустыми/отсутствующими ячейками столбца Ind1 пазла Pzl1 при MsF1>0, устанавливая MsF1=0. Вых. EAX - число нескрытых строк (0,1,2..), JL - ошибка.
EmptIndGridPzl Pzl1, Ind1
На основе цикла с функцией VarVal и макросом VarEmp32 .
FltoInd_GridPzl Запись десятичного значения фильтра пазла Pzl1 по индексу Ind1
FltoInd_GridPzl, Pzl1, Ind1
PosMsF1Pzl Получение строки пазла Pzl1 по ее номеру (0,1,2...) от начала Pos1 в регистре EAX; JL - ошибка.
PosMsF1Pzl, Pzl1, Pos1
Максимально быстрая функция.
NewGridPzl Добавление в текущей строке (списке) Pzl1 нового элемента - копии Var1.
NewGridPzl, Pzl1, Var1
К списку добавляется копия переменной.
NLineGumPzl Получение строки пазла Pzl1 по ее номеру от начала NStr1(0,1,2...) без учета фильтра MsF1; Недостающие номера дополняются пустыми строками с MsF1=0. Использует и корректирует значения PPos и PAdr. Строка в EAX, JL - ошибка.
NLineGumPzl, Pzl1, NStr1
Новые строки создаются функцией QLinePzl. Проходит все ячейки по циклу от значения Padr (при Ppos< NStr1 и Ppos>0) или от начала пазла, максимально быстро. См. также NLineMsF1GumPzl.
NLineMsF1GumPzl Получение активной строки пазла Pzl1 по числу активных MsF1=1 от начала NStr1(0,1,2...); Недостающие строки создаются с MsF1=1 и с пустыми строками ObReff. Использует и корректирует значения PPos и PAdr для активных строк с MsF1=1. Строка в EAX, JL - ошибка.
NLineMsF1GumPzl, Pzl1, NStr1
Ускоритель по PPos не работает и отключен!!! Новые строки создаются функцией QLinePzl. Проходит активные ячейки с MsF1=1 по циклу от значения Padr (при Ppos< NStr1 и Ppos>0) или от начала пазла, максимально быстро. Можно применять для предустановки позиции PPos. Может использоваться в цикле. Перед цилом имеет смысл предварительная инициализация PPos=0, например, функцией ResHeadPzl. См. также NLineGumPzl.
GridPzlEqSize Выравнивает горизонтальное число ячеек (размер) Pzl1 по максимальному значению. Без учета фильтров. Вых. EAX - максимальный размер, EBX - число строк пазла.
GridPzlEqSize, Pzl1
На основе функции GumArr.
GumGridPzl Получение в регистре EAX ячейки строки "резинового" пазла Pzl1 по координатам строки NStr1 и горизонтальному индексу Ind1; Если NStr1 или Ind1 превышают размерность Pzl1, то он дополняется пустыми строками и элементами. Помещает в EAX ячейку-переменную, в EBX= адрес ячейки "резинового" списка2 по [Ind1, Ind2], ECX - строка. Портит EAX, EBX, ECX.
GumGridPzl, Pzl1, NStr1, Ind1
На основе функций NLineGumPzl и GumArr. Медленная функция. Необходимо следить за размерами: при их превышении пазл растягивается!
GumPzlPlusVar Добавление переменной в "резиновый" пазл Pzl1 по координатам строки NStr1 и горизонтальному индексу Ind1; Если NStr1 или Ind1 превышают размерность Pzl1, то он дополняется пустыми строками и элементами. Портит EAX, EBX, ECX.
GumPzlPlusVar, Pzl1, Var1, NStr1, Ind1
На основе функции GumGridPzl, макроса VarPlus32.
GumGridPzlCopyVar Копирование (замена) переменной в "резиновый" пазл Pzl1 по координатам строки NStr1 и горизонтальному индексу Ind1; Если NStr1 или Ind1 превышают размерность Pzl1, то он дополняется пустыми строками и элементами. Портит EAX, EBX, ECX.
GumGridPzlCopyVar, Pzl1, NStr1, Ind1, Var1
На основе функции GumGridPzl, макроса VarCopy.
GumTransGridPzl Транспонирование (обмен строк и ячеек) пазла Pzl2 при MsF1>0 в резиновом пазле Pzl1. Если Pzl1=0, то создается новый. EAX=Pzl1, EBX=счетчик строк Пазла Pzl2 (1,2...). JL - ошибка.
GumTransGridPzl, Pzl1, Pzl2
На основе функции GumGridPzlCopyVar.
LineEdit В строке Line1 Grid-пазла: перезапись в VReff переменных (из списка ячеек Grid), согласно формату ArrFm (индекс, функция, разделитель).
LineEdit, Line1, ArrFm
Vreff перед записью очищается.
GridEdit Перезапись в VReff строк Pzl1 формата списка ячеек согласно списку ArrFm (индекс, функция, разделитель).
GridEdit, Pzl1, ArrFm
На основе функции LineEdit. Программируемая запись Vreff.
PzlMsF1GridEdit Редактирование столбца пазла Pzl1 по "резиновому" индексу Ind1 элементов списков его строк (при MsF1>0) по функции VarEdit(Fun1, Var1/0, Var2/0). При Fun1>1000, вместо Var2 подставляется номер активной строки вида 00001, а младшие разряды Fun1 используются по назначению.
PzlMsF1GridEdit, Pzl1, Ind1, Fun1, Var1, Var2
На основе функций GumArr и VarEdit.
PzlMsF1GridCondit Проверка условия столбца пазла Pzl1 по "резиновому" индексу Ind1 элементов списков его строк (при MsF1>0) по функции VarCondit(Fun1, Var1/0). Если условие не выполнено, установка фильтра строки MsF1=0. Вых. EAX - число выполненных условий, JL ошибка.
PzlMsF1GridCondit, Pzl1, Ind1, Fun1, Var1
На основе функций GumArr и VarCondit.
PzlMsF1GridConditArr Проверка условия столбца пазла Pzl1 по "резиновому" индексу Ind1 элементов списков его строк (при MsF1>0) по функции VarCondit(Fun1, Arr1/0). Если условие не выполнено, установка фильтра строки MsF1=0. Вых. EAX - число выполненных условий, JL ошибка.
PzlMsF1GridConditArr, Pzl1, Ind1, Fun1, Arr1
На основе функций GumArr и VarConditArr.
PzlMsF1GridEditConditArr Программируемая замена по условию столбца пазла Pzl1 по "резиновому" индексу Ind1 элементов списков его строк (при MsF1>0) функцией VarEditConditArr(Pzl1[Ind1], Var2, Fun1, Fun2, Arr1, Arr2/0). Вых. EAX - число выполненных условий, JL ошибка.
PzlMsF1GridEditConditArr, Pzl1, Ind1, Var2, Fun1, Fun2, Arr1, Arr2
На основе функций GumArr и VarEditConditArr.
GridReffPzl Перезапись в VReff всех строк Pzl1 переменных списка ячеек строк через разделитель VarStp/0. Без учета фильтров.
GridReffPzl, Pzl1, VarStp
На основе CleVar, VarFromArr. Создет переменные ссылок при их отсутствии.
GridPzlEditMs Редактирование по строкам "резиновых" ячеек столбца Ind1 активных (MsF1=1) строк ObRef Pzl1 на параллельные ячейки столбца 0 и 1 соответствующей по порядку строки Pzl2. Учет фильтров MsF1=1 в обоих Пазлах. Редактирование в пределах длины Pzl1. Вых. EAX - число скопированных строк. JZ - нет совпадений, ошибка. Портит EAX, EBX.
GridPzlEditMs, Pzl1, Pzl2, Ind1, Fun1
На основе функции VarEdit. Проходит активные строки Pzl1, данные берет из соответвующих активных строк Pzl2. Для каждой строки могут быть разные данные.
GridPzlConditMs Проверка условия по строкам "резиновых" ячеек столбца Ind1 активных (MsF1=1) строк ObRef Pzl1 с параллельными ячейками столбца 0 соответствующей по порядку строки Pzl2. При невыполнении - в Pzl1 и Pzl2 установка MsF1=0. Учет фильтров MsF1=1 в обоих Пазлах (в пределах длины Pzl1). Вых. EAX - число скопированных строк. JZ - нет совпадений, ошибка. Портит EAX, EBX.
GridPzlConditMs, Pzl1, Pzl2, Ind1, Fun1
RemMsPsGridPzl Распределение с учетом MsF1 элементов строки Pzl1 по номерам их позиций из VarPs(N1,N2...Nx). Позиции могут повторяться. Невошедшие удаляются. При ошибке строк пишет пустые строки.
RemMsPsGridPzl, Pzl1, VarPs1
На основе функции ArrPlusPs.
FixPzl32 Поиск вхождения VReff Pzl1 в Var1 по адресу Adr1. Вых: EAX: Адрес за вхождением (Var1); 0= Нет вхождения/JZ - Нет вхождения. EBX: Длина Var2. ECX: 0= Достижение стоп-адреса. ESI: строка Pzl1. EDI: вошедшая VReff.
FixPzl32, Var1, Pzl1, Adr1
Замены происходят с верхушки пазла. Выход при первом совпадении. Поэтому, может потребоваться предварительная сортировка переменных по убыванию длины. Строки пазла при поиске не перемешиваются.
VarCompPzl32 Комплексная замена вхождений в Var1 переменной VReff Grid-Pzl1 на ячейку Ind1. Результат в EAX, EBX - число вхождений, JZ - нет вхождения.
VarCompPzl32, Var1, Pzl1, Ind1
На основе функции FixPzl32. На замену предлагается функция VarRepDar. Эта, возможно, не работает!!! Удобная функция комплексной замены. Строки пазла при поиске не перемешиваются. Примеры использования - перевод национального языка в транслит, замена на синонимы и т.п.
ReffCompVarPzl Комплексная замена в переменных всех строк VReff пазла Pzl1 в юникоде-32 вхожений строк Arr1 на Spac32 (пробел), соседние дубликаты вхождений удаляются. Вых: EAX=Счетчик вхождений.
ReffCompVarPzl, Pzl1, Arr1
На основе функции VarCompVar32. Позволяет убрать из строки лишние элементы (разделители), заменив их на пробел.
PzlReffCompDar Комплексная замена в переменных строк-32 VReff пазла Pzl1 вхожений строк из первой колонки Dar1 на соответствующие из второй. Вых: EAX=Счетчик вхождений.
PzlReffCompDar Pzl1, Dar1
На основе функции VarRepDar.
RoubCross Дописывает в LPzl пересечения общих начал из строк Arr1.
RoubCross, LPzl, Arr1
KillLine Удаляет отвязанную строку Pzl. EAX= рейтинг виртуальный (RatVir) /0 удаленной строки.
KillLine, Pzl, Var1
KillBottLine Удаляет последнюю строку Pzl. EAX= рейтинг виртуальный (RatVir) /0 удаленной строки.
KillBottLine, Pzl1
Перепроверить
KillBotPzl Удаление элементов пазла Pzl1 ниже Top1. При отрицательных Top1, его значение считается, как процент (Top1/102) от длины Pzl1.
KillBotPzl, Pzl1, Top1
Перепроверить
KillMsF1Pzl Очищение строк пазла Pzl1 при условии MsF1=Fl1. EAX=число удаленных строк.
KillMsF1Pzl Pzl1, Fl1
На основе функции KillLine. Частичное условное очищение пазла.
LenMsfPzl Вставка значений длин VReff в фильтр MsF2 пазла Pzl1 при MsF1>0. Некорректная VReff записывается, как -1. EAX=счетчик строк Пазла Pzl1 (1,2...). JL - ошибка.
LenMsfPzl, Pzl1
Цикл Пазла с макросом VarByte32.
QCellMsfGridPzl Вставка количества ячеек активной строки в фильтр MsF2 пазла Pzl1 при MsF1>0. Некорректное количество записывается, как -1. EAX=счетчик строк Пазла Pzl1 (1,2...). JL - ошибка.
QCellMsfGridPzl, Pzl1
На основе LenArr.
SortRatPzl Сортировка по рейтингу RatVir пазла Pzl1Fl1=0 по убыванию, 1=по возрастанию
SortRatPzl, Pzl1, Fl1
SortRelPzl Сортировка по рейтингу RelRat пазла Pzl1; Fl1=0 по убыванию, 1=по возрастанию
SortRelPzl, Pzl1, Fl1
SortMsF2Pzl Сортировка по фильтру MsF2 пазла Pzl1; Fl1=1 по убыванию, 0=по возрастанию. JL - ошибка. Не портит регистры.
SortMsF2Pzl, Pzl1, Fl1
На основе функций QArrFromPzl, SortMsF2Arr, QArrBackPzl.
StriSortPzl Сортировка строк-32 (VReff) пазла Pzl1 как чисел; Fl1=0 по убыванию, Fl1=1 по возрастанию.
StriSortPzl, Pzl1, Fl1
Не работает, убивает Пазл!
RevSortPzl Реверсивная сортировка (от конца к началу) строк-32 (VReff) пазла Pzl1 как чисел; Fl1=0 по убыванию, Fl1=1 по возрастанию.
RevSortPzl, Pzl1, Fl1
Реверсивная копия функции StiSortPzl.
MixRndPzl Перемешивает случайно Pzl1, прибавляя к MsF2 случайные числа в диапазоне RndMax1 с последующей сортировкой строк. JL - ошибка. Не портит регистры.
MixRndPzl, Pzl1, RndMax1
Сходна с функцией SortMsF2Pzl, базовая функция - ArrMixRnd.
PzlVreffUniq Отмечает неуникальные дубликаты по VReff строки пазла Pzl1 (кроме первой) установкой фильтра MsF1=0. Учитываются только активные строки с MsF1=1. EAX=число отмеченных строк.
PzlVreffUniq Pzl1
Остается только удалить неактивные строки.
PzlPlusVar Добавление в Pzl1 справа столбца из переменной Var1/0 типа Sng1, EAX=число строк, ошибка: EAX=-1 / JZ
PzlPlusVar, Pzl1, Sng1, Var1
GetObjPzl Получение в EAX объекта текущей строки пазла. IL- ошибка.
GetObjPzl, Pzl1
Очень простая и быстрая функция. Обычно применяется вместе с NextPosPzl. При сбросе пазла может давать ошибку - указатель текущей строки пазла стоит на нуле.
QuSecMsF1Pzl В диапазоне от Tim1 до Tim2 (сек., Tim1 < Tim2) назад от текущего момента устанавливает в MsF1=Flg1 (1/0) в активных строках (фильтр MsF1=1). Сравнение по значению последнего времени вызова . В остальных активных строках устанавливаем инверсию флага в MsF1. Вых. EAX-счетчик.
QuSecMsF1Pzl, Pzl1, Tim1, Tim2, Flg1
Tim1 < Tim2
RefreshPzl Инкремент числа обращений (PTime) и удаление нижней строки по маске (Инкремент числа обращений (PTime) и удаление нижней строки по маске (PMax) пазла Pzl1. Контроль размера пазла Pzl1 (PMax) при отклонении рейтинга нижней строки от RatMin1=1.) пазла Pzl1.
RefreshPzl, Pzl1
ResDownMsF2Pzl Сброс фильтра MsF1=0, и деление MsF2 на 2 в степени Lev1, пазла, EAX-счетчик.
ResDownMsF2Pzl, Pzl1, Lev1
Применяется для частичного сохранения старого контекста.
ActiPzl Активирует пазл Pzl1, устанавливая фильтр MsF1 в 1, EAX=счетчик от начала Pzl1.
ActiPzl, Pzl1
Фильтр MsF2 не изменяется.
InverMsF1Pzl Инвертирует фильтр MsF1 пазла Pzl1, устанавливая 0 в 1 и наоборот. EAX=счетчик строк MsF1=1 Пазла Pzl1 (1,2...). JL - ошибка.
InverMsF1Pzl Pzl1
BetweenMsfPzl Обмен между фильтрами MsF1 и MsF2 пазла Pzl1. EAX=счетчик строк Пазла Pzl1 (1,2...). JL - ошибка.
BetweenMsfPzl, Pzl1
ResGridPn Применение ResPn к спискам ячеек строк Pzl1 (сброс позиции)
ResGridPn, Pzl1
SetMsF2Pzl Запись в фильтр MsF2 пазла Pzl1 значения Lev1. Вых. EAX-счетчик.
SetMsF2Pzl Pzl1, Lev1
PzlPlusMsF2 Запись в фильтр MsF2 активного (MsF1=1) столбца пазла Pzl1 номера его строки, начиная с нуля. Вых. EAX - число ктивных строк, JL ошибка.
PzlPlusMsF2, Pzl1
ResPzl Сброс фильтров MsF1=0, MsF2=0, RatVir=0, RelRat=0 пазла, инициализация режима фильтров PFlMod=1(=logic, paste), PPos=0, PAdr=PAdr0. EAX-счетчик.
ResPzl, Pzl1
ResHeadPzl Сброс строки заголовка Pzl1: инициализация режима фильтров PFlMod=1(=logic, paste), PPos=0, PAdr=PAdr0. JL - ошибка.
ResHeadPzl, Pzl1
Простейшая функция.
ClePzl Очищение пазла Pzl1. EAX=число удаленных строк.
ClePzl, Pzl1
Остается один заголовок. Все указатели сбрасываются в ноль.
KillPzl Удаление пазла Pzl1. EAX=число удаленных строк.
KillPzl, Pzl1
На основе функции ClePzl. Заголовок уничтожается.


Страница "Пазлы (динамические базы данных)." обновлена -

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

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