Parece que una prueba rápida de 30 segundos respondería más rápido que una publicación aquí. :)
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
i, j: Integer;
begin
j := 0;
i := 0;
while i < 10 do
begin
Inc(i);
if Odd(i) then
Continue;
Inc(j);
WriteLn(Format('i = %d, j = %d', [i, j]));
end;
ReadLn;
end.
Tenga en cuenta que i
se incrementa antes de la llamada a Continue
, lo que resulta en j
visualización de números impares, i mostrando even
? j
solo se incrementa cuando el ciclo pasa la prueba Continue
.
A while
funciona de la misma manera si está incrementando un entero, concatenando una cadena o leyendo desde un archivo de texto. Un while
es un while
es un while
sin importar cómo lo use. Solo debe asegurarse, en su código anterior, de que DoSomething
realmente lea la siguiente línea del archivo o terminará en un bucle continuo.
A veces me parece que hace que el código sea más claro si puede omitir continuar. En su caso: If (AcctTag <> '') And (MasterId <> '') Then DoSomething; – johnny
@johnny, totalmente de acuerdo, continue es como un goto, úselo con extremo cuidado o enfréntese a la ira del monstruo del código spaghetti. – Johan