• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Процедура со значениями по-умолчанию

swyatogor

Green Team
24.02.2014
593
24
BIT
0
Всем прив.. ну вот собственно сабж))
Возможно ли в лотусе для LS создавать процедуры функции) в библе или агентах с указанными для некоторых передаваемых параметров значение по-молчанию??))
 

swyatogor

Green Team
24.02.2014
593
24
BIT
0
@savl, Да легко))
Код:
CREATE procedure [dbo].[TaskConfirmation](@TaskID binary(16), @TaskType binary(4), @TaskNum numeric(3, 0), @UserAddr varchar(100), @Answer numeric(1, 0) = 0, @Comment nvarchar(500) = '', @Date datetime = 0)
это из sql
Код:
Sub TestSub(P As String = "Default")
	Print P
End Sub
из Basic
C++:
int product(double x, double y,
double z = 1, double t = 1)
{
return x*y*z*t;
}
C++
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
179
@swyatogor, прикольно, а зачем так?
понимю гибкость и тд...
НО если на конкретном примере, то:
Код:
Sub TestSub(P As String)
if len(p) = 0 then p = "Default"
Print P
End Sub

Другой вариант: передавать массив значений
 

swyatogor

Green Team
24.02.2014
593
24
BIT
0
@savl, не.. цель в другом))
Есть процедура - работает давно... вызывается из кучи мест - процедура по отправке сообщения определенной формы..
Нужно в эту процедуру добавить параметр для небольшого изменения в отображении при необходимости.. так вот чтобы всё сразу не переписывать.. не искать все точки вызова процедуры хотел добавить параметр по-умолчанию.. а уже потом методично и постепенно проходить по всем дизайн-элементам и дописывать (если нужно) этот параметр в вызов..
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
Нужно в эту процедуру добавить параметр для небольшого изменения в отображении при необходимости..
меняем тип параметра на Variant...
ну а дальше переписываем анализ параметра на DataType и делаем ветвление по смыслу
если IsEmpty = ставим дефолт ну и т.п.
 

swyatogor

Green Team
24.02.2014
593
24
BIT
0
@lmike, предлагаешь присоседиться к уже существующему параметру??.. вторым номером передавать?.. хм..
а не получится что тогда во всех вызовах параметр нуно будет передавать как вариант??..
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
179
@swyatogor,
@lmike,
я так понял предложение

Было:
Код:
Sub Print(msgText as String)
 
msgbox msgtext
 
end sub

Стало:
Код:
Sub Print(msgText as Variant)
 
select case Typename(msgText)
 
case "NOTESDOCUMENT":
 
 msgbox msgText.GetITemvalue("Text")(0)
 
case "STRING":
 
msgbox msgText
 
case "STRING()":
 
msgbox implode(msgText, chr(10))
 
case Else:
 
   End Select
end Sub
ну и так далее
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
@savl, типа того
только чтобы стринги не сравнивать -
 
Мы в соцсетях:

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