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

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

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

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

Формат поля

  • Автор темы Oksana
  • Дата начала
O

Oksana

Подскажите, пожалуйста, можно ли и если да, то как задать формат поля.

Мне нужно поля для ввода и хранения ИП-адреса.

Соответвенно хочется чтобы вводили все одинаково и не ошибались, не было разброса в разделителях (точки), ну и соответственно стандартный формат ИП адреса 000.000.000.000, чтобы все разряды были заполнены.
 
M

morpheus

Для: Oksana
используйте секцию Input translation в поле для приведения к одному виду
и Input validation для проверки правильности ввода
 
R

Ronchik

Подскажите, пожалуйста, можно ли и если да, то как задать формат поля.

Мне нужно поля для ввода и хранения ИП-адреса.

Соответвенно хочется чтобы вводили все одинаково и не ошибались, не было разброса в разделителях (точки), ну и соответственно стандартный формат ИП адреса 000.000.000.000, чтобы все разряды были заполнены.

Такие данные вобщето не должны вводиться пользователями
попробуй лучше вот такой вариант

Sub Initialize
Dim session As NotesSession
Set session = New NotesSession
Dim doc As NotesDocument
Set doc = session.DocumentContext
Print "<H2>IP address is " + _
doc.Remote_Addr(0) + "</H2>"
End Sub
 
O

Oksana

Такие данные вобщето не должны вводиться пользователями
попробуй лучше вот такой вариант
Спасибо, но мне не нужет текущий ИП, мне нужно текстовое поле, в которое будет вводится произвольный ИП-адрес, просто хотелось единообразия при вводе и просмотре.

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

morpheus

Oksana
Используйте Input translation - в нём вы сможете
1. проверить длинну, в Вашем случае это 15 символов
2. забить недостающие символы 0
3. ОБЯЗАТЕЛЬНО использовать текстовое поле
 
O

Oksana

Oksana
Используйте Input translation - в нём вы сможете
1. проверить длинну, в Вашем случае это 15 символов
2. забить недостающие символы 0
3. ОБЯЗАТЕЛЬНО использовать текстовое поле
Сделала @DialogBox, использующий форму для ввода значений, вводится в 4 поля, проверяется соответственно что бы длина была не более 3-х символов в каждом, точки вставляю потом.
как использовать Input translation не совсем поняла, к тому же перебор строки не простой получается, вариаций много
 
M

morpheus

<!--QuoteBegin-Oksana+27:04:2007, 09:36 -->
<span class="vbquote">(Oksana @ 27:04:2007, 09:36 )</span><!--QuoteEBegin-->к тому же перебор строки не простой получается, вариаций много
[snapback]63679" rel="nofollow" target="_blank[/snapback]​
[/quote]
зря Вы так, очень даже легко получаеться )))
щас просто нет времени накарлякать :)
 
30.05.2006
1 345
12
BIT
0
Сделала @DialogBox, использующий форму для ввода значений, вводится в 4 поля, проверяется соответственно что бы длина была не более 3-х символов в каждом, точки вставляю потом.
как использовать Input translation не совсем поняла, к тому же перебор строки не простой получается, вариаций много
Что-то такое раз делал, в Validation-ф-ле. Сначала проверка на доп.сиволы (@Matches), перебор упростил преобразованием в Numeric-список:

Lip:=@Explode(@ThisValue;".");
@TextToNumber(Lip) etc..

Еще проще проверЯть по маске, но там ошибку не конкретизируешь
 
O

Oksana

Такие данные вобщето не должны вводиться пользователями
попробуй лучше вот такой вариант

Sub Initialize
Dim session As NotesSession
Set session = New NotesSession
Dim doc As NotesDocument
Set doc = session.DocumentContext
Print "<H2>IP address is " + _
doc.Remote_Addr(0) + "</H2>"
End Sub
Кстати, как получить IP, с которого подключился пользователь, с помощью LS, вышеприведенный пример не подходит.

Оставлю пока свой вариант, а Ваш подожду :) все равно хочется посмотреть как иначе можно сделать
Убрала диалог, сделала трансляцию и проверку. Если данные введены корректно, то транслирует как мне надо, если нет, то выходит окно предупреждения, но документ все равно сохраняется, почему так?
 
