dark0 Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 Olá pessoal.Essa semana, eu tive que trabalhar um pouco com arquivos. Então, como eu nunca fui muito de mecher com fso.. fui obrigado à aprender a usar, heheEntão, eu entendi como funciona esse rolo todo.Vou dar uns exemplos aqui.. Seguindo então, aqueles tópicos exclusivos de componentes.Este, então, vamos para FSO.Inicialmente, não sei se vai ser de muita ajuda à vocês.. mas, vamos ver como fica.Postem duvidas relativas à isso, neste tópico mesmo.------------------------- Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 já postei esse tutorial uma vez, mais vou postar de novo pra ficar em destaque:Pequeno tutorial sobre txt:Para exemplificar o uso do objeto Server trabalharemos com o ActiveX FileSystemObject. Tal 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: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 = 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 AsciiPara lermos o conteúdo de um arquivo, 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ó vezMas 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:<% @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: <% @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 %> Fonte: Tutorial escrito por "LINEU ANTONIO DE LIMA SANTOS" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Junho 24, 2005 Autor Denunciar Share Postado Junho 24, 2005 hehevaleu o acréscimo ae cyber.eu resolvi criar este tópico, colocando as coisas que eu procurei, mas não consegui encontrar fresquinhas pra uso mas é isso ae..quanto mais conteudo no tópico.. melhor..abraçao Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 legal hein galera... agora seguinte... vou zuar com vocês...hehehhehe.....para ler e editar uma linha especifica no texto??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Junho 24, 2005 Autor Denunciar Share Postado Junho 24, 2005 bom.primeiro tem que ler.procurar a linha que tenha o texto procurado;Como?Facil!Use o codigo que eu coloquei no primeiro post, mais especificamente, aquele que passa linha por linha do arquivo.Depois, use um InStr, pra ver se o texto procurado está naquela linha.Depois, se encontrar, guarde a linha toda.. inclusive a frase.aí, depois abra o arquivo para escrita, e substitua a linha original, pela linha alterada.entendeu a logica?nunca fiz isso, hehe, mas se fosse fazer, essa foi a primeira idéia que me veio na cabeçaabração Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 huiaiuaiahiahuiah..... beleza.. vamos tentar e descobrir... vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Junho 24, 2005 Autor Denunciar Share Postado Junho 24, 2005 heheeu nunca precisei alterar nada.. pelo menos não com asp..só com php..e usei basicamente a logica que te passei..abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 legal hein galera... agora seguinte... vou zuar com vocês...hehehhehe.....para ler e editar uma linha especifica no texto??? Como diria Padre Kevedo ISSO NÃO ECZISTE!!! Não tem como editar um arquivo (minha opinião).já precisei fazer isso e a saida adotada foi trabalhar com um arquivo temporario. eu lia o que estava em um arquivo e gravava em outro com as alterações depois apagava o primeiro arquivo e renomeava o segundo com o nome do primeiro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Junho 24, 2005 Autor Denunciar Share Postado Junho 24, 2005 cybere a logica que eu coloquei ali?ela não funciona?com php funcionou aqui..mas nunca tentei com asp.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 pelo que vi até hoje sobre manipulação de arquivos txt tanto via FSO quanto através de Recordset, não é possivel excluir nem editar linhas, apenas inserir no final do arquivo, a lógica que voce colocou é praticamente a mesma q eu usei quando precisei, mais apenas para localizar a informação a ser editada para posterior gravação no arquivo temporário. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 Outra lógica:Jogar todo o conteudo do arquivo texto para um vetor, cada linha seria seria um elemento do vetor. (da pra fazer com recordset.getrows) ou lendo via FSO e gravando no vetor.pesquise dentro do vetor e altere o valor da forma desejada.depois grave todo o conteudo do vetor no arquivo sobrescrevendo o mesmo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Junho 24, 2005 Denunciar Share Postado Junho 24, 2005 eu fiz como o cyber disse.. pois não consegui editar o arquivo de jeito nenhum...então1- Lê o arquivo... armazena em um vetor2- cria um arquivo temporario com o conteudo modificado3- deleta o arquivo original4- renomeia o temporario...pronto... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Junho 27, 2005 Denunciar Share Postado Junho 27, 2005 Poderia fazer assim:então1- Lê o arquivo... armazena em um vetor2- sobrepoe o arquivo original Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Agosto 3, 2005 Denunciar Share Postado Agosto 3, 2005 Cyber,1- Lê o arquivo já armazenando o valor de cada linha em um array/vetor2- tratamentos para alterações nas linhas que você quer3- monte a estrutura do novo conteudo completo4- RENOMEIE o arquivo original (caso fosse "file.txt" passa a ser "file.txt_temp")5- RENOMEIE o arquivo "file.txt_temp" para "file.txt"Quando você RENOMEIA, você realmente RENOMEIA.Porém, não pode renomear para o mesmo nome, não importando a CAIXA (uppercase/lowercase).Pois este método.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Agosto 4, 2005 Denunciar Share Postado Agosto 4, 2005 fiz um exemplo de edição de arquivos txt com ASP, é bem simples (ta meio corrido aki pra mim) serve apenas como lógica, mais da pra incrementar bem:<% Set FSO = Server.CreateObject("Scripting.FileSystemObject") if request("botao") = "gravar" then novotexto = request("texto") Set novoarquivo = FSO.OpenTextFile("c:\teste\texto.txt",2) novoarquivo.Write(novotexto) novoarquivo.close end if Set arquivo = FSO.OpenTextFile("c:\teste\texto.txt",1) Response.Write "Conteudo do arquivo<BR>" textorecuperado = arquivo.Readall Response.Write "<Form action='" & request.servervariables("script_name") & "'>" Response.Write "<textarea lines=10 rows='20' cols='60' name='texto'>" & textorecuperado & "</textarea><br>" Response.Write "<input type=submit name='botao' value='gravar'>" Response.Write "</form>" arquivo.close Set FSO = nothing %>Detalhe: não é preciso renomear nem gerar arquivos temporários é só gravar por cima. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ju_rezende Postado Junho 20, 2006 Denunciar Share Postado Junho 20, 2006 Só não entendi o botão, poderia me explicar melhor? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Junho 20, 2006 Denunciar Share Postado Junho 20, 2006 Só não entendi o botão, poderia me explicar melhor?Como a mesma pagina edita e grava as alterações eu coloquei uma verificação para saber e o botão gravar foi clicado, caso ele tenha sido clicado as alterações no arquivo são gravadas, caso contrario é apenas aberto o arquivo para edição. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ju_rezende Postado Junho 20, 2006 Denunciar Share Postado Junho 20, 2006 Sim afora entendi, gostaria de saber se é possível, estipular quantidade de arquivos que vão dentro de uma pasta, por ex um pasta de foto, que só receba no máximo 15 arquivos e quando exibir, Gostaria de saber tabém como deletar essas 15 fotos da pasta mas nã apagar a pasta.Se ainda posso fazer o botão procurar, para o usuario procurar as fotos dentro maquina dele, para depois subir as fotos.Isso é possível?Grata pela atenção Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ju_rezende Postado Junho 21, 2006 Denunciar Share Postado Junho 21, 2006 Pessoal por vavor me de uma ajudinha Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
dark0
Olá pessoal.
Essa semana, eu tive que trabalhar um pouco com arquivos. Então, como eu nunca fui muito de mecher com fso.. fui obrigado à aprender a usar, hehe
Então, eu entendi como funciona esse rolo todo.
Vou dar uns exemplos aqui.. Seguindo então, aqueles tópicos exclusivos de componentes.
Este, então, vamos para FSO.
Inicialmente, não sei se vai ser de muita ajuda à vocês.. mas, vamos ver como fica.
Postem duvidas relativas à isso, neste tópico mesmo.
-------------------------
Link para o comentário
Compartilhar em outros sites
18 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.