powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Match и посимвольное сравнение
9 сообщений из 9, страница 1 из 1
Match и посимвольное сравнение
    #37283738
zasranec2la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток =) Вздумалось мне сделать проверки к каждому полю для посимвольной проверки вводимых данных и поместил я в событие itemchanged окна DW следующий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
long count
count = dw_add_only_faculty.GetColumn()
choose case dwo.Name
	case "name_of_faculty"
		if not match(data , "^[A-Za-zА-Яа-я]") then
			MessageBox("Ошибка!" , "Название факультета не может содержать ничего кроме букв!" , StopSign!)
			dw_add_only_faculty.SetColumn(count)
		end if
end choose;
Вся суть проверки заключается в том, чтобы у меня данные могли вводится в виде любых букв (заглавных и прописных), а из знаков - только пробел. Но у меня вышла лишь проверка на проверку данных в начале строки, то есть выдаётся ошибка, если отличный от буквы символ встречается в начале строки. Как поправить, чтобы проверялась вся строка?
...
Рейтинг: 0 / 0
Match и посимвольное сравнение
    #37283742
zasranec2la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Upd1: единственное решение которое я вижу - это проверка на каждый знак, то есть:
Код: plaintext
match(data , "[!@#$%^&*()]")
Но как-то так очень не хочется...
...
Рейтинг: 0 / 0
Match и посимвольное сравнение
    #37283799
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так проверяй в EditChanged, а не в ItemChanged
...
Рейтинг: 0 / 0
Match и посимвольное сравнение
    #37283977
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zasranec2la ,
Вы что совсем-совсем отказываетесь Help читать?
Потрудитесь нажать F1 и посмотреть "Match PowerScript function", где всё подробно описано как строить "регулярные выражения"!
...
Рейтинг: 0 / 0
Match и посимвольное сравнение
    #37283990
zasranec2la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,

представляете, нет такого раздела! Есть Match DataWindow Function. И я его читал. И по хожу прочтения возник вопрос. И я (как оказалось зря) наделся получить тут ответ на вопрос!!!
...
Рейтинг: 0 / 0
Match и посимвольное сравнение
    #37284001
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zasranec2la ,
сомневаюсь, однако. ;)
Вот часть текста из help про функцию "Match":
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Metacharacter	Meaning	Example
* (asterisk)	Indicates zero or more occurrences	A* matches zero or more As (no As, A, AA, AAA, and so on)
+ (plus)	Indicates one or more occurrences	A+ matches one A or more than one A (A, AAA, and so on)
? (question mark)	Indicates zero or one occurrence	A? matches an empty string ("") or A
Sample patterns    
The following table shows various text patterns and sample text that matches each pattern: 

This pattern	Matches
AB	Any string that contains AB; for example, ABA, DEABC, graphAB_one
B*	Any string that contains  0  or more Bs; for example, AC, B, BB, BBB, ABBBC, and so on
AB*C	Any string containing the pattern AC or ABC or ABBC, and so on ( 0  or more Bs)
AB+C	Any string containing the pattern ABC or ABBC or ABBBC, and so on ( 1  or more Bs)
ABB*C	Any string containing the pattern ABC or ABBC or ABBBC, and so on ( 1  B plus  0  or more Bs)
^AB	Any string starting with AB
AB?C	Any string containing the pattern AC or ABC ( 0  or  1  B)
^[ABC]	Any string starting with A, B, or C
[^ABC]	A string containing any characters other than A, B, or C
^[^abc]	A string that begins with any character except a, b, or c
^[^a-z]$	Any single-character string that is not a lowercase letter (^ and $ indicate the beginning and end of the string)
[A-Z]+	Any string with one or more uppercase letters
^[ 0 - 9 ]+$	Any string consisting only of digits
^[ 0 - 9 ][ 0 - 9 ][ 0 - 9 ]$	Any string consisting of exactly three digits
^([ 0 - 9 ][ 0 - 9 ][ 0 - 9 ])$	Any consisting of exactly three digits enclosed in parentheses
Советую поискать в форуме, либо в гугле по ключу "регулярные выражения".
...
Рейтинг: 0 / 0
Match и посимвольное сравнение
    #37284061
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zasranec2la
Код: plaintext
^[A-Za-zА-Яа-я]
Как поправить, чтобы проверялась вся строка?

Код: plaintext
^[A-Za-zА-Яа-я]+$
...
Рейтинг: 0 / 0
Match и посимвольное сравнение
    #37284209
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zasranec2la...в виде любых букв (заглавных и прописных), а из знаков - только пробел...
Anatoly Moskovskyzasranec2la
Код: plaintext
^[A-Za-zА-Яа-я]
Как поправить, чтобы проверялась вся строка?

Код: plaintext
^[A-Za-zА-Яа-я]+$

Так более точно ;)
Код: plaintext
^[A-Za-z А-Яа-я]+$
...
Рейтинг: 0 / 0
Match и посимвольное сравнение
    #37284268
zasranec2la
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly Moskovsky, AIS, спасибо =)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Match и посимвольное сравнение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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