Usuário com melhor resposta
Como seria a correta forma de usar este script num arquivo Global.asa?

Pergunta
-
Olá pessoal estou precisando de um help, o objetivo seria passar o valor da variavel linha que lê de um arquivo de texto, para uma variavel do tipo application para sêr lida em todo o site, só que eu queria saber como faço isso já que teria que colocar o script abaixo também no arquivo global.asa, teria como colocar o script abaixo num arquivo global.asa e passar a variavel 'Linha' da linha Linha = Linha & ObjStream.Readline & "<br>" do código para uma variavel do tipo application no arquivo global.asa e aproveitando se houver a possibilidade depois como a leio essa variavel application em qq pagina do site
Se alguem puder me ajudar desde já agradeço
<%
'O parâmetro forReading é utilizado somente para leitura.
Const forReading = 1, forWriting = 2, forAppending = 8'Instância o objeto FSO.
Set Fso = CreateObject("Scripting.FileSystemObject")'O método GetFile retorna o arquivo existente.
'Set ObjFile = Fso.GetFile("e:\meudominio.com\arquivo.txt")
Set ObjFile = Fso.GetFile("D:\Inetpub\Clientes\meudominio.com\arquivo.txt")'O método OpenAsTextStream abre o arquivo como sendo um fluxo de texto.
Set objStream = ObjFile.OpenAsTextStream(forReading,false)'Looping para varrer todas as linha do arquivo.
While Not ObjStream.AtEndOfStream'O método Readline lê uma linha de um arquivo
Linha = Linha & ObjStream.Readline & "<br>"
Wend'Mostra o conteúdo.
Response.write Linha'Fecha o arquivo.
objStream.Close'Destruíndo objetos
Set Fso = nothing
Set objStream = nothing
%>
Respostas
-
Luiz, seguinte, uma dica que talvez possa adiantear, o objeto Stream tem um método chamado ReadAll que traz tudo do arquivo, entao talvez voce nem precisa do loop para pegar linha a linha, se o problema for a quebra de linha tente assim:
linha = objsStream.ReadAll
linha = Replace(linha, chr(13), "<br>")
Terá que fazer um teste.
Já no caso da application, tente colocar o script no global.asa no evento, Application_OnStart, exemplo:
Sub Application_OnStart
Const forReading = 1, forWriting = 2, forAppending = 8
Set Fso = CreateObject("Scripting.FileSystemObject")
Set ObjFile = Fso.GetFile("D:\Inetpub\Clientes\tvwebondemand.plughosting.com.br\Html\publiquebanner\db\arquivo.txt")
Set objStream = ObjFile.OpenAsTextStream(forReading,false)
While Not ObjStream.AtEndOfStream
Linha = Linha & ObjStream.Readline & "<br>"Wend
Application("linha") = Linha
objStream.Close
Set Fso = nothing
Set objStream = nothingEnd Sub
Depois para acessar é só utilizar
<%=Application("linha")%>
Bom tente fazer uns testes ai
Abraços
Estevam
Todas as Respostas
-
Luiz, seguinte, uma dica que talvez possa adiantear, o objeto Stream tem um método chamado ReadAll que traz tudo do arquivo, entao talvez voce nem precisa do loop para pegar linha a linha, se o problema for a quebra de linha tente assim:
linha = objsStream.ReadAll
linha = Replace(linha, chr(13), "<br>")
Terá que fazer um teste.
Já no caso da application, tente colocar o script no global.asa no evento, Application_OnStart, exemplo:
Sub Application_OnStart
Const forReading = 1, forWriting = 2, forAppending = 8
Set Fso = CreateObject("Scripting.FileSystemObject")
Set ObjFile = Fso.GetFile("D:\Inetpub\Clientes\tvwebondemand.plughosting.com.br\Html\publiquebanner\db\arquivo.txt")
Set objStream = ObjFile.OpenAsTextStream(forReading,false)
While Not ObjStream.AtEndOfStream
Linha = Linha & ObjStream.Readline & "<br>"Wend
Application("linha") = Linha
objStream.Close
Set Fso = nothing
Set objStream = nothingEnd Sub
Depois para acessar é só utilizar
<%=Application("linha")%>
Bom tente fazer uns testes ai
Abraços
Estevam
-
Obrigado desde já, deu Certo, coloco aqui a forma que o coloquei no arquivo global.asa caso alguem do forum precise
<script language="vbscript" runat="server">
Sub Application_OnStart
Const forReading = 1, forWriting = 2, forAppending = 8
Set Fso = CreateObject("Scripting.FileSystemObject")
Set ObjFile = Fso.GetFile("meucaminho\arquivo.txt")
Set objStream = ObjFile.OpenAsTextStream(forReading,false)
While Not ObjStream.AtEndOfStream
Linha = Linha & ObjStream.Readline & "<br>"Wend
Application("linha") = Linha
objStream.Close
Set Fso = nothing
Set objStream = nothingEnd Sub
</script>