Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Caros Amigos,
Estou com um problema há dias e só posso prosseguir com o projeto quando resolver.
Alguém poderia dar uma olhada se encontra o problrma?
Agradeço.
Tenho a seguinte função em ASP que fica no arquivo Config.asp que é incluíso em todas as páginas do site.
Function Dicionario(Registro)
Set InsDi = Server.CreateObject("ADODB.Recordset")
InsDi.CursorLocation = adUseServer
InsDi.CursorType = adOpenKeyset
InsDi.LockType = adLockOptimistic
InsDi.Open "TB_DICIONARIO WHERE ID_OBJETO="&Registro, Banco, , , adCmdTable
if Session("idioma") = "POR" then
Conteudo = Replace(Trim(InsDi("PORTUGUES")),vbCrLf,"<br>")
elseif Session("idioma") = "ING" then
Conteudo = Replace(Trim(InsDi("INGLES")),vbCrLf,"<br>")
elseif Session("idioma") = "ESP" then
Conteudo = Replace(Trim(InsDi("ESPANHOL")),vbCrLf,"<br>")
end if
InsDi.CloseVarErro = Dicionario(35)
Onde 35 é o código do erro na minha tabela de dicionário.
Acontece que VarErro não recebe nada. Se eu fizer:
<%=Dicionario(35)%>
O conteúdo é impresso. Alguém consegue ver o problema?
Obrigado.
No corpo das páginas.
Como Exemplo posso citar a página de Contato.asp que ao criticar cada campo recebido pega a descrição do erro no dicionário, assim:
if VarNome = "" then
VarErro = Dicionario(35)
elseif VarEmail = "" then
VarErro = Dicionario(36)
end if
Veja que lá no Dicionário o registro 35 é "Você deve informar o seu Nome!" e o 36 é "Você deve informar o seu e-mail!"
E no início da tabela do formulário tem uma linha que contém
<%=VarErro%>
Varerro não recebe nada porque sua função não retorna nada, ela só imprime na tela (response.write).
Para fazer ela retornar algo, no final de sua função, você tem que escrever:
Dicionario = Conteudo
Como dicionário é o nome da função, ela vai retornar esse valor.
Function Dicionario(Registro)
Set InsDi = Server.CreateObject("ADODB.Recordset")
InsDi.CursorLocation = adUseServer
InsDi.CursorType = adOpenKeyset
InsDi.LockType = adLockOptimistic
InsDi.Open "TB_DICIONARIO WHERE ID_OBJETO="&Registro, Banco, , , adCmdTable
if Session("idioma") = "POR" then
Conteudo = Replace(Trim(InsDi("PORTUGUES")),vbCrLf,"<br>")
elseif Session("idioma") = "ING" then
Conteudo = Replace(Trim(InsDi("INGLES")),vbCrLf,"<br>")
elseif Session("idioma") = "ESP" then
Conteudo = Replace(Trim(InsDi("ESPANHOL")),vbCrLf,"<br>")
end if
InsDi.Close
Set InsDi = Nothing
Dicionario = ConteudoPerfeito Companheiro!
Valeu mesmo
De nada =)
onde e como está adicionado VarErro = Dicionario(35)?