|
Списки2 Dar (двумерные массивы).
Артикул | Наименование | Цена, от | ToDar | | Добавление в конец списка2 Dar1 копии списка-32bit Arr1 с копией фильтра MsF1, EAX - новая строка Dar1, JL - ошибка. Портит EAX, EBX. | ToDar, Dar1, Arr1 | | | ToDarMs | | Добавление в конец списка2 Dar1 копии списка-32bit Arr1 с копией фильтров MsF1 и MsF2, EAX - новая строка Dar1, JL - ошибка. Портит EAX, EBX. | ToDarMs, Dar1, Arr1 | Дополненный вариант функции ToDar | | GumDar | | Помещает в EAX ячейку-переменную, в EBX= адрес ячейки "резинового" списка2 по [Ind1, Ind2]. | GumDar Dar1, Ind1, Ind2 | На основе функции GumArr. | | GumDarDat | | Добавляет Dat32 в ячейку "резинового" списка2 по [Ind1, Ind2]. | GumDarDat Dar1, Ind1, Ind2, Dat32 | На основе функции GumDar и макроса VarDat32. | | GumDarCopyVar | | Копирование (вставка) переменной в "резиновый" список Dar1 по индексам Ind1, Ind1 (0,1,...N). Если индексы превышают размеры списка Dar1, то он дополняется пустыми строками/ячейками. | GumDarCopyVar, Dar1, Ind1, Ind2, Var1 | На основе функции GumDar и макроса VarCopy. | | ResizeToDar | | Добавление в конец списка2 Dar1 копии списка-32bit Arr1 c изменением размера на HSize, VSize при отношении пропорций, большем Kpr1 [16.16], JL - ошибка. Портит EAX, EBX. | ResizeToDar, Dar1, Arr1, Kpr1, HSize, VSize | | | DarResizeDar | | Добавление в конец списка2 Dar2 копии списка2 Dar1 c изменением размера элемента на HSize, VSize при отношении пропорций, большем Kpr1 [16.16], JL - ошибка. | DarResizeDar, Dar2, Dar1, Kpr1, HSize, VSize | | | StretchDar | | Создание в EAX копии списка2 Dar1 c изменением размера элемента на HSize, VSize при отношении пропорций, большем Kpr1 [16.16], JL - ошибка. Портит EAX, EBX. | StretchDar, Dar1, HSize, VSize, Kpr1 | На основе функции ResizeToDar. | | DarRemMsVar | | Заменяет в активной ячейке Dar1 по индексу Ind1 вхождение Var1 на Var2. Вых. EAX - количество обработанных строк Dar1/0/-1, EBX - последняя обработанная строка, JL - ошибка, JZ - нет совпадения. Портит EAX, EBX. | DarRemMsVar, Dar1, Ind1, Var1, Var2 | На основе функции VarRepVar32. | | DarMsDel | | Удаляет пассивные MsF1=0 строки Dar1. Вых. EAX - количество удалённых строк. Портит EAX, EBX. JL - ошибка. | DarMsDel, Dar1 | | | DarMovInd | | Копирование ячейки Ind2 в Ind1 в каждой строке Dar1. Вых.EAX - число замен. JL - ошибка. Портит EAX, EBX. | DarMovInd, Dar1, Ind1, Ind2 | На основе функции ArrMovInd. | | DarMsMovInd | | Копирование ячейки Ind2 в Ind1 в активных строках Dar1. Вых.EAX - число замен. JL - ошибка. | DarMsMovInd, Dar1, Ind1, Ind2 | Сходен с DarMovInd, но учитывает MsF1. | | DarExch | | Обмен активных ячеек Dar1 0 и 1. Вых. EAX - количество активных строк, JL - ошибка, JZ - нет строк. Портит EAX, EBX. | DarExch, Dar1 | Простейшая функция, просто меняет значения без контроля коррекции адресов. | | DarPlusDar | | Добавление в конец списка2 Dar2 копии списка2 Dar1 с копией фильтра MsF1 | DarPlusDar, Dar2, Dar1 | На основе функции ToDar. | | DarPlusDarMs | | Добавление в конец списка2 Dar2 копии списка2 Dar1 с копией фильтров MsF1 и MsF2, JL - ошибка. | DarPlusDarMs, Dar2, Dar1 | На основе функции ToDarMs. | | DarMsF1Dar | | Добавление в конец списка2 Dar2 копии списка2 Dar1 при MsF1>0, JL - ошибка. | DarMsF1Dar Dar2, Dar1 | | | DarSeaVar | | Ищет первое равенство Var1 с строками Dar1 по индексу Ind1. Вых. EAX - подлинник списка Arr1/0 - строка поиска Dar1, EBX - найденный (последний) индекс, JZ - нет совпадения. Портит EAX, EBX. | DarSeaVar Dar1, Var1, Ind1 | На основе макроса VarEqu32. Относительно быстрая - в случае находки просто отдаёт подлинник столбца Dar. | | VarInDarMsF1 | | При вхождении активных MsF1=1 строк Dar1 по индексу Ind1 с переменной Var1 опускает или оставляет их, устанавливая MsF1=Flg1, а в остальных - "инверсию" Flg1 (0/1). Вых. EAX - количество обработанных строк Dar1/0/-1, , JL - ошибка, JZ - нет совпадения. Портит EAX, EBX. | VarInDarMsF1, Dar1, Var1, Ind1, Flg1 | На основе VarInVar32. Может оставить или опустить активные строки при вхождении. | | DarSeaMsF1Var | | Ищет равенство всех строк Dar1 по индексу Ind1 с переменной Var1. При Flg1=1 в найденных строках, Flg1=0 кроме найденных строк устанавливает MsF1=Ms01. Вых. EAX - количество обработанных строк Dar1/0/-1, EBX - последняя обработанная строка, JL - ошибка, JZ - нет совпадения. Портит EAX, EBX. | DarSeaMsF1Var, Dar1, Var1, Ind1, Flg1, Ms01 | На основе макросов VarVal и VarEqu32. Если искомая строка - единственная, может использоваться для поиска строки. | | DarSeaVarInd | | Ищет равенство переменной Var1 со строкой Dar1 по индексу Ind2 и отдает ячейку-переменную по индексу Ind1 из найденной строки-списка. Вых. EAX - найденная переменная. JL - ошибка, нет строки. Портит EAX. | DarSeaVarInd, Dar1, Ind1, Var1, Ind2 | На основе функций DarSeaVar и VarVal. | | DarSeaDatInd | | Ищет равенство текстового значения Dat32 со строкой Dar1 по индексу Ind2 и отдает ячейку-переменную по индексу Ind1 из найденной строки-списка. Вых. EAX - найденная переменная. | DarSeaDatInd, Dar1, Ind1, Dat32, Ind2 | На основе функции DarSeaVarInd. | | DarSeaQDar | | Ищет равенство всех строк Dar1 по индексу Ind1 с переменной Var1 и дописывает их в квазидар QVar1. Вых. EAX - найденный квазидар QVar1/0, EBX - количество найденных строк, EBX=-1/JL ошибка, EBX=0/JZ - нет совпадения. Портит EAX, EBX. | DarSeaQDar, Dar1, QVar1, Var1, Ind1 | | | DarIdDar | | Для первого элемента каждой строки Dar2 находит совпадение с первым элементом строки Dar1 и вызывает функцию обработки по адресу AdrFn1/0 с тремя параметрами Arr1 и Arr2 и внешним VarCn1. Прибавляет 1 к MsF2 строки Dar1 при совпадении ее 1-й ячейки списка с 1-й ячейкой в Dar2. Прибавляет 1 к MsF2 строки Dar2 при несовпадении ее 1-го элемента списка с соответствующим 1-м элементом в Dar1. При пустом Dar1, отмечается весь Dar2. Вых. EAX - число совпадений, JZ - нет совпадений. | DarIdDar Dar1, Dar2, AdrFn1 | При AdrFn1=0 обработчик не вызывается. Поскольку, к MsF2 Dar2 за весь цикл прибавляется только единица, можно запускать функцию каскадно, последовательно исключая несколько параметров. | | SizeDar | | Определяет размер списка2: EСX=число кадров, EAX=число строк, EBX=число элементов, JL- ошибка. Портит EAX, EBX, ECX. | SizeDar, Dar1 | | | ResDar | | Сброс фильтров MsF1=0, MsF2=0 в Dar1. Вых. EAX - число сброшенных строк, JZ - нет сброшенных строк. | ResDar Dar1 | | | Next2Dar | | Круговой шаг цикла Dar1 и Dar2 по максимальному количеству кадров. Инициализация автоматическая, хранится в фильтрах MsFx Dar1. Выход: EAX = строка Dar1, EBX = строка Dar2. Портит EAX, EBX. | Next2Dar Dar1, Dar2 | На основе функции Circle8Pn. При первом вызове инициализируется автоматически. Проходит максимальное количество кадров. По окончании цикла деинициализируется. | | DarToFrame | | Выделение 1 кадра в EAX с последующей очисткой Dar1. JL - ошибка/пустой Dar1. | DarToFrame, Dar1 | | | DarToDar | | Замена с сохранением адреса Dar1: CleDar, Dar1=Dar1+Dar2; KillVar Dar2. | DarToDar, Dar1, Dar2 | | | DarGridArr | | Дописывает в Dar1 списки из частей строк Arr1 между номеров (0,1,2,..), указанных в VarN подряд, как числа-32, вхождения в них Var2. | DarGridArr Dar1, Arr1, Var2, VarN | | | VarFromDar | | Дописывает в строку Var1 элементы строк Dar1 через разделители элементов Var2/0 и строк Var3/0. Вых. EAX-количество строк, JL- нет строк. | VarFromDar Var1, Dar1, Var2, Var3 | | | VarMsF1Dar | | Дописывает в Var1 активные строки MsF1=1 из Dar1 по индексу Ind1 с добавлением разделителя VarDel1. Вых. EAX - количество новых строк, JL - ошибка, JZ - нет строк. Портит EBX, EAX. | VarMsF1Dar, Var1, Dar1, Ind1, VarDel1 | На основе функции VarPlusIndArr. | | QArrMsF1IndDar | | Дописывает в переменную-квазисписок QArr1/0 переменные по индексу активных (MsF1>0) строк Dar. Если QArr1=0/не сущесвует - создает новую. Вых. EAX - QArr1, EBX - число вставок, JL - нет вставок. | QArrMsF1IndDar, QArr1, Dar1, Ind1 | На основе функции VarVal. | | ArrFromDar | | Дописывает в строки Arr1 элементы строк Dar1 через разделитель Var1/0. Вых. EAX-количество строк, JL- нет строк. | ArrFromDar Arr1, Dar1, Var1 | На основе функции VarFromArr32. | | ArrIndDar | | Дописывает в Arr1 строки из Dar1 по индексу Ind1. Вых. EAX - количество новых строк, JL - ошибка, JZ - нет строк. Портит EBX, EAX. | ArrIndDar Arr1, Dar1, Ind1 | На основе медленной функции VarPlusIndArr. | | ArrFromPsDar | | Дописывает в Arr1 строки из Dar1 по индексам из VarPs (i0, i1, i2, ...) с разделителем Delim32. Вых. EAX - количество новых строк, JL - ошибка, JZ - нет строк. Портит EBX, EAX. | ArrFromPsDar, Arr1, Delim32, Dar1, VarPs | На основе функции VarPsFromArr. | | ArrIndMsDar | | Дописывает в Arr1 все строки из Dar1 по индексу Ind1 с копиями MsF1, MsF2. Вых. EAX - количество новых строк, JL - ошибка, JZ - нет строк. Портит EBX, EAX. | ArrIndMsDar, Arr1, Dar1, Ind1 | На основе функции VarPsFromArr. | | DarFromVar | | Дописывает в конец Dar1 новый список из частей строки Var1 по разделителю Delim32. Портит EAX, EBX. | DarFromVar, Dar1, Var1, Delim32 | На основе макроса ArrNewEl и функции ArrFromVar. | | DarFromArr | | Дописывает в Dar1 строки-списки из частей строк Arr1 по разделителю Delim32. EAX - число строк. Портит EAX, EBX. | DarFromArr Dar1, Arr1, Delim32 | На основе функции DarFromVar. | | DarGroup | | Преобразует линейный Dar1, нарезая данные блоками шириной Wd1 и высотой Hg1. | DarGroup, , Dar1, Wd1, Hg1 | Полезен для создания таблиц. | | DarMsF1GridPzl | | Добавление (копирование) в Dar1 с учетом MsF1 элементов списка строки пазла Pzl1. Вых. EAX - число записанных строк. JZ - нет записи. | DarMsF1GridPzl Dar1, Pzl1 | На основе цикла пазла и функции ToDar. Аналогична DarMsGridPzl, но не копирует MsF2. | | DarMsGridPzl | | Добавление (копирование) в Dar1 с учётом MsF1 элементов списка строки пазла Pzl1 с записью MsF2. Вых. EAX - число записанных строк. JZ - нет записи. | DarMsGridPzl Dar1, Pzl1 | На основе цикла пазла и функции ToDar. Аналогична DarMsF1GridPzl, но ещё копирует MsF2. | | OpenDar | | Открываем файл в список-2 по строкам по разделителю элементов Delim32. | OpenDar, Dar1, VarName32, CodePage, Delim32 | На основе функции DarFromArr. | | DarVal | | EAX= ячейка-переменная, EBX= адрес ячейки списка2 по [строка Ind1, столбец Ind2]. JL - ошибка. | DarVal, Dar1, Ind1, Ind2 | На основе функции VarVal. | | DarGridDar | | Замена (копирование) "резиновых" ячеек строк Dar1 на ячейки строк Dar2, заданные парами индексов-32 (приемник, источник,..) в VarPs1. | DarGridDar, Dar1, Dar2, VarPs1 | | | FixDar | | Поиск вхождения первого элемента Dar1 в Var1 по адресу Adr1. Вых: EAX: Адрес за вхождением (Var1); 0= Нет вхождения/JZ - Нет вхождения. EBX: Длина Var2 (байт!). ECX: 0= Достижение стоп-адреса. ESI: строка Dar1. EDI: Индекс входжения (0,1,2...). | FixDar Var1, Dar1, Adr1 | Модификация кода функции FixArr. | | DarEditInd | | Применение функции VarEdit[Fun1, Var2, Var3, Arr1/0] к строкам Dar1 по индексу Ind1. Вых. EAX - число обработанных переменных (0,1..). JL - ошибка, JZ - нет обработки. Портит EAX. | DarEditInd, Dar1, Ind1, Fun1, Var2, Var3, Arr1 | На основе функций VarVal и VarEdit. | | LowDar | | Заменяет заглавные буквы на прописные в юникоде-32 (в латинице, кириллице и латышском). | LowDar, Dar1 | На основе функции LowArr. | | DarFill32 | | Заливает список Dar1 числом Num32 | DarFill32, Dar1, Num32 | Цикл на StartPN с использованием функцииArrFill32. | | SimpleDar | | Заменяет некоторые национальные символы на упрощенные (в латинице, кириллице и латышском) в самом Dar1. | SimpleDar, Dar1 | На основе функции SimpleArr. | | DarDarRemVar | | Модифицирует Var1 заменой вхождения элементов строк Dar1 на 1-й элемент и производит замену этой переменной на 2-й при её равенстве с 1-м столбцом Dar2. Результат в EAX - промежуточная переменная, которая подверглась замене Dar2, JL - ошибка, пустая строка, JZ - нет вхождения. | DarDarRemVar, Dar1, Dar2, Var1 | На основе функций ArrRemFirstVar и DarSeaVarInd. Приводит реальное слово к начальной форме и находит перевод в словаре. Начальная форма, как лишняя переменная - в EAX. | | VarRepDar | | Добавляет в Var2 (при Var2=0 заменяет саму Var1) комплексную замену вхождений в Var1 первого элемента строки Dar1 на второй. Портит EAX, EBX. При Var2=0 результат в EAX, EBX - число вхождений. EBX=0, JZ - нет вхождения, EBX=-1, JL - ошибка. | VarRepDar, Var2, Var1, Dar1 | На основе функции FixDar. | | DarRepDarMsInd | | Производит комплексную замену вхождений в переменную активной строки Dar1 с по индексу Ind1 первого элемента строки Dar2 на второй. Вых. EAX - число вхождений (0,1..). JL - ошибка, JZ - нет обработки. Портит EAX. | DarRepDarMsInd, Dar1, Dar2, Ind1 | На основе функции VarRepDar. | | StriSortDar | | Сортировка всех строк столбца по ячейкам индекса Ind1 списка Dar1 как чисел Fl1=0 по возрастанию, Fl1=1 по убыванию. Вых. EAX -число строк JL -ошибка. Не портит регисты совсем! | StriSortDar, Dar1, Ind1, Fl1 | Цикл на NextPn, StartPN с использованием функции StriComVar. | | AlfSortDar | | Сортировка строк-32 списка Dar1 как чисел Fl1=0 по возрастанию, Fl1=1 по убыванию по нормировочной таблице AlfSrt. Портит EAX. EAX - число строк. | AlfSortDar, Dar1, Dar2, Ind1, Fl1 | Первый вариант функции AlfNewSortDar. На основе функции StriComVar с заменой символов на номера по AlfSrt (из ресурса). Максимально быстрая функция, но не сохраняет исходный порядок строк, т.е., исходную сортировку второго порядка, содержимого строк. | | AlfNewSortDar | | Сортировка строк-32 списка Dar1 как чисел Fl1=0 по возрастанию, Fl1=1 по убыванию по нормировочной таблице AlfSrt. Портит EAX. EAX - число строк. | AlfNewSortDar, Dar1, Dar2, Ind1, Fl1 | На основе функции StriComVar с заменой символов на номера по AlfSrt (из ресурса). Сохраняет исходный порядок строк, т.е., исходную сортировку второго порядка, содержимого строк. | | DarMsF2Sum | | Подсчёт суммы значений активных MsF2 Dar1. Вых. EAX - число строк, EBX - сумма активных MsF2, ECX - исло активных, JL - ошибка, JZ - нет строк. Портит ECX, EBX, EAX. | DarMsF2Sum, Dar1 | | | DarLimitMsF2 | | - | DarLimitMsF2, Dar1, Per1 | Удаляет малоповторяемые строки. | | DarSortSqueeze | | Оставляет только активные строки Dar1 с максимальным MsF2 при общей его сумме меньше Per1 процентов от общей суммы MsF2. Вых. EAX - число новых строк, JL - ошибка, JZ - нет строк. Портит ECX, EBX, EAX. | DarSortSqueeze, Dar1, Per1 | Удаляет малоповторяемые строки. | | DarRoundDar | | Вписывание Dar1 в Dar2 с прозрачностью Trans1 по максимальному количеству кадров. Выход EAX= новый Dar. | DarRoundDar, Dar2, Dar1, Lft1, Tp1, Trans1 | На основе функции RoundPic. | | DarShadowDar | | Вписывание и наложение плоской тени Dar1 на Dar2 с прозрачностью Trans1 по максимальному количеству кадров. Выход EAX= новый Dar. | DarShadowDar Dar2, Dar1, Lft1, Tp1, Trans1 | На основе функции RoundPic и PlShadow. | | RoundCropDar | | Создание в EAX нового списка2 из Dar1, вписанного с обрезкой в размеры Ver1, Hor1, JL - ошибка. Портит EAX, EBX. | RoundCropDar Dar1, Ver1, Hor1 | На основе функции RoundCropPic. | | RectScaleDar | | Перенос в начало Dar1 участка картинки Dar2 со смещением Lft16, Tp16, размерами Hs16, Vs16 и в масштабе (шаге) Scale16. | RectScaleDar, Dar2, Dar1, Lft16, Tp16, Hs16, Vs16, Scale16 | На основе функции RectScalePic. | | DarLine | | Рисует раз в 5 кадров прямую линию цвета RGB1 по координатам на картинке Dar1. | DarLine, Dar1, H16_0, V16_0, H16_1, V16_1, RGB1 | | |
Страница "Списки2 Dar (двумерные массивы)." обновлена -
|