AS EMPRESAS ESTÃO "DESESPERADAS" POR ESTE TIPO DE PROFISSIONAL... - VOCÊ É UM DELES?
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI - O Conhecimento que Vira Dinheiro - CLIQUE AQUI
| « Lição anterior | Δ Página principal | ¤ Capítulos | Próxima lição » |
| SITES DINÂMICOS COM ASP 3.0 - CURSO COMPLETO Autor: Júlio Battisti |
||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Lição 032 - Capítulo 04 - Alguns exemplos práticos de aplicação | ||||||||||||||||||
Neste item veremos alguns exemplos práticos de aplicação do conteúdo visto até o momento. Serão propostos alguns problemas práticos. Para resolvê-los utilizaremos o conhecimento aprendido até o momento, com a utilização dos Objetos ASP já apresentados, além de elementos da linguagem VBScript. Também precisaremos dos conhecimentos de HTML introduzidos no Capítulo 2. Exemplo 1: Validação dos dados de um formulário Descrição do problema: Vamos supor que tenhamos um formulário para cadastro dos nossos Clientes em um Banco de Dados. Alguns campos deste formulário são de preenchimento obrigatório, isto é, não podem ficar em branco ou conter valores nulos. Caso o usuário deixe um ou mais destes campos sem preencher, devemos retornar o formulário para o Cliente, indicando qual ou quais campos de preenchimento obrigatório não foram preenchidos. Ao voltar o formulário para o Cliente, não devemos fazer com que o mesmo tenha que preencher todos os campos novamente, mas somente os campos que estiverem faltando. Por isso o formulário voltará para o Cliente, mantendo os valores que o mesmo já preencheu, apenas indicando quais campos obrigatórios não foram preenchidos. Na prática os valores preenchidos no formulário deveriam ser armazenados em um Banco de Dados como o Microsoft SQL Server 7.0 ou o Microsoft Access 2000. Como ainda não aprendemos a trabalhar com Banco de Dados, vamos apenas validar os dados digitados. Caso o usuário tenha digitado todos os dados corretamente, apenas informaremos que os dados foram digitados com sucesso e exibiremos os valores digitados. No próximo capítulo estaremos tratando sobre a conexão de páginas ASP com Bancos de Dados. Na Listagem 4.29 temos o formulário que o usuário deverá preencher. Neste formulário, são de preenchimento obrigatório os seguintes campos:
Listagem 4.29 – Formulário para cadastro do Cliente – exemplo-1.htm. 1 <HTML>
2 <HEAD>
3 <TITLE>Formulário para Cadastro de Clientes !!</TITLE>
4 </HEAD>
5 <BODY>
6 <P><STRONG>Formulário para Cadastro de Clientes:</STRONG></P>
7 <P>Digite os dados solicitados e clique no botão Enviar.</P>
8 <FORM action="exemplo-1.asp" method="post">
9 <P>Nome: <INPUT id=nome maxLength=50 name=nome>(*)</P>
10 <P>Rua: <INPUT id=rua maxLength=35 name=rua >(*)</P>
11 <P>Cidade: <INPUT id=cidade maxLength=30 name=cidade>(*) 12 Bairro: <INPUT id=Bairro maxLength=20 name=Bairro></P>
13 <P>e-mail: <INPUT id=email maxLength=50 name=email>(*) 14 Fone:<INPUT id=fone maxLength=15 name=fone></P>
15 <P>CPF: <INPUT id=cpf maxLength=11 name=cpf>(*)
16 <FONT size=2><STRONG>(Digite sem o ponto e sem o traço)
17 </STRONG></FONT></P>
18 <P>Cartão Crédito:
19 <INPUT id=cartao name=cartao type=radio value=Visa>Visa
20 <INPUT id=cartao name=cartao type=radio value="Master Card"> Master Card
21 <INPUT id=cartao name=cartao type=radio value=Outros> Outros
22 </P>
23 <P><INPUT id=enviar name=enviar type=submit value=Enviar>
24 <INPUT id=limpar name=limpar type=reset value=Reset>
25 <BR>
26 (*)->Campos de digitação obrigatória.<BR></P>
27 </FORM>
28 </BODY>
29 </HTML>
Ao visualizarmos este formulário no Internet Explorer, obtemos o resultado mostrado na Figura 4.
Observe, na linha 8, que o atributo action, da tag FORM é definido como exemplo-1.asp. Agora precisamos criar a página exemplo-1.asp, a qual vai processar os dados digitados no formulário quando o usuário clicar no botão Enviar. A página exemplo-1.asp deve verificar se todos os campos obrigatórios foram digitados, em caso afirmativo a página apenas informará os valores digitados pelo usuário, caso contrário, o formulário será enviado de volta para o usuário, indicando quais os campos obrigatórios que não foram preenchidos. Além disso ao enviar o formulário de volta para o usuário, os valores digitados pelo usuário serão preservados, evitando que o mesmo precise digitar todos os campos novamente. Existem diversas maneiras e algoritmos diferentes para solucionar este problema. Na Listagem 4.30 apresentamos uma solução para o problema proposto: Listagem 4.30 – Fazendo a validação dos dados obrigatórios – exemplo-1.asp. 1 <%@ Language=VBScript %>
2 <HTML>
3 <HEAD>
4 </HEAD>
5 <BODY>
6 <%
7 ' Inicia a verificação para saber se todos
8 ' os campos obrigatórios foram preenchidos.
9 ' Atribui os campos obrigatórios à variáveis.
10 nome = Request.Form("nome")
11 rua = Request.Form("rua")
12 cidade = Request.Form("cidade")
13 email = Request.Form("email")
14 cpf = Request.Form("cpf")
15 'Verifica se os campos obrigatório foram preenchidos.
16 'Qualquer dado obrigatório que não tenha sido preenchido,
17 'definirá a variável faltou_dado em Sim.
18 If (nome="")Then
19 mensagem_nome="Preencha o campo Nome:"
20 faltou_dado="Sim"
21 faltou_nome="Sim"
22 End If
23 If (rua="")Then
24 mensagem_rua="Preencha o campo Rua:"
25 faltou_dado="Sim"
26 faltou_rua="Sim"
27 End If
28 If (cidade="")Then
29 mensagem_cidade="Preencha o campo Cidade:"
30 faltou_dado="Sim"
31 faltou_cidade="Sim"
32 End If
33 If (email="")Then
34 mensagem_email="Preencha o campo Email:"
35 faltou_dado="Sim"
36 faltou_email="Sim"
37 End If
38 If (cpf="")Then
39 mensagem_cpf="Preencha o campo CPF:"
40 faltou_dado="Sim"
41 faltou_cpf="Sim"
42 End If
43 'Caso todos os campos obrigatórios tenham sido
44 'preenchidos, apenas informo os valores digitados.
45 If faltou_dado<>"Sim" Then
46 Response.Write "<P>Você digitou os seguintes dados !</P>"
47 Response.Write "<HR>"
48 For Each Dado in Request.Form %>
49 <P>
50 <% =Dado %>
51 =
52 <%=Request.Form(Dado)%>
53 </P>
54 <%Next
55 End If
56 'Caso algum dado obrigatório não tenha sido digitado
57 'Envia o formulário de volta para o Cliente,
58 'preservando os valores que o mesmo já digitou.
59 'Observe que utilizamos Response.Write para ir
60 'recriando todo o formulário.
61 'Também observe que o formulário é enviado de volta
62 'na página exemplo-1.asp e que o atributo action
63 'da tag FORM é definido como exemplo-1.asp, ou seja
64 'a página exemplo-1.asp chama a si mesma após o
65 'usuário clicar no botão Enviar.
66 'Esta é uma técnica bastante interessante.
67 'Antes de enviar o formulário, informamos quais
68 'os campos obrigatório que não foram preenchidos.
69 If faltou_nome="Sim" Then
70 Response.Write "O campo Nome deve ser preenchido. <br>"
71 End If
72 If faltou_rua="Sim" Then
73 Response.Write "O campo Rua deve ser preenchido. <br>"
74 End If
75 If faltou_cidade="Sim" Then
76 Response.Write "O campo Cidade deve ser preenchido. <br>"
77 End If
78 If faltou_email="Sim" Then
79 Response.Write "O campo Email deve ser preenchido. <br>"
80 End If
81 If faltou_cpf="Sim" Then
82 Response.Write "O campo CPF deve ser preenchido. <br>"
83 End If
84 'Começo a reenviar o formulário para o usuário.
85 %>
86 <P><B>Formulário para Cadastro de Clientes:</B></P>
87 <P>Digite os dados solicitados e clique no botão Enviar.</P>
88 <FORM action="exemplo-1.asp" method="post" id=form1 name=form1>
89 <% Response.Write “Caso queira alterar algum dado, digite no formulário abaixo.”
90 If faltou_nome="Sim" Then
91 Response.Write "<P>Nome: <INPUT id=nome maxLength=50 name=nome size=50>(*)</P>" 92 Else
93 Response.Write "<P>Nome: <INPUT id=nome maxLength=50 name=nome size=50
94 End If
95 If faltou_rua="Sim" Then
96 Response.Write "<P>Rua: <INPUT id=rua maxLength=35 name=rua size=35>
(*)</P>"
97 Else
98 Response.Write "<P>Rua: <INPUT id=rua maxLength=35 name=rua size=35
value=" & Chr(34)& Request.Form("rua") & Chr(34) & ">(*)</P>"
99 End If
100 If faltou_cidade="Sim" Then
101 Response.Write "<P>Cidade: <INPUT id=cidade maxLength=30
name=cidade size=18>(*)"
102 Else
103 Response.Write "<P>Cidade: <INPUT id=cidade maxLength=30
name=cidade size=18 value=" & Chr(34) &
Request.Form("cidade") & Chr(34) & ">(*)"
104 End If
105 Response.Write "Bairro:<INPUT id=bairro maxLength=25 name=bairro
value=" & Chr(34) & Request.Form("bairro") & Chr(34) & "></P>"
106 If faltou_email="Sim" Then
107 Response.Write "<P>Email: <INPUT id=email maxLength=35
name=email size=19>(*)</P>"
108 Else
109 Response.Write "<P>Email: <INPUT id=email maxLength=30
name=email size=19 value=" & Chr(34)& Request.Form("email")
& Chr(34) & ">(*)"
110 End If
111 Response.Write "Fone:<INPUT id=fone maxLength=15 name=fone
value=" & Chr(34) & Request.Form("fone") & Chr(34) & "></P>"
112 If faltou_cpf="Sim" Then
Response.Write "<P>CPF: <INPUT id=cpf maxLength=11 name=cpf size=11>(*)"
113 Else
114 Response.Write "<P>CPF: <INPUT id=cpf maxLength=11 name=cpf
size=11 value=" & Chr(34)& Request.Form("cpf") & Chr(34) & ">(*)"
115 End If
116 Response.Write "<FONT size=2><B>(Digite sem o ponto e sem o traço)
</B></FONT></P>"
117 Response.Write "<P>Cartão Crédito: "
118 If Request.Form("cartao")="Visa" Then
119 Response.Write "<INPUT id=cartao name=cartao type=radio
value=Visa checked>Visa"
120 Else
121 Response.Write "<INPUT id=cartao name=cartao type=radio value=Visa>Visa"
122 End If
121 If Request.Form("cartao")="Master Card" Then
122 Response.Write "<INPUT id=cartao name=cartao type=radio value="
& Chr(34) & "Master Card" & Chr(34)& " checked>Master Card"
123 Else
124 Response.Write "<INPUT id=cartao name=cartao type=radio value="
& Chr(34) & "Master Card" & Chr(34)& " checked>Master Card"
125 End If
126 If Request.Form("cartao")="Outros" Then
127 Response.Write "<INPUT id=cartao name=cartao type=radio
value=Outros checked>Outros"
128 Else
129 Response.Write "<INPUT id=cartao name=cartao type=radio value=
Outros>Outros</P>"
130 End If
131 Response.Write "<P><INPUT id=enviar name=enviar type=submit value=Enviar> "
132 Response.Write "<INPUT id=limpar name=limpar type=reset value=Reset>"
133 Response.Write "<BR>"
134 Response.Write "(*)->Campos de digitação obrigatória.</P>"
135 'Neste ponto encerro a montagem do formulário
136 %>
137 </FORM>
138 </BODY>
139 </HTML>
Algumas observações sobre a Listagem 4.30:
111 Response.Write "Fone:<INPUT id=fone maxLength=15 name=fone
value=" & Chr(34) & Request.Form("fone") & Chr(34) & "></P>"
devem ser digitadas em uma única linha. A linha aparece dividida por questões de espaço para exibição, quando for digitar esta linha, digite como uma linha única.
18 If (nome="")Then
19 mensagem_nome="Preencha o campo Nome:"
20 faltou_dado="Sim"
21 faltou_nome="Sim"
22 End If
Neste fragmento, estamos testando se o campo obrigatório “nome” foi preenchido. Caso o mesmo não tenha sido preenchido, definimos a variável faltou_dado como sendo igual a Sim. Também definimos a variável faltou_nome como sendo igual a Sim. Este procedimento é repetido para os demais campos obrigatórios. Desta forma, qualquer campo obrigatório que esteja faltando, irá definir a variável faltou_dado como sendo igual a Sim. Estas variáveis serão utilizadas mais adiante para informar quais campos obrigatórios estão faltando, e caso nenhum esteja faltando, para informar os valores digitados pelo usuário.
If faltou_dado<>"Sim" Then
46 Response.Write "<P>Você digitou os seguintes dados !</P>"
47 Response.Write "<HR>"
48 For Each Dado in Request.Form %>
49 <P>
50 <% =Dado %>
51 =
52 <%=Request.Form(Dado)%>
53 </P>
54 <%Next
55 End If
Neste fragmento, verificamos se não faltou nenhum dado (faltou_dado<>”Sim”), em caso afirmativo, simplesmente exibimos os dados digitados pelo usuário. Veja que utilizamos a estrutura For Each...Next para percorrer todos os valores do formulário.
69 If faltou_nome="Sim" Then
70 Response.Write "O campo Nome deve ser preenchido. <br>"
71 End If
Neste caso, se o campo nome não foi digitado, envio a seguinte mensagem: “O campo Nome deve ser preenchido.”
90 If faltou_nome="Sim" Then
verifico um a um os campos obrigatórios para ver qual ou quais estão faltando. Caso o campo esteja faltando, emito uma mensagem dizendo que o mesmo deve ser digitado, caso contrário crio o campo do formulário e defino o seu valor conforme o valor digitado pelo usuário. Observe o fragmento de código abaixo: 90 If faltou_nome="Sim" Then
91 Response.Write "<P>Nome: <INPUT id=nome maxLength=50 name=nome size=50>(*)</P>" 92 Else
93 Response.Write "<P>Nome: <INPUT id=nome maxLength=50 name=nome
94 End If
Primeiro (linha 90), testamos se o nome não foi digitado. Em caso afirmativo criamos o campo nome, em branco. Isto é feito pela linha 91: 91 Response.Write "<P>Nome: <INPUT id=nome maxLength=50 name=nome size=50>(*)</P>" esta linha envia o texto entre aspas para o Navegador do Cliente: <P>Nome: <INPUT id=nome maxLength=50 name=nome size=50>(*)</P> este é justamente o código HTML que cria o campo nome e define os seus atributos. Veja que estamos utilizando Response.Write para recriar o formulário HTML original. Caso o campo tenha sido preenchido, criamos o campo novamente com o cuidado de já preencher o campo com o valor digitado previamente pelo usuário. Isto é feito pelo código abaixo: 93 Response.Write "<P>Nome: <INPUT id=nome maxLength=50 name=nome
size=50 value=" & Chr(34)& Request.Form("nome") & Chr(34) & ">(*)</P>"
Veja que esta instrução Response.Write é um pouco mais complexa. A instrução é formada de diversas partes, sendo que cada parte é concatenada pelo operador &. Na primeira parte é enviado o texto: "<P>Nome: <INPUT id=nome maxLength=50 name=nome size=50 value=
A segunda parte Chr(34) envia um sinal de aspas (“). Depois do sinal de aspas, usamos Request.Form(“nome”) para capturar o nome digitado pelo usuário. Vamos supor que o usuário tenha digitado José da Silva no campo nome. Neste ponto a nosso comando estaria assim: "<P>Nome: <INPUT id=nome maxLength=50 name=nome size=50 value=”José da Silva
Depois enviamos mais um sinal de aspas – Chr(34) e finalmente a parte final “>(*)</P>”. Com isso o código enviado por este comando é o seguinte: "<P>Nome: <INPUT id=nome maxLength=50 name=nome size=50 value=”José da Silva”>(*)</P>
que é justamente o código HTML necessário para criar o campo Nome e definir o seu valor conforme o valor digitado pelo usuário. Um detalhe importante a salientar é a utilização do Chr(34) antes e depois do nome do usuário. Precisamos envolver o nome digitado entre aspas, pois caso contrário o nome seria truncado no primeiro espaço em branco, isto é, se o usuário digitasse José da Silva, sem as aspas seriar retornado apenas José. Tudo o que vier depois do primeiro espaço em branco será ignorado, por isso que utilizamos uma sinal de aspas antes e outro depois. Veja que com a utilização de código ASP vamos recriando o formulário original. Além disso mesclamos diversos trechos de código ASP com código HTML. Veja que dentro do código ASP podemos utilizar todos os recursos da Linguagem VBScript, ou seja, as possibilidades são muitas. Agora vamos a alguns exemplos de utilização da nossa aplicação. Na figura 4.24, temos um exemplo onde o formulário original foi aberto no Internet Explorer e o usuário preencheu todos os campos, isto é, não deixou de preencher nenhum campo obrigatório:
Ao clicar no botão Enviar os dados são enviados para a página exemplo-1.asp. Como todos os campos obrigatórios foram preenchidos, a página simplesmente exibe os valores digitados pelo usuário, conforme mostrado na Figura 4.25
Além de informar os valores digitados, a página retorna o formulário com os dados digitados pelo usuário. Caso o usuário queira alterar algum valor digitado é só fazer as alterações necessárias e clicar no botão Enviar. O formulário aparece logo após a informação dos valores digitados, mais no final da página, conforme indicado na Figura 4.26:
Vamos testar uma outra situação do nosso aplicativo. Vamos para a situação em que o usuário deixa de preencher um dos campos obrigatórios. No exemplo da Figura 4.27, o usuário deixa de preencher o campo Cidade.
Neste caso, ao clicar no botão Enviar, o usuário recebe uma página com a mensagem avisando que o campo Cidade é de preenchimento obrigatório, e com um formulário com os valores já digitados, com o campo Cidade em branco para que o campo seja preenchido, conforme indicado pela Figura 4.28:
Exemplo 2: Formulário para cálculo de Imposto Descrição do problema: Vamos supor que tenhamos um formulário para pedido de mercadorias. O Usuário preenche o formulário com os produtos desejados e clica em um botão Calcular. Este botão chama uma página ASP que retorna o formulário de pedidos mais o valor do Frete e do Imposto, bem como o valor Total do Pedido. Vamos supor, por motivos de simplicidade, que somente são possíveis entregas para os estados do RS, PR, SC, SP e RJ. Sendo que o imposto e a taxa de frete é diferente para cada um destes estados. Tabela 4.3 Valores de frete e imposto para cada estado.
O frete é único para o Pedido, independente do número de itens. O imposto será calculado sobre o total da Nota, sem contar o valor do frete, isto é, sobre o valor total das mercadorias. O nosso pedido permitirá a entrada de até 3 produtos. Também faremos uso de tabelas para facilitar o Layout da página. Na Listagem 4.31 temos o formulário de pedidos. Listagem 4.31 – Formulário de pedidos – exemplo-2.htm. 1 <HTML>
2 <HEAD>
3 <TITLE>Pedido de mercadorias.</TITLE>
4 </HEAD>
5 <BODY>
6 <P><B>FORMULÁRIO DE PEDIDOS:</B></P>
7 <P>Digite até três produtos a serem entregues.</P>
8 <P>
9 <FORM action="exemplo-2.asp" method=post>
10 <TABLE align=left bgColor=gray border=1 cellPadding=1 cellSpacing=1 width="75%">
11 <TR>
12 <TD>Descrição</TD>
13 <TD>Pr. Unit.</TD>
14 <TD>Quan.</TD>
15 <TD>Subtotal</TD>
16 </TR>
17 <TR>
18 <TD><INPUT id=prod1 name=prod1></TD>
19 <TD><INPUT id=unit1 name=unit1 style="HEIGHT: 22px; WIDTH: 37px"></TD>
20 <TD><INPUT id=quant1 name=quant1 style="HEIGHT: 22px; WIDTH: 37px"></TD>
21 <TD><INPUT id=valor1 name=valor1 style="HEIGHT: 22px; WIDTH: 51px"></TD>
22 </TR>
23 <TR>
24 <TD><INPUT id=prod2 name=prod2></TD>
25 <TD><INPUT id=unit2 name=unit2 style="HEIGHT: 22px; WIDTH: 37px"></TD>
26 <TD><INPUT id=quant2 name=quant2 style="HEIGHT: 22px; WIDTH: 37px"></TD>
27 <TD><INPUT id=valor2 name=valor2 style="HEIGHT: 22px; WIDTH: 51px"></TD>
28 </TR>
29 <TR>
30 <TD><INPUT id=prod3 name=prod3></TD>
31 <TD><INPUT id=unit3 name=unit3 style="HEIGHT: 22px; WIDTH: 37px"></TD>
32 <TD><INPUT id=quant3 name=quant3 style="HEIGHT: 22px; WIDTH: 37px"></TD>
33 <TD><INPUT id=valor3 name=valor3 style="HEIGHT: 22px; WIDTH: 51px"></TD>
34 </TR>
35 </TABLE>
36 <P><INPUT id=enviar name=enviar type=submit value="Calcular Total"></P>
37 <SELECT id=estado name=estado>
38 <OPTION selected value="">Estado -></OPTION>
39 <OPTION value=RS>RS</OPTION>
40 <OPTION value=SC>SC</OPTION>
41 <OPTION value=PR>PR</OPTION>
42 <OPTION value=SP>SP</OPTION>
43 <OPTION value=RJ>RJ</OPTION>
44 </SELECT>
45 </P>
46 </FORM>
47 </BODY>
48 </HTML>
Na Figura 4.29, podemos ver este formulário no Internet Explorer.
Agora vamos criar a página ASP – exemplo2-asp que faz o cálculo de cada item individualmente, depois calcula o total dos três itens e finalmente, aplica o imposto e o frete de acordo com o estado selecionado pelo Cliente. Após fazer os cálculos a página ASP retorna os valores fornecidos pelo usuário mais os cálculos realizados. Na Listagem 4.32 temos o código para a página – exemplo-2.asp. Sempre lembrando que procuramos desenvolver o código pensando na facilidade do entendimento. Diversas soluções diferentes poderiam ser adotadas, com a obtenção do mesmo resultado. Listagem 4.32 – A página ASP para cálculo do total do Pedido. 1 <%@ Language=VBScript %>
2 <HTML>
3 <HEAD>
4 </HEAD>
5 <BODY>
6 <%
7 Response.Write "<B>VALORES TOTAIS PARA O SEU PEDIDO:</B><BR>"
8 'Crio uma variável para o subtotal de cada produto.
9 If Request.Form("unit1")<>"" Then
10 subtot1=CSng(Request.Form("unit1"))*Csng(Request.Form("quant1"))
11 Else
12 subtot1=0
13 End If
14 If Request.Form("unit2")<>"" Then
15 subtot2=CSng(Request.Form("unit2"))*Csng(Request.Form("quant2"))
16 Else
17 subtot2=0
18 End If
19 If Request.Form("unit3")<>"" Then
20 subtot3=CSng(Request.Form("unit3"))*Csng(Request.Form("quant3"))
21 Else
22 subtot3=0
23 End If
24 total_inicial=subtot1+subtot2+subtot3
25 'Agora acrescento o imposto e o frete com base no estado
26 Select Case Request.Form("estado")
27 Case "RS"
28 total_imposto=total_inicial+total_inicial*0.12
29 total_geral=total_imposto+3.50
30 valor_frete=3.50
31 Case "SC"
32 total_imposto=total_inicial+total_inicial*0.13
33 total_geral=total_imposto+4.20
34 valor_frete=4.20
35 Case "PR"
36 total_imposto=total_inicial+total_inicial*0.11
37 total_geral=total_imposto+4.50
38 valor_frete=4.50
39 Case "SP"
40 total_imposto=total_inicial+total_inicial*0.17
41 total_geral=total_imposto+5.50
42 valor_frete=5.50
43 Case "RJ"
44 total_imposto=total_inicial+total_inicial*0.14
45 total_geral=total_imposto+5.50
46 valor_frete=5.50
47 End Select
48 'A partir de agora começo a devolver a página
49 'com os valores digitados pelo usuário, mais
50 'os valores calculados.
51 %>
52 <FORM action="exemplo-2.asp" method=post id=form1 name=form1>
53 <TABLE align=left bgColor=gray border=1 cellPadding=1 cellSpacing=1 width="75%">
54 <TR>
55 <TD>Descrição</TD>
56 <TD>Pr. Unit.</TD>
57 <TD>Quan.</TD>
58 <TD>Subtotal</TD>
59 </TR>
60 <TR>
61 <TD><INPUT id=prod1 name=prod1 value=" <%=Request.Form("prod1")%> "></TD>
62 <TD><INPUT id=unit1 name=unit1 value=" <%=Request.Form("unit1")%>"
style="HEIGHT: 22px; WIDTH: 37px"></TD>
63 <TD><INPUT id=quant1 name=quant1 value="<%=Request.Form("quant1")%>"
style="HEIGHT: 22px; WIDTH: 37px"></TD>
64 <TD align=right ><B><%=subtot1%></B></TD>
65 </TR>
66 <TR>
67 <TD><INPUT id=prod2 name=prod2 value=" <%=Request.Form("prod2")%> "></TD>
68 <TD><INPUT id=unit2 name=unit2 value=" <%=Request.Form("unit2")%>"
style="HEIGHT: 22px; WIDTH: 37px"></TD>
69 <TD><INPUT id=quant2 name=quant2 value="<%=Request.Form("quant2")%>"
style="HEIGHT: 22px; WIDTH: 37px"></TD>
70 <TD align=right ><B><%=subtot2%></B></TD>
71 </TR>
72 <TR>
73 <TD><INPUT id=prod3 name=prod3 value=" <%=Request.Form("prod3")%> "></TD>
74 <TD><INPUT id=unit3 name=unit3 value=" <%=Request.Form("unit3")%>"
style="HEIGHT: 22px; WIDTH: 37px"></TD>
75 <TD><INPUT id=quant3 name=quant3 value="<%=Request.Form("quant3")%>"
style="HEIGHT: 22px; WIDTH: 37px"></TD>
76 <TD align=right ><B><%=subtot3%></B></TD>
77 </TR>
78 <%
79 'Agora monto uma linha para o total de produtos.
80 'Uma linha para o valor do Frete.
81 'Uma linha para o valor do Imposto.
82 'Uma linha para o total geral.
83 %>
84 <TR>
85 <TD>TOTAL PROD.->></TD>
86 <TD></TD>
87 <TD></TD>
88 <TD align=right><% =FormatNumber(subtot1+subtot2+subtot3,2)%></TD>
89 </TR>
90 <TR>
91 <TD>IMPOSTO ->></TD>
92 <TD></TD>
93 <TD></TD>
94 <TD align=right><% =FormatNumber(total_imposto-total_inicial,2)%></TD>
95 </TR>
96 <TR>
97 <TD>FRETE ->></TD>
98 <TD></TD>
99 <TD></TD>
100 <TD align=right><% =FormatNumber(valor_frete,2)%></TD>
101 </TR>
102 <TR>
103 <TD>TOTAL GERAL ->></TD>
104 <TD></TD>
105 <TD></TD>
106 <TD align=right><% =FormatNumber(total_geral,2)%></TD>
107 </TR>
108 </TABLE>
109 <A HREF="exemplo-2.htm">Clique aqui para voltar a página de Pedidos.</A>
110 </BODY>
111 </HTML>
Algumas observações sobre a Listagem 4.31: B= Linhas de código como a do seguinte exemplo: 74 <TD><INPUT id=unit3 name=unit3 value=" <%=Request.Form("unit3")%>"
style="HEIGHT: 22px; WIDTH: 37px"></TD>
devem ser digitadas em uma única linha. A linha aparece dividida por questões de espaço para exibição, quando for digitar esta linha, digite como uma linha única.
A estrutura Select Case...End Select, para calcular o imposto e o frete, com base no Estado selecionado pelo cliente. Utilizamos a função Csng para converter os valores de Preço Unitário e Quantidade em valores numéricos, de tal forma que fosse possível realizar cálculos com estes valores. Utilizamos a função FormatNumber para formatar os valores calculados, de tal forma a exibir os valores com duas casas decimais, conforme mostrado no fragmento de código a seguir: <% =FormatNumber(valor_frette,2)%>
Agora vamos a alguns exemplos de utilização da nossa aplicação. Na figura 4.30, temos um exemplo onde o formulário de pedidos foi aberto no Internet Explorer e o usuário preencheu o pedido com três produtos. O estado selecionado foi SP.
Ao clicar no botão “Calcular Total” será chamada a página exemplo-2.asp, a qual faz os cálculos e exibe os resultados, conforme indicado na Figura 4.31:
Com isso comprovamos que a nossa página para cálculo do Total do Pedido, está funcionando corretamente. |
||||||||||||||||||
| « Lição anterior | Δ Página principal | ¤ Capítulos | Próxima lição » |
|
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI (Online, Vitalício, Prático e Atualizado)! |
|
|
NÃO PROCURE VAGAS, SEJA PROCURADO! |
|
Para Todos os Detalhes, Acesse:
https://juliobattisti.com.br/curso-infra-ti.asp
|
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2026 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI