HOME | GUIA ASP | NOTÍCIAS | LIVRO DE VISITAS

 67.567 visitas desde 18-10-2000

Domingo, 5 de Setembro de 2010 

Pesquisar Guia ASP
>>
Dicas de Pesquisa

Join WebHost4Life.com

  Bem Vindo!
  Abordagem às ASP
  Requisitos para as ASP
  Escrever no Browser
  Declarar Variáveis
  If
  For ... Next
  For Each Objecto In Colecção ... Next
  While ... Wend
  Select Case
  And, Or, Not
  Subrotinas
  Funções
  Inclusões
  Introdução ao Modelo de Objectos
  Request
  ServerVariables
  Response
  Server
  Session
  Application
  Ficheiro Global.asa
  Request.Form
  Request.QueryString
  Get vs. Post
  Listar Registos
  Inserir Registos
  Actualizar Registos
  Eliminar Registos
  Declarações e Operadores
  Verificar Dados
  Converter Dados
  Funções de Formatação
  Funções Matemáticas
  Funções Data
  Constantes Data
  Constantes Dia Semana
  Strings
  Outras Funções
  Estruturas de Controlo
  Introdução SQL
  Select
  Inner Join e Outer Join
  Valores Calculados e Cláusula Group By
  Insert
  Update
  Delete
  Introdução ADO
  Objecto Connection
  Objecto Recordset
  Objecto Field
  Introdução COM
  TextStream
  Componentes de E-mail
  Mapa do Guia ASP

 

 

<< Introdução COM | Componentes de E-mail >>

referências > com > textstream


. : : . textstream . : : .

  Este objecto do componente FíleSystemObject não necessita de instalação pois vem já com o PWS ou IIS. Tudo o que tens de fazer é chamar o objecto do mesmo, e utilizá-lo. Este componente serve para usares ficheiros de texto. Algo que pode ser útil quando queres guardar informação de rápido acesso, ou mesmo criar páginas HMTL no momento, do tipo dar a hipótese aos utilizadores de criarem uma página sua em função de um template do site. Desta forma toda a página pode ser gerada com este componente e ficar disponível no momento, e num nível mais alto, ser enviada por attach via e-mail para o utilizador. Além destas funções podes também fazer procura de ficheiros, e movê-los no servidor.
  Seguem-se duas tabela com as propriedades e métodos para teres uma noção daquilo que se pode fazer com este objecto.

Métodos do TextStream

Método Tipo Descrição
Read Input Lê os caracteres um a um.
ReadLine Input Lê uma linha inteira.
ReadAll Input Lê toda a informação que está no ficheiro.
Write Output Escreve toda a informação que se introduzir, não mudando de linha, sendo a informação escrita logo a seguir a esta.
WriteLine Output Escreve a informação enviada, mudando de seguida de linha.
WriteBlankLines Output Introduz uma linha vazia.
Skip Input Salta um número específico de caracteres.
SkipLine Input Muda de linha.

Propriedades do TextStream

Propriedade Descrição
AtEndOfLine Maneira de se saber se chegou ao fim da linha.
Line Devolve o número da linha onde vamos.
Column Devolve o número de caracteres que foram percorridos desde o início da linha.
AtEndOfStream Maneira de se saber se chegou ao fim do ficheiro.

  Uma maneira fácil de perceber o seu processo do TextStream é o de escrever e ler as linhas de texto do ficheiro criado. Vou mostrar um exemplo de como criar uma página ASP, que faz uma emulação de um jogo que é uma história em que cada pessoa vai acrescentando um parágrafo. No final a história até pode ter nexo, ou pode mesmo ser a maior confusão. Mas isto serve apenas para teres a percepção de como são usados estes ficheiros, e como este componente funciona.
  Primeiro de tudo fazem-se uns ficheiros de teste, para te aperceberes daquilo que vais usar.

  Para abrir uma conexão para escrita e leitura de um ficheiro usam-se procedimentos diferentes.

  Para escreveres num ficheiro usa-se a estrutura,

Set ObjectoFicheiro = CreateObject("Scripting.fileSystemObject")
Set EscreveTexto = ObjectoFicheiro.CreateTextFile (Server.MapPath("ficheiro.txt"), True)

  Para leres a informação lá escrita é usada a estrutura,

Set ObjectoFicheiro = CreateObject("Scripting.fileSystemObject")
Set LerTexto = ObjectoFicheiro.OpenTextFile (Server.MapPath("ficheiro.txt"), 1)

  Desta maneira podes então criar linhas de texto e lê-las logo a seguir.

<%
Response.Write "Processo: Vai ser criada uma linha de texto.<br><br>"
Set ObjectoFicheiro = CreateObject("Scripting.fileSystemObject")
    Set EscreveTexto = ObjectoFicheiro.CreateTextFile (Server.MapPath("ficheiro.txt"), True)
        EscreveTexto.WriteLine("Esta linha está no ficheiro de texto...")
    EscreveTexto.Close
    Response.Write "Processo: Escreveu uma linha de texto.<br><br>"
    Response.Write "Processo: Vai ler linha de texto.<br><br>"
    Set LerTexto = ObjectoFicheiro.OpenTextFile (Server.MapPath("ficheiro.txt"), 1)
        Response.Write "Processo: A linha lida é: <b>" & LerTexto.Readline & "</b>"
    Set LerTexto = nothing
%>

  Neste pequeno script acima, o CreateObject("Scripting.fileSystemObject") cria uma conexão ao componente. Desta forma ficas com um objecto criado com a imagem do mesmo. O CreateTextFile é a forma como se define a criação de um ficheiro de texto. O Close é a forma para fechar um ficheiro de texto após escrita. O OpenTextFile abre um ficheiro de texto para leitura.
  Atenção! O ficheiro de texto que crias, tem de estar num directório com permissões de escrita!
  Código fonte deste script: texto.zip

  Ao executares este script, irás obter um resultado semelhante a este:

Processo: Vai ser criada uma linha de texto.

Processo: Escreveu uma linha de texto.

Processo: Vai ler linha de texto.

Processo: A linha lida é: Esta linha está no ficheiro de texto...

  E agora, vou mostrar como criar a página ASP da história que nunca acaba. A estrutura é um pouco básica, mas necessita de explicação prévia:

1 - Formulário para input do utilizador;
2 - Procedimento de escrita de nova linha para a história;
3 - Procedimento de leitura de texto;
4 - Procedimento para saber se já existe ficheiro.

  O facto de se procurar se já existe um ficheiro de história deve-se ao facto de que o FileSytem devolve erro se não encontrar o ficheiro. Desta forma cria-se um por cada vez que ele não existir.

A maneira de se saber se o ficheiro existe é de usar o próprio componente e usar um método chamado FileExists, que devolve True ou False consoante exista ficheiro que se procura ou não. Assim, podes então construir todo o código.

<%
Sub procura_ficheiro()
    Set ProcuraFicheiro = Server.CreateObject("Scripting.fileSystemObject")
    If Not ProcuraFicheiro.FileExists(Server.MapPath("historia.txt")) Then
        Set ObjectoFicheiro = CreateObject("Scripting.fileSystemObject")
            Set EscreveTexto = ObjectoFicheiro.CreateTextFile(Server.MapPath("historia.txt"), True)
                EscreveTexto.WriteLine("ERA UMA VEZ.....")
            EscreveTexto.Close
    End If
End Sub

Sub escrita_de_linha()
    Set ObjectoFicheiro = CreateObject("Scripting.fileSystemObject")
        Set EscreveTexto = ObjectoFicheiro.OpenTextFile (Server.MapPath("historia.txt"), 8, True)
        If len(Request.Form("linha")) > 1 Then
            EscreveTexto.WriteLine(Request.Form("linha"))
        End If
        EscreveTexto.Close
End Sub

Sub leitura_de_ficheiro()
    Set ObjectoFicheiro = CreateObject("Scripting.fileSystemObject")
        Set LerTexto = ObjectoFicheiro.OpenTextFile (Server.MapPath("historia.txt"))
        While NOT LerTexto.AtEndOfStream
            Response.Write "&nbsp;&nbsp;| " & LerTexto.ReadLine & "<br>"
        Wend
        Set LerTexto = Nothing
End Sub

Sub formulario()
    %>
    <br><br><p>
    <FORM action="historia.asp" method="POST">
    Novo Parágrafo: <input type="text" name="linha" size="60" MaxLength="140"><br>
    <input type="submit" name="submeter" Value="Acrescentar">
    </FORM>
    </p>
    <%
End Sub

If Request.Form("submeter") = "Acrescentar" Then
    escrita_de_linha
End If

procura_ficheiro
leitura_de_ficheiro
formulario
%>

  Aspecto do resultado deste script:

| ERA UMA VEZ.....
| Um gato maltês...
| Fez-te nas barbas...
| E não soube o que fez...
| etc...

  O resultado da história nunca é igual de site para site. Cada utilizador chega e escreve uma nova linha à sua maneira.
  Código fonte deste script: historia.zip

  Outra forma de usares este útil componente é na contagem dos acessos a um site. Para isso basta criares um ficheiro ASP que pode ser incluído em qualquer lado, contando assim os acessos ao nosso site. O esquema é muito simples. Tens o ficheiro com um valor, tiras o valor, incrementa-lhe um valor, e voltas a lá introduzir, mas neste caso sempre a criar o ficheiro gravando o novo por cima do antigo.
  Tudo aquilo que vai ser usado foi já visto no exemplo anterior, só o uso do objecto é que vai ser um pouco diferente.

<%
Set ObjectoFicheiro = CreateObject("Scripting.fileSystemObject")
    If Not ObjectoFicheiro.FileExists(Server.MapPath("contador.txt")) Then
        Set EscreveTexto = ObjectoFicheiro.CreateTextFile(Server.MapPath("contador.txt"), True)
            EscreveTexto.WriteLine("0")
        EscreveTexto.Close
    End If
    Set LerTexto = ObjectoFicheiro.OpenTextFile(Server.MapPath("contador.txt"),1)
        Valor = LerTexto.ReadLine
    Set LerTexto = Nothing
    Set EscreveTexto = ObjectoFicheiro.CreateTextFile(Server.MapPath("contador.txt"), True)
        EscreveTexto.WriteLine(valor + 1)
    EscreveTexto.Close
Response.write "Houveram <b>" & (valor + 1) & "</b> acessos...<br>"
%>

  Neste caso, se o ficheiro ainda não existir, é criado no momento de execução do scritp, e inicializando o contador com o valor "0", ou outro valor com que queiras iniciar a contagem.
  Aspecto do resultado deste script:

Houveram 7 acessos...

  Por cada entrada no site o valor é incrementado, ou seja, por cada vez que o script é executado. Podes fazer múltiplos refrescamentos da página para veres o contador a funcionar.
  Código fonte deste script: contador.zip

  Estes são apenas alguns exemplos do que podes fazer com este componente, basta puxar pela imaginação e criatividade!

<< Introdução COM | Componentes de E-mail >>

powered by
nrwebdesign.com

 

 

copyright © 2000/2010 - SafeMode WebArts - todos os direitos reservados

site optimizado para IE 5+, resolução de 800x600 e ligação RDIS ou ISDN

www.safemode.pt.vu produzido por nrwebdesign.com