Active Server Pages: Subrotinas e Include/virtual

Subrotinas

As subrotinas têm em ASP a mesma utilidade que têm em outras linguagens.

Nos próximos dois exemplos, nós perguntamos aos nossos visitantes pelos seus nomes e, dependendo da resposta, um tratamento diferente será dado à informação. A resposta será a mesma em ambos os casos, mas no segundo caso usaremos subrotinas. O uso de subrotinas é bastante útil quando há muitas instruções a serem executadas dentro de uma rotina. Desta forma nós podemos simplificar a estrutura do nosso script.
Exemplo 1

 

<%
varNome=request.form(“nome”)
if varNome=”Joao” then
response.write (“Ola, Joao. Como vai voce?”)
response.write (“<br> Voce sabia que me casei o mes passado?”)
else
response.write (“Ola. Como vai voce?”)
end if
%>      

 
Exemplo 2

<%
varNome=request.form(“nome”)
if varNome=”Joao” then
RespostaAJoao()
else
RespostaADesconhecido()
end if
Sub RespostaAJoao()
response.write (“Ola, Joao. Como vai voce??”)
response.write (”
Voce sabia que me casei o mes passado?”)
End Sub
Sub RespostaADesconhecido()
response.write (“Ola. Como vai voce?”)
End Sub
% >      

Para chamar uma subrotina, nós usaremos este tipo de código:

NomeRotina()

Onde NomeRotina é o nome da subrotina (é recomendável que se use um nome bastante descritivo da tarefa que a subrotina realiza para tornar mais fácil o entendimento do script). Nós podemos também passar informação à subrotina para que ela realize sua tarefa. Os dados serão fornecidos da seguinte maneira:

NomeRotina(dado1, dado2 … dadoN)

No exemplo seguinte, nós iremos fornecer dados diferentes para uma mesma subrotina dependendo do nome que o visitante informar em um formulário:

Exemplo 3

<%
varNome=request.form(“nome”)
if varNome=”Joao” then
RespostaAoVisitante(35,Maria,Curitiba)
else
if varNome=”Pedro” then
RespostaAoVisitante(33,Rosa,Porto Alegre)
else
response.write(“Quem é voce?”)
end if
end if
Sub RespostaAoVisitante(AA,BB,CC)
response.write (“Se voce tem ” & AA & ” anos, “)
response.write (“voce e casado com ” & BB & “, e”)
response.write (” voce vive em ” & CC)
End Sub
%> 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19     

Na linha 14, AA é a primeira variável a ser obtidam BB a segunda, e CC a terceira. Os valores para as três variáveis fori fornecido na mesma ordem nas linas 5 a ou 8.

O exemplo acima também mostra que subrotinas são muito úteis para evitar de se repetir o código que executa uma mesma tarefa várias vezes dentro do script, assim o script se apresenta mais organizado e menor.

Include/virtual

Server Side includes ou SSI é uma linguagem de programação muito simples, mas que também tem um número bastante limitado de instruções. Consideraremos aqui apenas uma opção que SSI nos permite usar dentro de nossos scripts ASP: include/virtual.

No próximo exemplo, usaremos a opção include de SSI em um dos nossos scripts ASP (response.asp). Este comando nos permite reunir um conjunto de instruções que estão em arquivos diferentes (Arq1.txt, Arq2.txt) e executá-las.

Exemplo 4

 

 


response.asp
 

<%
varNome=request.form(“nome”)
if varNome=”Joao” then
%>
<!–#include virtual=”/Arq1.html” –>
<% else %>
<!–#include virtual=”/Arq2.asp” –>
<%
end if %>

 Arq1.html

 Ola, Joao.<br>
Eu sei que voce tem 31 anos, é casado com Maria e que voce vive em Curitiba.

Arq2.asp

<%
for i=1 to 3
response.write(varNome & “…<BR> “)
next
response.write(“Quem e voce?”)
%>      

Neste caso, se o nome da pessoa que está visitando nossa página é João, nós iremos responder com Arq1.html. Se for outra pessoa, então executaremos algumas instruções de ASP do arquivo Arq2.asp.

O arquivo de inclusão deve ser um arquivo texto (.txt, .html, .htm, .shtml, .asp…). Embora tenhamos usado Arq1.html e Arq2.asp, o script funcionaria da mesma forma com Arq1.txt e Arq2.txt (mudando o nome dos arquivos não teria efeito algum).

Usando SSI e asp, nós podemos ter uma página secreta:

 

secret_page.asp
  

<% varUsuario=request.form (“usuario”)
varSenha=request.form(“senha”)
if varUsuario=”meunome” e varSenha=”minhasenha” then
%>
<!–#include virtual=”/cgi-bin/secret_info.txt” –>
<% else %>
<Form Action=secretpage.asp method=post>
varUsuario: <input type=text name=usuario size=15><BR>
varSenha: <input type=text name=senha size=15><BR>
<input type=Submit Value=Enviar>
</form>
<% end if %> 

secret_info.txt

 Esta e a minha informacao secreta:<BR>
Meu nome e Joao.<BR>
Meu sobrenome e Freitas.<BR>
<BR> Fim da informacao secreta

Neste caso é conveniente salvar o arquivo secret_info.txt no diretório cgi-bin (o arquivo .txt não será acessível aos visitantes se estiver neste diretório, mas será acessível se estiver em nosso diretório de mais alto nível).

Artigo gentilmente cedido por CodeLines

Compatilhe esse artigo!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.