2017-03-06 3 views
-1

아래 예제를 사용하여 편집 컨트롤에 숫자 만 포함되어 있는지 확인합니다.비주얼 프롤로그 : 편집 컨트롤 : 문자열에 숫자가 포함되어 있는지 확인하십시오.

class predicates 
    validateNumber : control::validateResponder. 
clauses 
    validateNumber(Control) = control::contentsOk :- 
     hasDomain(integer, _X), 
     _X = trytoTerm(Control:getText()), 
     !. 
    validateNumber(Control) = control::contentsInvalid(Control, Control, 
      string::format("%s must be an integer!", Control:getLabel())). 

문자열에 영문자 만 포함되어 있고 숫자가 포함되어 있으면 사용자에게 메시지가 유효한지 확인하는 예가 있습니까?

답변

0

아래 코드는 알파벳 만 허용하는 유효성 검사를 추가합니다. Replaceall은 공백으로 허용합니다. 토론에 대한 답변을 제공 한 Gukalov에게 감사드립니다. 비주얼 프롤로그. com

class predicates 
    allowonlyalphabets : control::validateResponder. 
clauses 
    allowonlyalphabets(Control) = 
    if string::hasAlpha(string::replaceAll(Control:getText(), " ", "")) then 
     control::contentsOk 
    else 
     control::contentsInvalid(Control, Control, 
      string::format("%s must not contain numbers!", Control:getLabel())) 
    end if.