Вверх ↑
Этот топик читают: Гость
Ответов: 590
Рейтинг: 19
#1: 2008-11-09 14:59:40 ЛС | профиль | цитата
Как можно в Edit запретить символы
карма: 0

1
Голосовали:flud
Ответов: 8928
Рейтинг: 823
#2: 2008-11-09 16:13:25 ЛС | профиль | цитата
EcsTasY, code_10610.txt
карма: 19

1
файлы: 1code_10610.txt [709B] [235]
Голосовали:EcsTasY
Ответов: 590
Рейтинг: 19
#3: 2008-11-09 16:20:09 ЛС | профиль | цитата
я думаю, чо это ты улыбаешся
карма: 0

0
Ответов: 1161
Рейтинг: 160
#4: 2008-11-09 16:21:22 ЛС | профиль | цитата
Леонид,
Вот можно еще так с неограниченным числом "уйхов"
code_10611.txt
карма: 0

1
файлы: 1code_10611.txt [542B] [180]
Голосовали:EcsTasY
Ответов: 590
Рейтинг: 19
#5: 2008-11-09 16:55:50 ЛС | профиль | цитата
красава))) пасибо
карма: 0

0
Ответов: 171
Рейтинг: 19
#6: 2008-11-11 14:06:03 ЛС | профиль | цитата
а как с помощью маски задать диапозон разрешенных символов например A-Z 0-9 ?
Почему бы не добавить такой тип ввода в свойства Edit ?
карма: 0

0
Ответов: 1161
Рейтинг: 160
#7: 2008-11-11 14:18:00 ЛС | профиль | цитата
Borka,
Borka писал(а):
A-Z 0-9 ?

- это уже не маска, а регулярное выражение...
карма: 0

0
Ответов: 171
Рейтинг: 19
#8: 2008-11-11 14:27:52 ЛС | профиль | цитата
а можно примерчик
карма: 0

0
Ответов: 1161
Рейтинг: 160
#9: 2008-11-11 14:33:25 ЛС | профиль | цитата
тут примерчиком не смогу помочь - в стандартной версии Hiasm такого компонента, как "Регулярные выражения" нет...
------------ Дoбавленo:

тута посмотри http://www.hiasm.com/forum.html?q=3&t=32440
карма: 0

0
Ответов: 8928
Рейтинг: 823
#10: 2008-11-11 16:43:06 ЛС | профиль | цитата
Borka, коды символов 0-9 (48-57), A-Z (65-90); четыре элемента If и вся задача
карма: 19

0
Ответов: 1161
Рейтинг: 160
#11: 2008-11-11 17:34:09 ЛС | профиль | цитата
вот мне делать нечего было, и решил я этот мультик сделать
посмотри, может пригодится, описание там есть
code_10639.txt
карма: 0

1
файлы: 1code_10639.txt [5.7KB] [171]
Голосовали:Borka
Ответов: 1328
Рейтинг: 69
#12: 2008-11-11 18:28:36 ЛС | профиль | цитата
Borka, а символами 0-9 и A-F все совсем просто
code_10640.txt
карма: 2

1
файлы: 1code_10640.txt [401B] [231]
Голосовали:Borka
Ответов: 171
Рейтинг: 19
#13: 2008-11-13 02:23:32 ЛС | профиль | цитата
Konst писал(а):
а символами 0-9 и A-F все совсем просто

ха все главное понажимал а hexnumber упустил почемуто))
А это от sql инекций уберечь сможет? в шеснадцатиричном виде их не подсунут
------------ Дoбавленo:

тьфу невнимательный я A-F только))) Ушел дальше схемку LainXa разбирать
------------ Дoбавленo:

Че такое непойму!?
Вот такая схемка

#sha
Add(MainForm,2953706,21,105)
{
Width=347
Height=262
}
Add(Edit,3193568,132,175)
{
Left=11
Top=20
Width=280
Text=""
Point(doPosition)
Point(onChar)
link(onChange,5858116:doReset,[(383,181)(383,377)])
link(onChar,10282256:doText,[])
}
Add(Edit,10282256,181,189)
{
Left=10
Top=50
Width=285
Visible=1
link(onChange,7183692:doPush,[(236,195)(236,251)])
}
Add(Stack,7183692,244,245)
{
link(onPop,4029524:doEnum,[(442,258)(442,265)])
link(Data,10282256:Text,[(250,233)(187,233)])
}
Add(Button,13941685,14,336)
{
Left=5
Top=90
link(onClick,6063122:doEvent1,[])
}
Add(ArrayEnum,4029524,455,259)
{
onBreakEnable=0
link(onItem,13825639:doCompare,[(513,265)(513,363)])
link(onEndEnum,120709:doWork1,[(653,272)(653,286)])
link(Array,5242071:Array,[(461,236)(460,236)])
}
Add(StrList,5242071,440,161)
{
Strings=#1:q|3:w |2:e |4:r |2:t |1:y|1:u|1:i|1:o|1:p|1:a|1:s|1:d|1:f|1:g|1:h|1:j|1:k|1:l|1:z|1:x|1:c|1:v|1:b|1:n|1:m|1:й|1:ц|1:у|1:к|1:е|1:н|1:г|1:ш|1:щ|1:з|1:х|1:ъ|1:ф|1:ы|1:в|1:а|1:п|1:р|1:о|1:л|1:д|1:ж|1:э|1:я|1:ч|1:с|1:м|1:и|1:т|1:ь|1:б|1:ю|1:ё|
Point(doGetString)
Point(onGetString)
Point(String)
Point(Index)
Point(IdxToSelect)
}
Add(If_else,13825639,539,357)
{
link(onTrue,5858116:doNext,[])
link(Op1,7183692:Value,[(545,317)(250,317)])
link(Op2,4029524:Item,[(552,324)(461,324)])
}
Add(Counter,5858116,602,357)
{
}
Add(HubEx,120709,203,273)
{
Angle=3
link(onEvent,7183692:doPop,[(207,258)])
}
Add(Length,12115342,133,434)
{
link(Str,3193568:Text,[(139,320)(138,320)])
}
Add(Hub,6063122,70,336)
{
OutCount=3
link(onEvent1,120709:doWork3,[(207,342)])
link(onEvent2,12115342:doLength,[(118,349)(118,440)])
link(onEvent3,13418054:doCompare,[(219,356)(219,531)])
}
Add(If_else,13418054,336,525)
{
link(onTrue,13119084:doMessage,[(404,531)(404,517)])
link(onFalse,11983450:doMessage,[(398,538)(398,566)])
link(Op1,12115342:Result,[(342,495)(139,495)])
link(Op2,5858116:Count,[(349,457)(608,457)])
}
Add(Message,11983450,427,560)
{
Message="поле содержит недопустимые символы!"
}
Add(Message,13119084,427,511)
{
Message="все нормально"
}


