On 31/05/2012 12:20, Gerhard.Marent{([at]})nowhere.xy
> Hello Robert,
>
> your solution is better than mine.
>
> Thanks Gerhard
>
Well, I've altered the Notify logic to be more similar to the existing Oms logic
for SETs, which is why it is more compatible with CheckBoxes.
Your documentation implies that you used a different logic (ie using
Dialog.changed rather than Dialog.included / Dialog.excluded) DELIBERATELY. If
your applications benefit from this different logic then, for them, your
solution is better.
As well as changing the Notify logic I simplified the main Control logic to
avoid using unnecessary loops.
I now realise that there is a much better simplification possible (see the
attached). I had never realised that general SET constructors could be used with
non CONSTANT expressions!
This is all rather trivial detail. The main point is that your Control is just
what I wanted for my application - thanks.
Robert
PS - If you are looking for a completely inappropriate extreme optimisation you
can start the last loop with 'k' set to the first element in the SET, rather
than with k = 0, by using 1 assembler instruction:
PROCEDURE [code] BitScanForward (set : SET) : INTEGER
0FH, 0BCH, 0C0H; (* bsf eax -> eax *)
k := BitScanForward (b)
!!!
----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
Received on Fri Jun 01 2012 - 23:15:19 UTC