• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

anonimou

apagar linhas de texto num ficheiro de texto

8 mensagens neste tópico

Olá novamente,

Estou com um grave problema...

Estou a criar um programa em Visual basic 6 para ler ficheiro de texto com muita palha lá dentro e pretendo apagar o conteudo das linhas todas excepto as começarem por umas determinadas palavras.

Exemplo no interior do ficheiro de texto:

dfsdfdsfeerwe

fdgdgdf

fgfgdfgdgdf

linha para não apagar

linha para não apagar

fgdfgdfgdfdfg

fgdfgdf

linha para não apagar

dfsdfsd

Neste caso quero manter todo o conteudo da linha 4,5 e 8 e apagar todas as restantes linhas.

(todas as linhas que pretendo manter começam por palavras especificas)

Alguem me pode ajudar? é que nem sei bem por onde começar...

Obrigado

Délio Pontes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O mais fácil é criares um ficheiro novo e copiares as linhas q queres manter para o novo ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O mais fácil é criares um ficheiro novo e copiares as linhas q queres manter para o novo ficheiro.

E como faço isso???

Obrigado,

Délio Pontes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Através de FileStreams.

Pesquisa no google por VB6 FileStream para veres exemplos e tutoriais.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

localizar a string no ficheiro de texto é facil...pior é fazer o programa copiar a linha toda onde esta essa string...

Ninguem tem uma ideia?

Obrigado,

Délio Pontes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já consegui evoluir um pouco...

suponhamos que tenho um ficheiro de texto com a informação:

teste texto que interessa...

palha, palha,palha........

e mais palha........

teste texto que tambem interessa...

e muito mais palha.................

teste texto que novamente interessa...

e tenho o codigo visual basic:

Private Sub Command1_Click()

Dim file As Integer

file = FreeFile()

Open "C:\teste.txt" For Input As file

Input #(1), linha_toda

codigo = Mid(linha_toda, 1, 5)

If codigo = "teste" Then Print linha_toda

End Sub

Neste momento já consigo ir buscar toda as linhas com a  informação que pretendo ao ficheiro.

O meu problema é que as linhas vão me aparecendo uma a uma cada vez que clico no "comandbutton".

Existe alguma maneira de ir buscar astodas as linhas pretendidas clicando uma unica vez no "comandbutton"?

Outra duvida que tenho, é porque me dá um erro ao clicar á nona vez?

Obrigado,

Délio Pontes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá!

Depois de muito batalhar encontrei a solução!!!!!!!

Private Sub Command1_Click()

Dim file As Integer

file = FreeFile()

Open "C:\teste.txt" For Input As #file

Do Until EOF(file)

Line Input #file, linha_toda

codigo = Mid(linha_toda, 1, 5)

If codigo = "teste" Then Print linha_toda

Loop

Close #file

End Sub

Obrigado pela vossa ajuda...

Délio Pontes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora