Fórum Corrijam meu loop #262802

20/12/2004

0

Quando caio no primeiro NEXT, quero que ele volte para a linha while
e não prossiga para a linha Env.

Como corrigir?



DadosQ.First;
while not DadosQ.Eof do
begin
if ModifyCB.Checked then
begin
if DadosQ.FieldByName(´DAD_MUDOU´).AsString = ´N´ then
DadosQ.Next;
end;
Env := DadosQ.FieldByName(´DAD_COD´).AsInteger;
Texto := DadosFunction(Str2Int(DadosQ.FieldByName(´DAD_COD´).AsString));
NMHTTP1.Get(EndHttpEd.Text+Texto);
DadosQ.Next;


Wgm8

Wgm8

Responder

Posts

20/12/2004

Marcelo Saviski

Tente com o Continue:

DadosQ.First; 
while not DadosQ.Eof do 
begin 
  if ModifyCB.Checked then 
  begin 
    if DadosQ.FieldByName(´DAD_MUDOU´).AsString = ´N´ then 
    begin  
      DadosQ.Next; 
      Continue;  <<< Tente isso aqui
    end;
  end;
  Env := DadosQ.FieldByName(´DAD_COD´).AsInteger; 
  Texto := DadosFunction(Str2Int(DadosQ.FieldByName(´DAD_COD´).AsString)); 
  NMHTTP1.Get(EndHttpEd.Text+Texto); 
  DadosQ.Next;
(...)


É isso?


Responder

Gostei + 0

20/12/2004

Fknyght

DadosQ.First; 
  while not DadosQ.Eof do 
    begin 
        if ( ( ModifyCB.Checked ) and ( DadosQ.FieldByName(´DAD_MUDOU´).AsString = ´N´  ) ) then 
              DadosQ.Next
        else 
          begin
            Env := DadosQ.FieldByName(´DAD_COD´).AsInteger; 
            Texto := DadosFunction(Str2Int(DadosQ.FieldByName(´DAD_COD´).AsString)); 
            NMHTTP1.Get(EndHttpEd.Text+Texto); 
            DadosQ.Next
         end;
      end;



Responder

Gostei + 0

20/12/2004

Marbravo

Primeiro vc deve tomar uma postura na hora de escrever o codigo para quando for ler não ser tão dificil. Procure dar dois escpaços antes que qualquer nova pergunta que esteja dentro de outra. + OU - Assim:

DadosQ.First; 
while not DadosQ.Eof do 
  begin 
    if ModifyCB.Checked then 
      begin 
        if DadosQ.FieldByName(´DAD_MUDOU´).AsString = ´N´ then 
        DadosQ.Next; 
      end
    else
      begin 
        Env := DadosQ.FieldByName(´DAD_COD´).AsInteger; 
        Texto := DadosFunction(Str2Int(DadosQ.FieldByName(´DAD_COD´).AsString)); 
        NMHTTP1.Get(EndHttpEd.Text+Texto); 
        DadosQ.Next;
      end;
  end;


[color=green:2e7ffbb0e7][i:2e7ffbb0e7]Editado Saviski - ativado BBCode[/i:2e7ffbb0e7][/color:2e7ffbb0e7]


Responder

Gostei + 0

20/12/2004

Emerson Nascimento

DadosQ.First;
while not DadosQ.Eof do
begin
    if not ModifyCB.Checked or (DadosQ.FieldByName(´DAD_MUDOU´).AsString ´N´) then
    begin
        Env := DadosQ.FieldByName(´DAD_COD´).AsInteger;
        Texto := DadosFunction(Str2Int(DadosQ.FieldByName(´DAD_COD´).AsString));
        NMHTTP1.Get(EndHttpEd.Text+Texto);
    end;
    DadosQ.Next;
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar