Ir para conteúdo

POWERED BY:

Arquivado

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

naofuieu

qual a diferença?

Recommended Posts

Eu já vi vários códigos em que um WHILE é fechado de três maneiras diferentesWEND, LOOP e NEXT.Qual é a diferença?

Compartilhar este post


Link para o post
Compartilhar em outros sites

só conheço duas

 

WHILE

WEND

 

DO WHILE

LOOP

 

Basicamente é a mesma coisa...

 

A unica diferença é que a segunda permite encerrar o loop antes de encontrar a condição de parada

 

Isso é util quando voce faz o loop mas sabe que em algum momento ele não é mais util

 

Um exemplo besta (Só consegui pensar nisso)...

 

Voce tem uma sequencia de numeros (1 até 10) bagunçados em um DB seleciona-os e quer saber qual a posição do numeros 5

 

POSICAO = 0WHILE NOT RS.EOF	 POSICAO = POSICAO + 1	 IF RS("NUMERO") = 5 THEN		 TANAPOSICAO = POSICAO	 END IFRS.MovenextWEND

mesmo depois de encontrar o 5 que era o que voce queria ele vai continuar o loop até acabar os registros

 

POSICAO = 0DO WHILE NOT RS.EOF	 POSICAO = POSICAO + 1	 IF RS("NUMERO") = 5 THEN		 TANAPOSICAO = POSICAO		 EXIT DO	 END IFRS.MovenextLOOP

Agora achou o 5 ele sai na hora... e poupa processamento...

 

Quando não preciso parar nada eu uso a primeira (WHILE WEND) já é costume...

 

Mas quando precisa não tem jeito é a segunda opção (DO WHILE LOOP)

 

Sei que o exemplo foi meio fraco mas na vida voce encontrará situações que isto é util e te ajudará a aumentar a performance de seus codigos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só complementando o NEXT que voce citou é usado com o FOR que é um laço diferente do WHILE pois ja sabemos de antemão quantas repeticoes teremos...O FOR tambem permite parar o laço com Exit FOR... assim como o DO WHILE LOOP

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.