leticiaxc Posted February 19, 2009 at 07:06 PM Report Share #245591 Posted February 19, 2009 at 07:06 PM olá a todos! sou nova por aqui e sou nova em vb.net. criei coragem e resolvi fazer uma pegunta pois achei uma pegunta igual só que não haviam respostas... 😛 estou com uma dificuldade parecida que essa pessoa: http://www.portugal-a-programar.pt/index.php?showtopic=21190 eu estou fazendo um programa que deve ler um txt, e se nesse txt conter uma determinada palavra, troca-la por outra palavra. Já tentei o replace e o if, mas não funciona... será que alguém sabe o que estou fazendo de errado? :dontgetit: meu codigo atual.. essa sub fica no evento click de um botão, só que eu clico no botão e não acontece nada, nem aparece erro nenhum... Private Sub TrocaString() plano = CreateObject("Scripting.FileSystemObject") relatorio = plano.OpenTextFile("C\teste.txt") If System.IO.File.Exists("C:\teste.txt") = True Then 'testa se o arquivo existe While relatorio.AtEndOfStream <> True fLinha = relatorio.Readline ' lê as linhas If fLinha = "exemplo" Then fLinha.Replace("exemplo", "legal") 'trocar por legal Messagebox.show("Arquivo alterado!") End If End While Else MessageBox.Show("Arquivo não encontrado!") ' se o arquivo não for encontrado, messagebox End If End Sub Grata desde já! 😁 Link to comment Share on other sites More sharing options...
Tim§id€ Posted February 19, 2009 at 08:45 PM Report Share #245619 Posted February 19, 2009 at 08:45 PM olá a todos! sou nova por aqui e sou nova em vb.net. criei coragem e resolvi fazer uma pegunta pois achei uma pegunta igual só que não haviam respostas... 😛 estou com uma dificuldade parecida que essa pessoa: http://www.portugal-a-programar.pt/index.php?showtopic=21190 eu estou fazendo um programa que deve ler um txt, e se nesse txt conter uma determinada palavra, troca-la por outra palavra. Já tentei o replace e o if, mas não funciona... será que alguém sabe o que estou fazendo de errado? :dontgetit: meu codigo atual.. essa sub fica no evento click de um botão, só que eu clico no botão e não acontece nada, nem aparece erro nenhum... Private Sub TrocaString() plano = CreateObject("Scripting.FileSystemObject") relatorio = plano.OpenTextFile("C\teste.txt") If System.IO.File.Exists("C:\teste.txt") = True Then 'testa se o arquivo existe While relatorio.AtEndOfStream <> True fLinha = relatorio.Readline ' lê as linhas If fLinha = "exemplo" Then fLinha.Replace("exemplo", "legal") 'trocar por legal Messagebox.show("Arquivo alterado!") End If End While Else MessageBox.Show("Arquivo não encontrado!") ' se o arquivo não for encontrado, messagebox End If End Sub Grata desde já! 😁 O que tu queres e tipo abrir um ficheiro txt por exemplo no disco C:\letras.txt abrilo no programa e depois mudificalo de salvar o texto modificado!? !? ...º(>_<)º... Link to comment Share on other sites More sharing options...
anolsi Posted February 19, 2009 at 08:49 PM Report Share #245623 Posted February 19, 2009 at 08:49 PM Tens aqui exemplos de como trabalhar com ficheiros de texto em VB.net "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
jpaulino Posted February 19, 2009 at 08:51 PM Report Share #245625 Posted February 19, 2009 at 08:51 PM Olá, Duas coisas sobre o código que mostraste: 1º Isto não faz nada! fLinha.Replace("exemplo", "legal") Os seja, o resultado devolvido é que tem a alteração e para poderes utilizar esse valor tens de fazer algo: Dim result As String = fLinha.Replace("exemplo", "legal") Neste momento a variável "result" tem a string com a alteração. 2º Para se alterar um ficheiro de texto tens de criar um novo StreamWriter e à medida que percorres o ficheiro original, colocas lá (no StreamWriter) o que queres no resultado final. Podes ver alguns exemplos: VB.NET: Utilização de Ficheiros de Texto Link to comment Share on other sites More sharing options...
leticiaxc Posted February 20, 2009 at 04:18 PM Author Report Share #245799 Posted February 20, 2009 at 04:18 PM obrigada pela respostas!! 😕 2º Para se alterar um ficheiro de texto tens de criar um novo StreamWriter e à medida que percorres o ficheiro original, colocas lá (no StreamWriter) o que queres no resultado final. é possível botar o StreamWriter dentro do while? ou deveria usa-lo depois do "If System.IO.File.Exists("C:\teste.txt") = True Then .." o ideal seria que o programa abrisse o txt, mas sem que o usuário pudesse visualiza-lo, alterasse a fLinha e salvasse o arquivo já alterado... será que isso é possível? ? Link to comment Share on other sites More sharing options...
Hellblazer Posted February 20, 2009 at 04:54 PM Report Share #245804 Posted February 20, 2009 at 04:54 PM Pelo bloco de notas nao consigo confirmar mas tenta: Imports System.IO Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim strPath = "C:\teste.txt" Dim fs As New FileStream(strPath, FileMode.Open) Dim sr As New StreamReader(fs) Dim strFile As String strFile = sr.ReadToEnd() sr.Close() Dim fstwo As New FileStream(strPath, FileMode.Create) strFile = strFile.Replace("flinha_por_exemplo", "novo texto") Dim sw As New StreamWriter(fstwo) sw.Write(strFile) sw.Flush() sw.Close() End Sub End Class There are two ways to write error-free programs; only the third one works. Link to comment Share on other sites More sharing options...
leticiaxc Posted February 20, 2009 at 05:08 PM Author Report Share #245809 Posted February 20, 2009 at 05:08 PM funcionou perfeitamente! 😁 muito obrigada, eu já tinha feito de tudo e não conseguia arrumar isto!!! valeu mesmo!! 😕 Link to comment Share on other sites More sharing options...
Hellblazer Posted February 20, 2009 at 05:18 PM Report Share #245812 Posted February 20, 2009 at 05:18 PM de nada 😕 nao te esquecas de por no nome do topico resolvido 🙂 There are two ways to write error-free programs; only the third one works. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now