Preciso de Ajuda pra destravar um looping

Delphi

19/04/2004

Boa tarde,


Pessoal to com uma duvida .... quando um pego dados de um selação de um combobox e transfiro para um listbox isso, mas quando tento fazer uma nova seleção a ação fica travada no loopingo do botão Abaixo o codigo
[b:99f57f5262]{************************************************************
****************** Verificando os Municipios Inscritos em ***
*********************** Basquete Feminino Livre *************
*************************************************************}
FrmSorteio.label18.Caption:=FrmCongresso.SelMod.Text;
if Selmod.ItemIndex=2 then
begin
DmBanco.TbConfirmacao.Open;
DmBanco.TBConfirmacao.First;
while not DmBanco.TBConfirmacao.Eof do
begin
if (dmbanco.TBConfirmacao.FieldByName(´BFL´).AsString=´Ok´) or (dmbanco.TBConfirmacao.FieldByName(´BFL´).AsString=´OK´) then
Begin
municipio:=DmBanco.TbConfirmacao.Fieldbyname(´Municipio´).asstring;
FrmSorteio.listbox1.Items.Add(municipio);
DmBanco.TbConfirmacao.Next;
municipio:=´´;
end;
end;
end;

{************************************************************
****************** Verificando os Municipios Inscritos em ***
*********************** Basquete Feminino até 21 Anos *******
*************************************************************}
FrmSorteio.label18.Caption:=FrmCongresso.SelMod.Text;
if Selmod.ItemIndex=3 then
begin
DmBanco.TbConfirmacao.Open;
DmBanco.TBConfirmacao.First;
while not DmBanco.TBConfirmacao.Eof do
begin
if (dmbanco.TBConfirmacao.FieldByName(´BF21´).AsString=´Ok´) or (dmbanco.TBConfirmacao.FieldByName(´BFL´).AsString=´OK´) then
Begin
municipio:=DmBanco.TbConfirmacao.Fieldbyname(´Municipio´).asstring;
FrmSorteio.listbox1.Items.Add(municipio);
DmBanco.TbConfirmacao.Next;
municipio:=´´;
end;
end;
end;[/b:99f57f5262]

Preciso da um Break na tabela para ela refazer o processo de looping e capturar novos dados para o listbox..

Att
Wagner


Wagnermarrane

Wagnermarrane

Curtidas 0

Respostas

Glecio

Glecio

19/04/2004

Beleza!

Cara vc tem q colocar a linha ´DmBanco.TbConfirmacao.Next;´ fora da condição IF que está dentro do WHILE, porque se condição IF nunca for satisfeita o loop nunca vai terminar, já que só passará pelo ´NEXT´ se a mesma for .T.

Fui...


GOSTEI 0
Glecio

Glecio

19/04/2004

Ah!

Ficaria Assim:

FrmSorteio.label18.Caption:=FrmCongresso.SelMod.Text;
if Selmod.ItemIndex=2 then begin
DmBanco.TbConfirmacao.Open;
DmBanco.TBConfirmacao.First;
while not DmBanco.TBConfirmacao.Eof do begin
if (dmbanco.TBConfirmacao.FieldByName(´BFL´).AsString=´Ok´) or (dmbanco.TBConfirmacao.FieldByName(´BFL´).AsString=´OK´) then Begin
municipio:=DmBanco.TbConfirmacao.Fieldbyname(´Municipio´).asstring;
FrmSorteio.listbox1.Items.Add(municipio);
municipio:=´´;
end;
DmBanco.TbConfirmacao.Next;
end;
end;

{************************************************************
****************** Verificando os Municipios Inscritos em ***
*********************** Basquete Feminino até 21 Anos *******
*************************************************************}
FrmSorteio.label18.Caption:=FrmCongresso.SelMod.Text;
if Selmod.ItemIndex=3 then begin
DmBanco.TbConfirmacao.Open;
DmBanco.TBConfirmacao.First;
while not DmBanco.TBConfirmacao.Eof do begin
if (dmbanco.TBConfirmacao.FieldByName(´BF21´).AsString=´Ok´) or (dmbanco.TBConfirmacao.FieldByName(´BFL´).AsString=´OK´) then Begin
municipio:=DmBanco.TbConfirmacao.Fieldbyname(´Municipio´).asstring;
FrmSorteio.listbox1.Items.Add(municipio);
municipio:=´´;
end;
DmBanco.TbConfirmacao.Next;
end;
end;

Fui...


GOSTEI 0
POSTAR