Have you seen anything like this before?

Code:
  for i:=0 to (Map_width * map_height) do
  begin
        if (i mod Map_Height)=0 then y:=y+1;
 
     x:=i mod Map_width;

     // do_something_with_xy

    i:=i+1;
  end;
Is it faster than looping through X,Y?
One less loop to go?

Should i also use it to speed things up?
I haven't measured the which is faster.