Re: changevalue and newvalue



You're right - if you declare the flag at the form level, it keeps it's value as long as the form is open. I tend to put one-shots near the code where they're used so they're obvious.

Still, if declared at the form level, you need to be sure to give it a value before trying to read it. I'd probably set it to false in the form's init() event.

Jim Hargan wrote:
IOW, declare the logical flag variable in the var method of the form (or
some other object in the containership hierarchy between the field and the
form).

And (just a suggestion here) call it var
gloFlag logical
endvar
with "glo" meaning "global logical". Now you (or your successor) will
always know its data type and where it's been declared!

I like this solution, and have used it a number of times -- but I now
consider it a fudge, and instead look for the cause of the event firing
when I don't want it to. When I have time, that is.

--
Jim Hargan

On Sun, 08 Jun 2008 09:36:02 -0400, Jeff Shoaf wrote:

I've always called this type of construct a "one-shot" - maybe due to my electronics background.

Note that the var declaration needs to be placed above the event declaration or it will be cleared each time the event runs. Also note that you need to check to see if it's been assigned a value before checking the value or you'll get an unassigned variable error.

var
flag logical
endVar

ChangeValue() ; This is the first line of code that's automatically
; created by Paradox - I can't remember the full line

if not flag.isAssigned() then
flag = false
endIf

if not flag then
flag = true
; your code
flag = false
endIf


Bill McCray wrote:
If you are concerned about changes leading to back and forth
triggering, define a Logical variable in the Var section for each
field. Let's call it "Flag". Use Flag to avoid repeating an
operation.

If Not Flag Then
Flag = True
; Put your changes here
Flag = False
EndIf
.



Relevant Pages

  • Re: changevalue and newvalue
    ... declare the logical flag variable in the var method of the form (or ... Note that the var declaration needs to be placed above the event ...
    (comp.databases.paradox)
  • Re: SIMPLE question [Was: Re: TIP #193: Simple Syntax Help System
    ... the "cmdline" package (command line arguments); ... For each boolean flag in the argument list, ... An argument declaration can specify this field if and only if its ... The system builds the command line options usage string. ...
    (comp.lang.tcl)
  • Re: Passing structures` flags to WinAPI32 functions from VB(VBA)
    ... There ARE Madams that read the newsgroups too. ... > In it I should declare each flag as numeric constant with hexanumeric ... > How can I get numeric value to flag BIF_EDITBOX or other flags? ... That declaration is incorrect. ...
    (microsoft.public.vb.winapi)
  • Re: Best way to implement default parameters
    ... that would change both the way the declaration ... If you deal with pointer there is no problem, ... An extra flag is IMO inconsistent with typing, ... It might work for a single parameter but overloading doesn't scale. ...
    (comp.lang.misc)
  • Re: changevalue and newvalue
    ... I forgot to mention initializing it in Init. ... Note that the var declaration needs to be placed above the event ... flag logical ...
    (comp.databases.paradox)