Block( If(DCL.GetToWin(), Block( Let(@BreakFlag,0), While(BreakFlag=0, If(DCL.GetBreak(), Block( Let(@Page,DCL.GetPage()+1), Let(@BreakFlag,1) ), ProcessMessages() ) ) ), Block( Let(@Page,Page+1), Let(@BufInt,Pos(','+(Page-1)+',',PagesStr)), While(BufInt=0, Block( If(Page>Pages, Block( Let(@Page,0), Let(@BufInt,1) ), Block( Let(@Page,Page+1), Let(@BufInt,Pos(','+(Page-1)+',',PagesStr)) ) ) ) ) ) ) )