20 dezembro 2021

ASP-C Loopings e mais

Voltamos aqui em velocidade máxima pra ganhar tempo. Aqui será tratado vários loopings diferentes e citarei algumas reações das quais me intrigaram e espero que um de vocês ajude confirmando se isso é limitação do ASP-C ou se algo precisa ser feito para obter um resultado coerente. 

Começando pelo 'Do While Loop' e o 'Do Loop While' . Esse looping é usado quando não se sabe exatamente quantas vezes será necessário fazer o procedimento até ser necessário terminar o looping. Entretanto o 'Do Loop While' será executado ao menos uma vez para então testar a condição. Verifique abaixo:

A saída no navegador será como esta imagem ao lado, clique para deixar maior a visualização.

Notem que há um comentário no primeiro exemplo onde falo que o looping não reconhece o operador '=' e por alguma razão foi necessário utilizar o '<=' para que o resultado fosse correto. Acredito que o operador está associando valor à variável ao invés de ser tratado como uma igualdade. Os mestres do ASP-C podem explicar abaixo para que possamos confirmar essa situação.

Seguindo em frente vamos tratar agora do looping 'Do Until Loop' e 'Do Loop Until'. O terceiro exemplo é somente para que possam ver como utilizar o 'Exit Do' e assim sair do loop se alguma outra condição diferente for alcançada. 

Observando bem não há muita diferença entre esses loopings e vai de cada um a utilização deles. Verifique agora os resultados no navegador ao lado e perceba como o 'Exit Do' interfere no resultado final:

Diferente do 'Do While Loop' não houve qualquer problema ao usar o operador '=' e sendo assim acredito que isso possa ser decorrente do fato que o ASP-C já não receber atualizações faz algum tempo. Vamos precisar de ajuda de algum mestre que porventura venha por aqui e se interesse em explicar tal situação.

Por fim vamos agora ao 'While Wend'. Não testei a questão do operador '=' e se vocês notarem algum problema aceito que me alertem abaixo. 

Como podem ver acima o loop irá até atingir a condição. Outro detalhe é que em nenhum destes loops foi necessário incrementar qualquer tipo de contador. O resultado no navegador poderá ser visto ao lado. 

No 'While' loop a condição é sempre testada antes de cada ciclo e portanto só será executado o bloco de código somente se a condição for 'True'. Notem que não há qualquer mistério nesses loopings, apesar de aparentarem fazer a mesma coisa uma avaliação mais detalhada do resultado que se deseja fará com que uns sejam mais úteis do que outro dependendo da situação. Vou aproveitar e colocar abaixo o looping 'For Each' com um array. É preciso declarar o tamanho do array senão será lançado no navegador um erro a menos que se deseje trabalhar com array dinâmico, veja o próximo post para saber mais sobre. No código abaixo vejam que no resultado os espaços do array que não possuem elemento serão apresentados como 'elemento x não contém nada!'. Tente fazer com que ao invés de mostrar isso nada de fato seja apresentado, tentem usar com e sem o 'Exit'. Se conseguirem informe abaixo o seu sucesso.

Com o 'For Each' o loop irá percorrer todos os elementos declarados e não declarados. Outro detalhe é que o contador 'd' só existe dentro do looping para que a saída apresente as posições de cada elemento e não serve de fato para que o looping funcione.

Assim chegamos ao fim de mais um post sobre conceitos básicos do ASP-C e com essas ferramentas muita coisa já poderá ser feita com um nível mais complexo e mais útil pra vida real. Como dito em outro post no futuro trarei informações sobre 'Procedures' ou 'Procedimentos', o que chamamos de função e que no ASP-C temos 'Function' e 'Sub'.

Espero realmente que este esforço seja de grande ajuda pra todos os visitantes do blog e interessados no ASP classic. Como dito antes se qualquer coisa aqui estiver incorreta informe abaixo para que possamos aprender juntos.

Nenhum comentário:

Postar um comentário