On 31/05/2012 12:20, Gerhard.Marent@VKW.AT wrote:
> 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@LISTS.OBERON.CH