Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DaniloTec

Quando usar o "End If"?

Recommended Posts

Bom Dia a Todos,

 

Tenho uma dúvida quanto a usar o comando "End If".

 

Neste primeiro caso quando abro o "If" não posso fecha-lo com o "End If", não sei pq, aparece uma mensagem de erro.

 

<html><head><title> Teste em ASP </title></head><body><%If Time >= #00:00:00# And Time < #12:00:00# Then Resposta = "Bom Dia!"If Time >= #12:00:00# And Time < #18:00:00# Then Resposta = "Boa Tarde!"If Time >= #18:00:00# And Time < #23:59:59# Then Resposta = "Boa Noite!"%><% = Resposta %></body></html>
Já neste outro eu sou obrigado a fechar todos os "If".

 

<%@language=VBScript%><%Option Explicit %> <%Dim Hora, CorFundo, CorTexto, Msghora = hour(Now())if hora >= 8 and hora < 9 thenCorFundo="FFFFFF"CorTexto="000000"msg= "Mensagem 01"End Ifif hora >= 9 and hora < 10 thenCorFundo="CCCCCC"CorTexto="666666"msg= "Mensagem 02"End Ifif hora >= 10 and hora < 11 thenCorFundo="000000"CorTexto="FFFFFF"msg= "Mensagem 03"End Ifif hora >= 11 and hora < 12 thenCorFundo="#000000"CorTexto="FFFFFF"msg= "Mensagem 04"End Ifif hora >= 12 and hora < 13 thenCorFundo="666666"CorTexto="CCCCCC"msg= "Mensagem 05"End Ifif hora >= 13 and hora < 14 thenCorFundo="CCCCCC"CorTexto="666666"msg= "Mensagem 06"End Ifif hora >= 14 and hora < 15 thenCorFundo="666666"CorTexto="CCCCCC"msg= "Mensagem 07"End Ifif hora >= 15 and hora < 16 thenCorFundo="FFFFFF"CorTexto="#000000"msg= "Mensagem 08"End Ifif hora >= 16 and hora < 17 thenCorFundo="RED"CorTexto="GREEN"msg= "Mensagem 09"End Ifif hora >= 17 and hora < 18 thenCorFundo="CCCCCC"CorTexto="666666"msg= "Mensagem 10"End If%><html><head><title></title></head><body bgcolor="#<%=CorFundo%>" text="#<%=CorTexto%>"><p><%=msg%></p><div align="center"></div></body></html>
Pq isso acontece? Quando devo saber a hora de usar "End If"?

 

Grato!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve usar "um" end if para cada if... ou seja, se abrir 10 if, você deve colocar 10 end if, mas claro, seguindo a lógica...qto ao primeiro exemplo... o erro ocorreu, pq você separou o "bom" do "dia"... se você juntar tudo numa única linha ou então deixar o "Resposta = Bom Dia" numa única linha tb irá funcionar...por exemplo

<%If Time >= #00:00:00# And Time < #12:00:00# Then Resposta = "Bom Dia!" end ifIf Time >= #12:00:00# And Time < #18:00:00# Then Resposta = "Boa Tarde!" end ifIf Time >= #18:00:00# And Time < #23:59:59# Then Resposta = "Boa Noite!" end if%>

ou

<%If Time >= #00:00:00# And Time < #12:00:00# ThenResposta = "Bom Dia!"end ifIf Time >= #12:00:00# And Time < #18:00:00# ThenResposta = "Boa Tarde!"end ifIf Time >= #18:00:00# And Time < #23:59:59# ThenResposta = "Boa Noite!"end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cada End If deve ser usado para abrir um If aberto..Ou seja.. If nome = "Rafael" ThenResponse.Write("E ai Rafael")End IfCaso você utiliza o If com um Else, também só fecha uma vez...If nome = "Rafael" ThenResponse.Write("E ai Rafael")ElseResponse.Write("E ai Intruso :D")End IfPorém, podem ser feitas várias verificações utilizando o ElseIf (tudo junto, sendo necessário fecha apenas uma vez:If nome= "Rafael" ThenResponse.Write("E ai Rafael")ElseIf nome = "Marcos" ThenResponse.Write("E ai Marcos")ElseIf nome = "João" ThenResponse.Write("E ai João")ElseResponse.Write("E ai Intruso")End IfAbraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então quer dizer que só pq eu quebrei a linha no meio do código pode dar errado?Então qual é a regra para quebrar a linha quando eu escrevo uma linha de código? ou seja, onde e quando quebrar a linha???Grato!!!

Cada End If deve ser usado para abrir um If aberto..Ou seja.. If nome = "Rafael" ThenResponse.Write("E ai Rafael")End IfCaso você utiliza o If com um Else, também só fecha uma vez...If nome = "Rafael" ThenResponse.Write("E ai Rafael")ElseResponse.Write("E ai Intruso :D")End IfPorém, podem ser feitas várias verificações utilizando o ElseIf (tudo junto, sendo necessário fecha apenas uma vez:If nome= "Rafael" ThenResponse.Write("E ai Rafael")ElseIf nome = "Marcos" ThenResponse.Write("E ai Marcos")ElseIf nome = "João" ThenResponse.Write("E ai João")ElseResponse.Write("E ai Intruso")End IfAbraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o if tiver uma unica instrução na mesma linha não precisa fecharIF <Condição> THEN <Instrução>Com várias linhas é preciso fecharIF <Condição> THEN<Instrução><Instrução><Instrução><Instrução>...........End IFQuando quiser quebrar a linha e continuar a instrução use um " & _" If Time >= #00:00:00# And Time < #12:00:00# Then Resposta = "Bom" & _ "Dia!"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.