Hi Andy,

What can I query to get the iteration number of this loop?


There is no syntax to retrieve the iteration number in a repeat for each loop; so one must initialize and increment a counter variable:

put 0 into lineCount
repeat for each line gameLine in fld "gamelist"
        add 1 to lineCount
        if errorFound(gameLine) then
                answer "Error found!"
                select line lineCount of field "gameList"
                exit to top
        end if
end repeat

Perhaps I'd be better off using a different repeat construct?

If speed is important, you will not obtain anywhere near the performance with


repeat with x = 1 to the number of lines of field "gamelist"
        put line x of field "gamelist" into gameLine
        if errorFound(gameLine) then
                answer "Error found!"
                select line x of field "gameList"
                exit to top
        end if
end repeat

or even

get field "gamelist"
repeat with x = 1 to the number of lines of it
        put line x of it into gameLine
        if errorFound(gameLine) then
                answer "Error found!"
                select line x of field "gameList"
                exit to top
        end if
end repeat

Repeat for each can easily be an order of magnitude faster than repeat with...the larger the field, the greater the relative efficiency.
--


Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.com/who.htm

"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."

from "The Triple Foole" by John Donne (1572-1631)
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to