Запрет ввода некоторых символов в поле editbox
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Запрет ввода некоторых символов в поле editbox

Запрет ввода некоторых символов в поле editbox

Ответ
Поиск в этой теме
Непрочитано 06.04.2011, 15:52 #1
Запрет ввода некоторых символов в поле editbox
Nitrogenium
 
инженер
 
Санкт-Петербург
Регистрация: 02.03.2010
Сообщений: 69

Как можно запретить ввод некоторых символов в поле диалогового окна, например, эти -
\
;
`
{
}
<пробелы в начале или в конце строки>
По специфике моей программы они вызывают ошибку при дальнейших вычислениях
Просмотров: 3518
 
Непрочитано 06.04.2011, 16:04
#2
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Проверять строку на наличие этих символов, если они в ней содержатся - требовать ввести заново.
Do$ вне форума  
 
Автор темы   Непрочитано 06.04.2011, 16:07
#3
Nitrogenium

инженер
 
Регистрация: 02.03.2010
Санкт-Петербург
Сообщений: 69
<phrase 1=


Цитата:
Проверять строку на наличие этих символов, если они в ней содержатся - требовать ввести заново.
А какой функцией это делать лучше - не подскажете?
Nitrogenium вне форума  
 
Непрочитано 06.04.2011, 16:20
#4
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от Nitrogenium Посмотреть сообщение
А какой функцией это делать лучше - не подскажете?
wcmath
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 07.04.2011, 01:29
#5
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от Nitrogenium Посмотреть сообщение
Как можно запретить ввод некоторых символов в поле диалогового окна, например, эти -
\
;
`
{
}
<пробелы в начале или в конце строки>
По специфике моей программы они вызывают ошибку при дальнейших вычислениях
Типа того
DCL
Код:
[Выделить все]
 boo : dialog{
: edit_box{label= "Enter text:";
key="txt1";
width=20;
}
spacer_0 ;
:row {
ok_cancel;
}
}

LISP
Код:
[Выделить все]
 (defun valid  (strtext chars /)
  (setq chars (vl-string->list chars))
  (if
    (vl-some '(lambda (x) (vl-string-position x strtext)) chars)
     nil
     t
     )
  )


(defun run-dial (/ dcl_ex knock )

(setq dcl_ex (load_dialog "TestTextBox.dcl"));<--change dcl path

(if (null (new_dialog "boo" dcl_ex))(exit));<--change dialog name

(setq chars "\\;`{}")
  
(setq input nil);input - global variable
  
(action_tile "txt1"
  (strcat
    "(if (not (valid (setq input(get_tile \"txt1\")) chars))"
  "(progn (alert \"Wrong characters entered\")"
  "(mode_tile \"txt1\" 2)"
  "(set_tile  \"txt1\" \"\")))"
  )
  )
 
  (action_tile "accept"
  (strcat 
  "(if (not input)"
  "(setq knock nil)"
  "(progn(setq knock T)(done_dialog)))"
  )
    )

  
(action_tile "cancel" "(done_dialog)")

(start_dialog)

(unload_dialog dcl_ex)
 
knock 
)

(defun C:demo(/ );input - global variable
 (setq result (run-dial))
  (alert input)

  (princ)
  )
Олег (jr.) вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Запрет ввода некоторых символов в поле editbox



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12