powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Кто нибудь знает как? ...
16 сообщений из 16, страница 1 из 1
Кто нибудь знает как? ...
    #33058575
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу поставить валидацию на едит колонки, вот эти "знаки зодиака" /\|*:<>?, нельзя вводить.

Попробовал:
if match(data, '?') or match(data, '|') then
return
end if... не фурычит....

Спасибо.

Туды её в качель...
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058661
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronkХочу поставить валидацию на едит колонки, вот эти "знаки зодиака" /\|*:<>?, нельзя вводить.

Попробовал:
if match(data, '?') or match(data, '|') then
return
end if... не фурычит....

Ты это где пишешь - в datawindow paintere?
Какая там к чёрту может быть data ?
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058662
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
if not match(your_string,'^[^/\\|\*:<>\?]+$') then <нам не подходит>

т.е. знак caret(^) после квадратной скобки означает что последующие символы НЕ должны встречаться.
А чтобы '\' '*' и '?' воспринимались буквально надо проставить обратный слэш '\' перед каждым из них.

не проверял ;-)
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058666
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробую расшифровать
^ - начало строки
[^ - сейчас пойдет определение группы, т.е. будем перечислять чего в строке НЕ должно быть.
/ - прямой слэш
\\ - обратный слэш
| - ну это понятно
\* - звездочка
: - ну это понятно
< - ну это понятно
> - ну это понятно
\? - знак вопроса
] - группа кончилась
+ и вот этого (в квадратных скобках описанного) один символ или больше
$ - конец строки
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058671
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп, хорош шуметь.
Ясен пень он это в itemchanged пишет, где у нас еще data есть?
В editchanged это делать глупо, а в itemerror - поздно.
Я в datawindow painter вот тоже не пишу validation expression.
И что?

И что это за манера общения "какая к черту", "бред" и т.п.?
Добъешся того что новички будут стесняться вопросы задавать.
Добрее надо быть, мягше.
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058701
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрей Добъешся того что новички будут стесняться вопросы задавать. Добрее надо быть, мягше.
Да ладно Андерй, а сам то добрый-добрый :)
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058722
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейФилипп, хорош шуметь.
Ясен пень он это в itemchanged пишет, где у нас еще data есть?
В editchanged это делать глупо, а в itemerror - поздно.
Я в datawindow painter вот тоже не пишу validation expression.
И что?

И что это за манера общения "какая к черту", "бред" и т.п.?
Добъешся того что новички будут стесняться вопросы задавать.
Добрее надо быть, мягше.
Это кому ясень пень?
Вот эта наскальная надпись (даже если б была верна с точки зрения функции match ), в каком событии возымела бы какой то эффект?
Код: plaintext
if match(data, '?') or match(data, '|') then return
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058729
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей, спасибо, но
IF match(data,'^[^/\\|\*:<>\?]+$') THEN
RETURN 1
не работает в itemchanged, a
NOT match(data,'^[^/\\|\*:<>\?]+$')
не работает в валидации окна.

Хммм...
Вообщем пока написал:
IF Pos(data, '/') > 0 THEN
s_error_string = '/'
ELSEIF Pos(data, '\') > 0 THEN
s_error_string = '/'
........
END IF

IF NOT IsNull(s_error_string) THEN
s_error_string = "'" + 'File name can not contain any of the following "/\|*:<>?"' + "'"
This.Modify(i_s_itemchanged_col_name + '.ValidationMsg = ' + s_error_string)
RETURN 1
END IF

>>>>>>>>>>>>>>>>>>>>>

модератор: хорош резвиться, мы здесь не в поле (C) моя тетя
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058763
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппВот эта наскальная надпись (даже если б была верна с точки зрения функции match ), в каком событии возымела бы какой то эффект?
Код: plaintext
if match(data, '?') or match(data, '|') then return
В Itemchanged это эквивалентно:
Код: plaintext
if .... then return  0 
Таким образом, эффект заключается в принятии введенного значения при выполнении условия.

Другое дело, что требовалось совсем другое :))
Примерно так:
Код: plaintext
1.
If Match(data, "[/\\|*:<>?]") Then Return  1 
Return  0 
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058770
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ладно Андерй, а сам то добрый-добрый :)Ну значит смайликов мало поставил.
Исправляюсь ->
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058773
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
Примерно так:
Код: plaintext
1.
If Match(data, "[/\\|*:<>?]") Then Return  1 
Return  0 
Ну моя то идея в итоге правильная изначально.
У тебя выражение чуть проще. А так - в любом случае кроме пустой строки там где у тебя true - у меня false.
Что интересно - на пустую строку оба говорят false. А на кучку пробелов у меня true, а у тебя false.
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058775
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппЭто кому ясень пень?
Вот эта наскальная надпись (даже если б была верна с точки зрения функции match), в каком событии возымела бы какой то эффект?Вот после этих риторических вопросов следует сказать "Спасибо! Ты нам очень помог!" с максимально возможным количеством сарказма на лице.
Эх. Жаль на форуме это не изобразить
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058776
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyТаким образом, эффект заключается в принятии введенного значения при выполнении условия.
Другое дело, что требовалось совсем другое :))


Дык
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33058778
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ко всему прочему, мысль выраженная вот так:
voronkХочу поставить валидацию на едит колонки
У меня лично однозначно вызвала ассоциацию с datawindow painterом...
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33059207
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗоринАндрейДобъешся того что новички будут стесняться вопросы задавать.
Так это же замечательно!!!
...
Рейтинг: 0 / 0
Кто нибудь знает как? ...
    #33060478
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий спасибо, If Match(data, "[/\\|*:<>?]") работает.
Спасибо так же всем кто поучаствовал, вопрос закрыт.


Туды её в качель...
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Кто нибудь знает как? ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]