Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Almeida

loop For

Recommended Posts

eu tenho uma duvida com o comando Forbom o caso é o seguinte, eu tenho um for que em determinados casso não pode ser feita a rotina e em determinados tem que fazer.um exemplo meio idiota disso seria eu tenh um array de 10 posições e eu preencho o array de acordo com o que for indicado em tela, se tiver algo no campo 1 eu coloco na posição 1 esse valor e faço alguns calculos, mas se não tiver nada ele não pode fazer nada, e teria que passar para o proximo campo e recomeçar a rotina do for.então a minha duvida é exatamente essa, como que faço para passar via codigo para o proximo registro e recomeçar o for?acho que não ficou muito bom, mas ta compreensivel, se alguem não entender minha duvida avisa que eu tento melhorar.vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para recomeçar a contagem do FOR, apenas inicie a variável que é incrementada no seu caso isso será quando a condição for verdadeira, lembrando que quando iniciar ela será incrementada através do NEXT então coloque um a menos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sabia que não tinha ficado muito bom o que eu tinha dito....bom vamos tentar assim.

for x = 1 to 10 thencampo(x) = campo(x) + (x * x)if not campo(x) > x * x thenmsgbox ("")  end if'dai faz um monte de coisanext

supondo nesse exemplo eu queria que se ele entrasse no if com x = 2 por exemplo, que ele fosse para x = 3 e refizesse o for apartir desse numero, o 3° registro no caso... ou seja que ele desse um next ou dentro do if ou no next verdadeiro...acredito que agora ficou um pouco mais explicado.mesmo assim vlw luiz humbertoflw

Compartilhar este post


Link para o post
Compartilhar em outros sites

dentro do if coloca x=x+1acho que é isso que você quer .... =Dflw

Compartilhar este post


Link para o post
Compartilhar em outros sites

então scorpio, isso resolveria meu caso se fosse somente um campo que estivesse vazio, e outra coisa existe a linha campo(x) = campo(x) + (x*x) que está antes do if, desse modo que você colocou ele não iria fazer esse calculo para o x+1e se o campo(x+1) tbm estiver vazio, ele não deveria fazer a rotina seguinte...realmente é bem chato isso, procurei o dia inteiro e não achei nada do genero para vb6, só achei para o .net, tem um comando que se chama break e um outro (que eu não lembro o qual), que parece fazer isso que eu quero, mas não entendi muito bem como é que funciona, e mesmo assim eu uso o vb6 ....vlw ai pela ajuda,mais alguem consegue me ajudar?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use um Do While ao invés de um For... Next. É mais apropriado para o caso.Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui resolver meu problema de um modo atá que facil, mas num tinha pensado antes .... fiz como se fosse um tratamento de erro ....

 

segue como ficou o codigo para quem tiver a mesma duvida

 

goto proximo

 

end if

 

'dai faz um monte de coisa

 

proximo _linenums:0'>for x = 1 to 10 thencampo(x) = campo(x) + (x * x)if not campo(x) > x * x thenmsgbox ("")<strong class='bbc'>goto proximo</strong>end if'dai faz um monte de coisa<strong class='bbc'>proximo:</strong>next

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.