>>What is the limit of CASE in a DO CASE ?
>
>I don't think there is one.
>
>But for practical reasons, please consider the following example:
>
>
>do case
>case x = 1
> ...
>case x = 2
> ...
>case x = 3
> ...
>...
>case x = 500
> ...
>endcase
>
>
>If "x" happens to be equal to 500, Visual FoxPro must analize all 500 cases, before carrying out the desired action. If this happens often, i.e., in a tight loop, performance will be bad. It might be much more efficient to split it, for example, as follows:
>
>
>do case
>case x <= 100
> do case
> case x <= 10
> case x = 1
> ...
> case x = 2
> ...
> case x <= 20
> case x = 11
> ...
> case x = 12
> ...
>case x <= 200
>...
>
>
>Or something similar. Much less CASEs to be analyzed, for any given number.
Good idea Hilmar. I was taught to place the CASE statements most likely to occur first. That is sometimes easy and worthwhile and at othertimes... :)