Paradox Community

Items in pnews.paradox-programming

Subject:Re: Move to to Library
Date:Sat, 1 Dec 2018 12:58:00 -0500
From:"Kevin Baker" <shcsbaker@gmail.com>
Newsgroups:pnews.paradox-programming
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