VBScript Avançado




Chamadas a sub-rotinas 


No Visual Basic Script as funções se utilizam como partes de expressões e os procedimentos como se fosse uma sentença independente. 



A chamada a uma função, se for utilizada como parte de uma expressão deve ser chamada utilizando parênteses. 



meuResultado = soma(1,2) 



Se não se utiliza como parte de uma expressão, não tem porquê utilizar os parênteses, porém, o resultado da função (o que devolve) se perderá. 



soma 1,2 



Call 



É uma chamada a uma sub-rotina, utilizada para transferir o fluxo da aplicação para uma sub-rotina. É necessário utilizar parêntesis quando se utiliza. Ademais, se se utiliza com uma função se perderá o resultado que devolva. 



call soma(1,2) 



Saída de uma sub-rotina 



Podemos sair de um procedimento ou função em qualquer momento, independentemente de que a função tenha terminado ou não. O enunciado para escapar de uma função é EXIT, que se pode utilizar em qualquer lugar do procedimento ou função. A palavra exit deve ir acompanhada do tipo de sub-rotina da que se deseja sair, sendo assim, se deverá utilizar exit function ou então, exit sub.



Procedimentos. SUB



Dizíamos que um procedimento era uma sub-rotina que se chamava e realizava ações, mas que não devolvia nenhum valor e portanto, não era possível utiliza-la dentro de uma expressão. 


Vejamos algum exemplo de procedimento. É uma sub-rotina que escreve na barra de estado umamensagem. Não é muito complicada, porém tal como a apresentamos aqui não se deveria fazer, visto que utilizamos um loop vazio para que o navegador esteja um pouco mais lento e o texto saia pouco a pouco. Ao invés desse loop deveríamos utilizar uma função chamada setTimeout, porém, não desejamos introduzi-la agora.

sub mostraAbaixo(texto)
   dim i
   for i=0 to len(texto)
      dim actual
      actual = left(texto,i)
      window.status = actual
      dim j
      'loop para frear o navegador deveria utilizar-se a função setTimeOut
      for j=0 to 20000
         j = j
      next
   next
end sub



Este exemplo utiliza ademais várias funções de cadeias de caracteres, esperamos que não represente muito problema para entende-lo. Basicamente, é um loop que vai percorrendo toda a cadeia de caracteres que recebe por parâmetro. À medida que se realiza o loop vai criando uma sub-cadeia de caracteres da parte esquerda da cadeia original, que cada vez é mais longa. Logo, imprime-se essa cadeia na barra de estado do navegador. Entre execução e execução do loop se realiza um atraso, no segundo loop for que deveria se realizar com um setTimeout.

Podemos ver a seguir como se colocaria um botão na página que chamasse a este procedimento.

<HTML>
<HEAD>
<TITLE>Procedimentos em VBS</TITLE>
<script language=vbscript>
option explicit
sub mostraAbaixo(texto)
 dim i
 for i=0 to len(texto)
  dim actual
  actual = left(texto,i)
  window.status = actual
  dim j
  for j=0 to 20000
   j = j
  next
 next
end sub
</script>
</HEAD>
<BODY>
<h1>Procedimentos em VBS</h1>
<P>
<form>
<input type="button" name=b value=colocarAbaixo!
       onclick="mostrarAbaixo('Abraços de Miguel')" language=vbscript>
</form>
</P>
</BODY>
</HTML>


Fonte:http:  //www.criarweb.com/artigos/807.php
http://www.criarweb.com/artigos/791.php  





Mais Conteúdos

Apostila em PDF

Nenhum comentário:

Postar um comentário