quarta-feira, 17 de setembro de 2003

Tudo sobre txts leitura e criação

Este componente possui uma serie de propriedades e métodos para manipulação de arquivos e diretórios do servidor Web.


Para instanciar tal objeto numa página ASP escrevemos o seguinte código:


 


Dim Objeto


 


Set Objeto = Server.CreateObject("Scripting.FileSystemObject")
 


 


Esse objeto recém instanciado representa o Sistema de Arquivo do servidor Web. Devemos agora criar outro objeto(TextStream), a partir desse, para representar um determinado arquivo. Fazemos isso, utilizando o método OpenTextFile do FileSystemObject:


 


Set Arquivo = Objeto.OpenTextFile(Nome,modo,cria,formato)
 


 


Onde:


Nome
 Nome do arquivo a ser utilizado pelo script
 
Modo
 Modo de Abertura do arquivo. 1 para leitura, 2 para gravação por cima, 3 para gravação adicional.
 
Cria
 Valor Booleano que indica se o arquivo deve ser criado(true) ou não(false) caso não  exista.
 
Formato
 Indica o formato de gravação do arquivo a ser utilizado. -1 Unicode, 0 Ascii
 


 


Para lermos o conteúdo de um ar[quivo, podemos utilizar os seguintes métodos do objeto TextStream:


Read (quantidade)
 Lê um determinado número de caracteres do arquivo
 
ReadLine
 Lê uma linha inteira do arquivo
 
ReadAll
 Lê o arquivo inteiro de uma só vez
 


 


Mas se nos interessar gravar informações no arquivo, os métodos disponíveis são:


Write
 Grava uma string no arquivo
 
WriteLine
 Grava um string no arquivo, incluindo a quebra de linha
 
WriteBlankLines
 Grava um determinado número de linhas em branco num arquivo
 


 


Esse componente ActiveX ainda possui as seguintes propriedades:


 


AtEnOfLine
 Indica o fim de uma determinada linha do arquivo
 
AtEnOfStream
 Indica o Final do Arquivo
 
Column
 Indica em que coluna do arquivo estamos
 
Line
 Indica o número da linha atual do arquivo
 


 


O código a seguir mostra como abrimos um arquivo localizado no servidor WEB e exibimos seu conteúdo:


 


Exemplo 23.1 : Arquivo1.asp 


 


<% @Language=vbScript %>


<HTML><HEAD><TITLE>Curso ASP</TITLE></HEAD>


<BODY><CENTER>


<% dim final


   final = "</CENTER></BODY></HTML>"


   On Error Resume Next


   Set Obj = Server.CreateObject("Scripting.FileSystemObject")


   Set arquivo = Obj.OpenTextFile("D:\pessoas.txt",1)


   if Err then


       Response.write "Ocorreu um erro tentando abrir o arquivo!"


       Response.write final


       Response.End


   end if


   Response.Write "Lista de E-mails<BR>"


   Response.write "<HR>"


   do while arquivo.AtEndOfStream=false


     a = arquivo.Readline 


     response.write a & "<BR>"


     a = arquivo.Readline 


     response.write a & "<HR>"


   loop


   Response.Write "Nova Entrada"


   Response.Write "<FORM ACTION=Arquivo2.asp>"


   Response.Write "NOME : <INPUT TYPE=TEXT NAME=NOME><BR>"


   Response.Write "EMAIL : <INPUT TYPE=TEXT NAME=EMAIL><BR>"


   Response.Write "<INPUT TYPE=SUBMIT VALUE=ENVIAR></FORM>"


   REsponse.Write final


   arquivo.close


%>
 


 


A próxima página ASP mostra como escrever num arquivo localizado no servidor WEB. Lembrando que essa página deve ser acessada por um formulário WEB com um objeto de NAME=Nome e outro NAME=Email:


 


Exemplo 23.2 Arquivo2.asp


<% @Language=vbScript %>


<HTML><HEAD><TITLE>Curso ASP</TITLE></HEAD>


<BODY><CENTER>


<% dim final


   final = "</CENTER></BODY></HTML>"


   On Error Resume Next


   Set Obj = Server.CreateObject("Scripting.FileSystemObject")


   Application.Lock


   Set arquivo = Obj.OpenTextFile("D:\pessoas.txt",8)


   if Err then


       Response.write "Ocorreu um erro tentando abrir arquivo!"


       Response.write final


       Response.End


  end if


   Arquivo.WriteLine(Request("Nome"))


   Arquivo.WriteLine(Request("Email"))


   arquivo.close


   if Err then


       Response.write "Ocorreu um erro tentando gravar no arquivo!"


       Response.write final


       Response.End


   else


      Response.Write "Dados inseridos com sucesso!" & "<BR>"


      Response.Write "Nome:" & Request("Nome") & "<BR>"


      Response.Write "Email :" & Request("Email")


   end if


   Response.Write final


%>
 



Por Nissim Victor - 9167-9495


Web Developer



 


 



Esta matéria foi postada originalmente no ASP4Developers por Ozzy Sys Informatica LTDA, que na época era "Ozzy Sys Informatica LTDA -

Fabrica de software desenvolvido em
ASP , VB e plataforma .net ...
SQL , Oracle

Transformamos todos os seus problemas em soluções ...

( 011 ) 9167-9495". Hoje, vai saber...