30.05.2006
1 345
12
BIT
0
Убрала диалог, сделала трансляцию и проверку. Если данные введены корректно, то транслирует как мне надо, если нет, то выходит окно предупреждения, но документ все равно сохраняется, почему так?
Сообщение как выводишь? @Prompt ? А validation f-la что системе возвращает? Должна:
либо @Yes (@True) - значит сохранять
либо "некий текст" (=@Failure("Text") ) - значит вывести его на экран и НЕ сохранять
 
O

Oksana

либо "некий текст" (=@Failure("Text") ) - значит вывести его на экран и НЕ сохранять
ОК, теперь использую @Failure, по кнопке "Сохранить и закрыть", выдает предупреждение, не сохраняет, но зкрывает, а мне бы так, что бы и выйти не дало, если значение не верное.
 
30.05.2006
1 345
12
BIT
0
ОК, теперь использую @Failure, по кнопке "Сохранить и закрыть", выдает предупреждение, не сохраняет, но зкрывает, а мне бы так, что бы и выйти не дало, если значение не верное.
На кнопке "Сохранить и закрыть" что висит? 2 команды? ([FileSave] и [..Close])? Имей в виду, что 1-я возвращает результат!
Т.е. надо примерно так:
@If(@Command([FileSave]); @Command([FileClose]); @No)
 
L

LIGHT

Тоже интересно.... как бы вычислить :)
 
M

morpheus

Для: Oksana
DocumentContext property
просто исходя из хэлпа это надо зделать как агент ))) так как
Read-only. The in-memory document when an agent starts.

вот потому этот код
Код:
Sub Initialize	
Dim session As NotesSession	
Set session = New NotesSession	
Dim doc As NotesDocument	
Set doc = session.DocumentContext	
Print "<H2>IP address is " + _	doc.Remote_Addr(0) + "</H2>" 
End Sub
Просто так с кнопки не срабатывает, пишите агентик :)

От блин, не совсем то
 
30.05.2006
1 345
12
BIT
0
Тоже интересно.... как бы вычислить B)
По NRPC? Гы... Lotus - мультипротокольная среда. Что такое адрес юзера при соединении по NETBIOS? А по SPX? AppleTalk? X.25? Banian? X.PC? А в случае passThru соединения? Какой из адресов 6 промежуточных серверов?
IMHO нет в Notes API такого инструмента :(

Из наколеночных способов: почитать Log.nsf, там вроде что-то оседало (или это в DomLog??)
 
O

Oksana

По NRPC? Гы... Lotus - мультипротокольная среда. Что такое адрес юзера при соединении по NETBIOS? А по SPX? AppleTalk? X.25? Banian? X.PC? А в случае passThru соединения? Какой из адресов 6 промежуточных серверов?
IMHO нет в Notes API такого инструмента :p

Из наколеночных способов: почитать Log.nsf, там вроде что-то оседало (или это в DomLog??)
Вот есть задача billing, она прекрасно формирует документы в базу billing.nsf, в которые как раз и записывает пользователя, время его поключения и с какого ип, он был поключен. Вот как бы получить эту информацию.
Я протоколирую свою базу, в которой хотела бы заносить эту информацию:
Документ такой-то был прочитан(редактирован) таким-то юзером, подключенным с такого-то ип (вот этот ип и не могу ни как получить...). Доступ к базе предполагается только черз клиента лотус (веб доступа не будет), используем только TCPIP
 
M

morpheus

<!--QuoteBegin-Oksana+10:05:2007, 04:09 -->
<span class="vbquote">(Oksana @ 10:05:2007, 04:09 )</span><!--QuoteEBegin-->Доступ к базе предполагается только черз клиента лотус (веб доступа не будет), используем только TCPIP
[snapback]65341" rel="nofollow" target="_blank[/snapback]​
[/quote]
В таком случае могу предложить только разве что библиотеку dll ( писана кадато на делфях ) , работает только с NT win ( тоесть 98 и милениум и ниже отдыхают ) и только с TCP/IP

выкладывать?
 
Мы в соцсетях:

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