LER ARQUIVOS TXT E EXCLUIR LINHAS
Bom dia!!!
Galera, tô quebrando a cabeça para tentar fazer algo....Mais ate agora nda..rsrs
Trabalho em uma Contabilidade, e todos os meses, tenho que transmitir os arquivos e ECF para o SEFAZ, porém, tenho uma rede de Supermercados que gera, em torno de 2500 p/ mês. Alguns desses arquivos âpresentam 02 linhas desnecessárias, é possivel criar uma rotina para ler o arquivo e excluir essas linhas?
Assim, coloco todos os arquivos com [Ô]erro[Ô] em uma pasta e uma aplicação varre todos os arquivos e exclui as linhas...
Valeu pela ajuda..
Galera, tô quebrando a cabeça para tentar fazer algo....Mais ate agora nda..rsrs
Trabalho em uma Contabilidade, e todos os meses, tenho que transmitir os arquivos e ECF para o SEFAZ, porém, tenho uma rede de Supermercados que gera, em torno de 2500 p/ mês. Alguns desses arquivos âpresentam 02 linhas desnecessárias, é possivel criar uma rotina para ler o arquivo e excluir essas linhas?
Assim, coloco todos os arquivos com [Ô]erro[Ô] em uma pasta e uma aplicação varre todos os arquivos e exclui as linhas...
Valeu pela ajuda..
Citação:é possivel criar uma rotina para ler o arquivo e excluir essas linhas?
Com certeza!
Vamos lá, passe um exemplo dessas linhas desnecessárias.
Ola Jonathas,
Entao, com disse, o numero da linhas pode alterar, dependendo do modelo da impressora fiscal.
Contudo, as linhas que possuem os valores, T0099 e T0216 podem ser excluidas.
Esse valores, sempre são apresentados, com inicio na coluna 55 até a 59.
Obrigado!
Entao, com disse, o numero da linhas pode alterar, dependendo do modelo da impressora fiscal.
Contudo, as linhas que possuem os valores, T0099 e T0216 podem ser excluidas.
Esse valores, sempre são apresentados, com inicio na coluna 55 até a 59.
Obrigado!
Ou seja, sempre que alguma das linhas do arquivo iniciar com os números de 55 até 59 podem ser excluÃdos!
é isso?
é isso?
Nao...
sempre que nas posições, de 55 a 59 houve algum desse valores: T0099 e T0216 podem ser excluidas.
sempre que nas posições, de 55 a 59 houve algum desse valores: T0099 e T0216 podem ser excluidas.
Feito!
Se não entender poste ai que explico.
Se não entender poste ai que explico.
Imports System.Text
Imports System.IO
[ô][ô][ô] <summary>
[ô][ô][ô] Define o local onde estão os arquivos contendo as frases desnecessárias
[ô][ô][ô] </summary>
Private Local As String = [Ô]D:\ArquivosERRO\[Ô]
Private Sub btnLimparArquivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimparArquivo.Click
ExluirLinha(Local & [Ô]Teste.txt[Ô])
End Sub
[ô][ô][ô] <summary>
[ô][ô][ô] Exclui uma liha especifica de um arquivo de texto
[ô][ô][ô] </summary>
[ô][ô][ô] <param name=[Ô]pArquivo[Ô]>Arquivo de texto</param>
Protected Sub ExluirLinha(ByVal pArquivo As String)
Dim Arquivo As StreamWriter
Dim Linhas As New List(Of String)
Using SR As New StreamReader(pArquivo)
Linhas.AddRange(System.IO.File.ReadAllLines(pArquivo.ToString))
SR.Dispose()
SR.Close()
End Using
Arquivo = New StreamWriter(pArquivo)
For Each Linha As String In Linhas.ToArray
If Not PodeApagar(Linha) Then
Arquivo.WriteLine(Linha)
End If
Next
Arquivo.Close()
End Sub
[ô][ô][ô] <summary>
[ô][ô][ô] Verifica se existe algumas palavras especificas no texto
[ô][ô][ô] </summary>
[ô][ô][ô] <param name=[Ô]pTexto[Ô]>Texto</param>
[ô][ô][ô] <returns><c>True</c> se existir alguma dessas palavras especificas</returns>
Protected Function PodeApagar(ByVal pTexto As String) As Boolean
Dim Palavras() As String = Split(pTexto, [Ô] [Ô])
For Contador As Integer = 0 To UBound(Palavras)
If Palavras(Contador) = [Ô]T0099[Ô] Or Palavras(Contador) = [Ô]T0216[Ô] Then
Return True
End If
Next
Return False
End Function
Obrigado pela ajuda...
Entao, fiz um form, e no evento do botao coloquei o código, porem, qdo executo, da erro: Não foi possÃvel localizar o arquivo [ô]D:\ArquivosERRO este.txt[ô].
Já criei a pasta ArquivosErro na unidade D:, e existe o arquivo teste.txt
Entao, fiz um form, e no evento do botao coloquei o código, porem, qdo executo, da erro: Não foi possÃvel localizar o arquivo [ô]D:\ArquivosERRO este.txt[ô].
Já criei a pasta ArquivosErro na unidade D:, e existe o arquivo teste.txt
Estranho
Aqui funcionou perfeitamente!
Tente alterar o caminho para algum outro diretório já existente.
Aqui funcionou perfeitamente!
Tente alterar o caminho para algum outro diretório já existente.
Private Sub btnLimparArquivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimparArquivo.Click
ExluirLinha([Ô]Informe aqui o caminho do arquivo .TXT[Ô])
End Sub
Ola Joathan....
Tbm achei estranho......mudei o local e tbm nao foi...
Por favor, ve se esta td certo, no arquivo anexo.
Abraço!
Tbm achei estranho......mudei o local e tbm nao foi...
Por favor, ve se esta td certo, no arquivo anexo.
Abraço!
[ô][ô][ô] <summary>
[ô][ô][ô] Define o local onde estão os arquivos contendo as frases desnecessárias
[ô][ô][ô] </summary>
Private Local As String = [Ô]C:\ArquivosErro este.txt[Ô] [ô] AQUI ESTà NO DIRETÓRIO C:
Private Sub btnLimparArquivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimparArquivo.Click
ExluirLinha(Local & [Ô]teste.txt[Ô]) [ô] AQUI VOCÊ ESTÀ CHAMANDO ASSIM: C:\ArquivosErro este.txt.texte.txt
End Sub
Faça assim
Crie o arquivo: C:\ArquivosErro este.txt
E substitua os métodos abaixo no seu código.
[ô][ô][ô] <summary>
[ô][ô][ô] Define o local onde estão os arquivos contendo as frases desnecessárias
[ô][ô][ô] </summary>
Private Local As String = [Ô]C:\ArquivosErro este.txt[Ô]
Private Sub btnLimparArquivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimparArquivo.Click
ExluirLinha(Local)
End Sub
Obs.: Já não altero o código fonte porque só tenho acesso ao VB.2005 aqui na empresa.
Entao.. ta dificil
Continua o mesmo erro...
Na janela de verificação, tbm aparce: A first chance exception of type [ô]System.IO.FileNotFoundException[ô] occurred in mscorlib.dll
Continua o mesmo erro...
Na janela de verificação, tbm aparce: A first chance exception of type [ô]System.IO.FileNotFoundException[ô] occurred in mscorlib.dll
Tópico encerrado , respostas não são mais permitidas