Paradox Community

Items in pnews.paradox-programming

Subject:Re: Move to to Library
Date:Sat, 8 Dec 2018 06:26:42 -0500
From:"Kevin Baker" <shcsbaker@gmail.com>
Newsgroups:pnews.paradox-programming
Thanks Kevin, The Return and Tab are used to move to the next field

Thanks again,
Kevin

"Kevin Zawicki"  wrote in message 
news:5c0b516e$1@pnews.thedbcommunity.com...


Something like this

var
a array[] string
endvar

x = "z"

a.addLast("0")
a.addLast("1")
a.addLast("2")
a.addLast("3")
a.addLast("4")
a.addLast("5")
a.addLast("6")
a.addLast("7")
a.addLast("8")
a.addLast("9")
a.addLast("VK_RETURN")
a.addLast("VK_TAB")
a.addLast("(")
a.addLast(")")

return a.contains(x)


many variations
could also do a string and do a match for the characters
not sure why trapping for VK_RETURN or VK_TAB.




"Kevin Baker" <shcsbaker@gmail.com> wrote:
>Kevin -
>Works Great!  I'm curious about how to put these into an array.  I'm always

>looking to streamline any code I can.
>
>Thanks
>Kevin
>
>"Kevin Zawicki"  wrote in message
>news:5c02bee7$1@pnews.thedbcommunity.com...
>
>
>You cannot disable default in a library at that point the library is the

>scope.
>
>You need to return a logical and act on that back in the form.
>
>Something like this:
>
>method keyChar(var eventInfo KeyEvent)
>
>if lib.ckPhone(eventInfo.char()) = false then
>  disabledefault
>endif
>
>
>endMethod
>
>=====================================================
>
>And this is the code in the library
>=====================================================
>method ckPhone(x string) logical
>var
>  l logical
>endvar
>
>l = true
>
>switch
>   case x >="0" and x <="9"    :
>   case x = "-" or x = " "         :
>   case x = "(" or x = ")"        :
>   case x = "VK_RETURN"            :
>   case x = "VK_TAB"                :
>   otherwise                        : l = false
>endSwitch
>
>return l
>
>I would also put these keys to trap in an array and test the array.
>
>You can streamline this code quit a bit.
>
>
>
>------------------------
>
>
>"Kevin Baker" <shcsbaker@gmail.com> wrote:
>>Hi Everyone,
>>
>>In a phone field I have the following code:
>>
>>=====================================================
>>method keyChar(var eventInfo KeyEvent)
>>
>>var
>>   curChar string
>>endvar
>>
>>curChar = eventInfo.char()
>>
>>switch
>>   case curChar >="0" and curChar <="9"      :
>>   case curChar = "-" or curChar = " "             :
>>   case curChar = "(" or curChar = ")"         :
>>   case curChar = "VK_RETURN"                 :
>>   case curChar = "VK_TAB"                        :
>>   otherwise                                                :
>> disableDefault
>
>>return
>>endSwitch
>>endMethod
>>=====================================================
>>
>>This works PERFECT, however, I'd like to move this code to a existing
>>library (and a library I already open on init or the form).  Here's the
>
>>updated code on the form:
>>
>>=====================================================
>>method keyChar(var eventInfo KeyEvent)
>>
>>lib.ckPhone(eventInfo.char())
>>endMethod
>>=====================================================
>>
>>And this is the code in the library
>>=====================================================
>>method ckPhone(x string)
>>
>>switch
>>   case x >="0" and x <="9"    :
>>   case x = "-" or x = " "         :
>>   case x = "(" or x = ")"        :
>>   case x = "VK_RETURN"            :
>>   case x = "VK_TAB"                :
>>   otherwise                        : disableDefault return
>>endSwitch
>>=====================================================
>>
>>I'm getting a error on the disableDefault (message in status bar reads:
>
>>Error: Cannot use EVENT statement in this context)
>>
>>Any ideals of how to work around this?  In a nutshell, when the code is
>on
>>the field if the user presses any key not listed, nothing happens, no
>>beeps,
>
>>no error messages, which is what I need.  I'm just trying to move this
code
>
>>into a library so I can reuse on other forms.
>>
>>Thanks,
>>Kevin
>>
> 


Copyright © 2004 thedbcommunity.com