O Teu Mundo - Muito mais do que possas imaginar...
18.- Procedimentos. SUB Americ10

Bem-vindo ao O Teu Mundo!
Registre-se, conecte-se para ter acesso ao forum por completo, ainda podera ter um perfil que pode ser modificado com css e muito mais...




Participe do fórum, é rápido e fácil

O Teu Mundo - Muito mais do que possas imaginar...
18.- Procedimentos. SUB Americ10

Bem-vindo ao O Teu Mundo!
Registre-se, conecte-se para ter acesso ao forum por completo, ainda podera ter um perfil que pode ser modificado com css e muito mais...


O Teu Mundo - Muito mais do que possas imaginar...
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

18.- Procedimentos. SUB

Ir para baixo

18.- Procedimentos. SUB Empty 18.- Procedimentos. SUB

Mensagem por Miguel Rocha Qui Mar 25, 2010 12:52 pm

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 uma mensagem. 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.

Código:
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.



Código:
<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>

Miguel Rocha
Administrador
 Administrador

Masculino Mensagens : 692
Pontos : 25884
Reputação : 11
Idade : 32
Localização : Porto


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos