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

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

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

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

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

Замена функций

  • Автор темы kilcher
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

kilcher

Доброе утро! Можно ли заменить функцию @GetField на @SetField в формуле
@If(@Elements(revpositions) >= 2; @GetField("revpositions")[2]; @Nothing)?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Нет. На собаках нельзя менять элементы по индексу напрямую.
 
K

kilcher

Это получается,что для Lotus 5.0 эта формула не подходит и надо скрипт писать? :blink:
 
M

morpheus

нет , потому что к масиву можно обратиться по индексу Х, но нельзя записать ( используя кв. скобки )
поэтому я вычислял все элементы с индексом меньше Х(пусть А), и все элементы с индексом больше Х (Пусть С ), а потом компоновал

@SetField("revpositions"; А : ЭлементНаЗамену : С ) ;
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Или я не так понял и ты не про индекс?
В 5-ке перед @SetField нужно задекларировать поле. Т.е. FIELD revpositions := revpositions.
 
K

kilcher

Дело в том,что я не знаю заранее какие у меня элементы массива.И элемент на замену чего? Мне же просто надо вытащить конкретный(по индексу) элемент
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Не понятно. Если надо вытащить элемент, то зачем @SetField?
 
M

morpheus

kilcher
да зачем вам гетфиелд? обратитесь к полю по имени )))
revpositions[2]
 
K

kilcher

Можно задам еще вопрос опять же по замене функций? В Lotus 6.5 в кнопке работал код

@If ( (myFieldFlag = "0":"") &(Lastname1!="");
@Do(
FIELD Untitled1 := "1. ";
@Command( [RefreshHideFormulas] );
FIELD myFieldFlag := "1"
)
...........

После переноса в 5ку код изменился на

@If ( (myFieldFlag = "0":"") &(Lastname1!="");
@Do(
Untitled1 DEFAULT "1. " ;@Command
([RefreshHideFormulas] ) ;myFieldFlag
DEFAULT "1" ) ;
..........
И соответственно перестал работать.Я не поняла,а что не так то? Почему он заменяет функции? Ведь FIELD и @Do так же есть в 5ке. И так везде,где используется @if и @Do.

P.S. Сделала так @Subset(@Subset(revpositions;2); -1). Вроде все работает.Спасибо.
 
S

Sandr

Гы, прикольно... перепишите руками... :angry:
@SetField используйте... тогда не сломается...
 
K

kilcher

Гы, прикольно... перепишите руками... :angry:
@SetField используйте... тогда не сломается...

Я вроде так и сделала
FIELD Untitled1:=Untitled1;
@If ( (myFieldFlag = "0":"") &(Lastname1!="");
@Do(@SetField( Untitled1 ; "1. ");
@Command([RefreshHideFormulas] ) );
@Success)
Но ничего не работает :angry:
 
S

Sandr

в @SetField названия полей в кавычки брать надо...
 
G

Guest

Насколько я помню в 5-ке есть проблемы с @Do, лучше его не использовать
 
G

Guest

Проблемы те, что не работает. По крайней мере у меня была такая ситуация, что в 5-ке появлялась ошибка в связи с этим оператором (какая точно уже не помню). В данной ситуации этот оператор можно заменить на несколько @IF
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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