• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

@formula прошу проверить))

alexas1

Green Team
10.04.2014
1 202
225
BIT
34
в разных доках разный набор полей.
list1 := field1:field2:field3;
...............
listn := fieldX:fieldY: .... fieldZ;
listField := @if(form = "form1";list1; ......);
n := @elements(listField);
@if(@elements(@trim(listfields)) < n ; image ; "")
----------------
про синхронность - дополняем, складываем, через разделитель, чекаем чонить трансформом
-----------
зы
listField тоже луче получить через список form1:form2: ... formN, штоб совсем уж было однотипно (через ismember, например)
 
Последнее редактирование:
R

romych2004

это не будет работать, если в поле пробелы, что тоже пустота
@If(@Trim(field1):mad:Trim(field2):mad:Trim(field3) = ""; 150; 0)

ну и раз уж такие нюансы..
в твоем решении если в поле массив и один из элементов пустой элемент - будет воскл. знак
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
34
@If(@Trim(field1):mad:Trim(field2):mad:Trim(field3) = ""; 150; 0)

ну и раз уж такие нюансы..
в твоем решении если в поле массив и один из элементов пустой элемент - будет воскл. знак
))))) не, так тебя не спасёт,
а я внутренности поля и просплитить имплодером могу и будет шоколад ;)
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Эта формула писалась для отсекания ембеднутых объектов от аттачей в доке и для поиска необходимых аттачей с расширением
Код:
att:=@AttachmentNames;
attprop:=".";
REM {отсекаем вложенные со связью объекты, так как они = аттачмент без расширения};
tratt:=@Trim(@Transform(att;"x";@If(@Contains(x;attprop);x;@Nothing)));
ea:=@If(@Elements(tratt)>0;" Attachments ("+@Text(@Elements(tratt))+")";@Nothing);

REM {объекты без расширения};
embatt:=@Trim(@Transform(att;"x";@If(!@Contains(x;attprop);x;@Nothing)));
emb:=@If(@Elements(embatt)>0;" Embedded Object ("+@Text(@Elements(embatt))+")";@Nothing);

ea+emb

PeNgViN213 попробуйте
Код:
fld:=Field1:Field2:Field3:Field4:Field5; "имена контролируемых полей";
fldprop:=" ":".":"%"; "что НЕ хотите в них найти";
trfld:=@Trim(@Transform(fld;"x";@If(@Contains(x;fldprop);x;@Nothing)));
target:=@If(@Elements(trfld)>0;" Неправильно заполненные поля ("+@Text(@Elements(trfld))+")";@Nothing);

target
 
Последнее редактирование:
P

PeNgViN213

поле не заполняли: @IsAvailable(field)
поле пустое - выше писали, но я бы еще и @Trim сделал
проверка синхронности списков - это отдельная тема, список надо еще "дополнять" и "фильтровать", все сильно зависит от контекста, перемножение списков как пример (кусок из кода)
Код:
snum:=@Explode("0 1 2 3 4 5 6 7 8  9";" ");
res:=@If(@IsError(v);@ThisName;v);
n:=@Elements(res);
num:=@Subset(@TextToNumber(snum *+ snum);n);
Пожалуйста, не могли вы мне объяснить как работает @elements, я читаю хелп, никак не вьеду
 
30.05.2006
1 345
12
BIT
0
это не будет работать, если в поле пробелы, что тоже пустота
Это 1-е;
И второе - сработает если ВСЕ поля не заполнены. А по постановке - хоть одно..

---- Добавлено позже ----

считает кол-во элементов в массиве
+++
Оговорочка: для списка (массива) из единственного пустого эл-та возвращает "0". Обычно это и требуется
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!