none
Como seria a correta forma de usar este script num arquivo Global.asa? RRS feed

  • 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
    %>

    sexta-feira, 22 de agosto de 2008 03:30

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 = nothing

    End Sub

     

    Depois para acessar é só utilizar

     

    <%=Application("linha")%>

     

    Bom tente fazer uns testes ai

     

    Abraços

     

    Estevam

    sexta-feira, 22 de agosto de 2008 14:33

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 = nothing

    End Sub

     

    Depois para acessar é só utilizar

     

    <%=Application("linha")%>

     

    Bom tente fazer uns testes ai

     

    Abraços

     

    Estevam

    sexta-feira, 22 de agosto de 2008 14:33
  • 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 = nothing

    End Sub
    </script>

    domingo, 24 de agosto de 2008 18:56