Введенный текст проверяеться на допустимые символы,которые содержаться в масиве, в данной схеме разрешены только прописные буква, наши и ненаши.
Вобщем странно както латынь обрабатывает, например два слова maxim и denis оба по идее валидны, но denis не проходит, и вообще все слова с буквой e и нетолько
С кирилицей вроде нормально все пока.
карма: 0

0
Ответов: 1328
Рейтинг: 69
#14: 2008-11-13 11:25:37 ЛС | профиль | цитата
Borka, у тебя именно "е" не проходит, добавь в список вторую все ок, почему пока не понял
------------ Дoбавленo:

и "w" не проходит
------------ Дoбавленo:

Похоже проблема в том, что у тебя после некоторых символов стоят пробелы, скопируй в блокнот и проверь
------------ Дoбавленo:

Borka, что то ты замутил не сусветное может так проще?


Add(Edit,3193568,308,70)
{
Left=11
Top=20
Width=280
Text=""
Point(doPosition)
Point(onChar)
link(onChange,10885940:doEvent1,[(356,76)(356,172)])
}
Add(Message,11983450,686,238)
{
Message="поле содержит недопустимые символы!"
}
Add(For,9492662,399,231)
{
IncludeEnd=1
link(onEvent,6457832:doRead,[])
link(End,12555173:Count,[(412,218)(468,218)])
}
Add(ArrayRW,6457832,448,231)
{
link(onRead,7996792:doSearch,[])
link(Array,12555173:Array,[])
}
Add(CharArray,12555173,448,152)
{
Point(Count)
link(String,3193568:Text,[(454,127)(314,127)])
}
Add(Hub,10885940,371,166)
{
OutCount=3
link(onEvent1,12555173:doClear,[])
link(onEvent2,12555173:doLoad,[(425,179)(425,158)])
link(onEvent3,9492662:doFor,[(415,186)(415,212)(387,212)(387,237)])
}
Add(Position,7996792,511,231)
{
ZeroPos=0
ShortSearch=1
link(onSearch,13051034:doCase,[])
link(Str,4458050:Value,[])
}
Add(Memory,4458050,511,161)
{
Default=String(qwertyuiopasdfghjklzxcvbnmйцукенгшщзхъфывапролджэячсмитьбюё)
}
Add(Case,13051034,588,231)
{
Value=String(0)
link(onTrue,11983450:doMessage,[])
}

карма: 2

0
Ответов: 171
Рейтинг: 19
#15: 2008-11-13 13:52:17 ЛС | профиль | цитата
Konst писал(а):
Похоже проблема в том, что у тебя после некоторых символов стоят пробелы, скопируй в блокнот и проверь

Действительно, даже в блокнот копировать ненадо, код если посмотреть видно где пробелы

Add(StrList,5242071,440,161)
{
Strings=#1:q|3:w |2:e |4:r |2:t |1:y|1:u|1:i|1:o|1:p|1:a|1:s|1:d|1:f|1:g|1:h|1:j|1:k|1:l|1:z|1:x|1:c|1:v|1:b|1:n|1:m|1:й|1:ц|1:у|1:к|1:е|1:н|1:г|1:ш|1:щ|1:з|1:х|1:ъ|1:ф|1:ы|1:в|1:а|1:п|1:р|1:о|1:л|1:д|1:ж|1:э|1:я|1:ч|1:с|1:м|1:и|1:т|1:ь|1:б|1:ю|1:ё|
Point(doGetString)
Point(onGetString)
Point(String)
Point(Index)
Point(IdxToSelect)
}
Исправил, теперь работает.

Konst писал(а):
что то ты замутил не сусветное может так проще?

может и проще , хотя ненамного 10 компонентов против 13
карма: 0

0
файлы: 1code_10654.txt [393B] [191]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)