Ir para o conteúdo
Snake-Bite

Retirar Linha de Ficheiro

Mensagens Recomendadas

Snake-Bite

Boa noite,

estou com uma dúvida.

Preciso de retirar de 1 ficheiro txt algumas linhas para mostrar numa msgbox, é possivel???

Exemplo:

------.

Cabeçalho

-------

Nome

-------

Idade

-------

Nº Telm

-------

Queria retirar só a linha com o nome e o nº telm.

Cmpts

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Claro que é possível.

Qual é a dúvida? O que já tentaste?


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Snake-Bite

Claro que é possível.

Qual é a dúvida? O que já tentaste?

Como ainda sou muito amador, tirei alguns exemplos da net.

Este abre-me o ficheiro todo numa msgbox:

Dim texto As String = My.Computer.FileSystem.ReadAllText("C:\Temp\ed00236.alc")

MsgBox(texto)

-----------------------------------------------------------

Tentei adaptar este:

Dim fileReader As System.IO.StreamReader

fileReader = My.Computer.FileSystem.OpenTextFileReader("C:\Temp\ed00236.alc")

Dim stringReader As String

stringReader = fileReader.ReadLine()

MsgBox("The first line of the file is " & stringReader)

Vai-me buscar a 1ª linha mas não sei o que alterar para expecificar a linha que quero.

Este era o ideal, escolhendo tipo Linha(2 & 4), não sei se dá para fazer...

-----------------------------------------------------------

Consigo lá chegar com o texto como fiz abaixo:

Dim linhas() As String = IO.File.ReadAllLines("C:\Temp\ed00236.alc")

For Each linha As String In linhas

If linha.Contains("Nome:") Then

MsgBox(linha)

End If

Next

Já ando um bocado baralhado com isto...

Editado por Snake-Bite

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Se o que interessa apanhar é uma linha inteira, faz um ReadAllText para uma String e um Split(vbCrLf) em cima.

Ficas com um array com uma linha do ficheiro em cada slot. Escolhes depois a linha por índice


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
He B TeMy

Visto que queres as linhas 2 e 4, em vez de fazeres isto:

Dim linhas() As String = IO.File.ReadAllLines("C:\Temp\ed00236.alc")
For Each linha As String In linhas
If linha.Contains("Nome:") Then
MsgBox(linha)
End If
Next

Fazes isto:

Dim linhas() As String = IO.File.ReadAllLines("C:\Temp\ed00236.alc")
MessageBox.Show(linhas(2) & " SEPARADOR " & linhas(4))
End If
Next

Este código mostrará uma messagebox com um "separador" no meio das duas linhas, adapta como quiseres.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Neste caso, se queres as linhas 2 e 4, os índices são 1 e 3 :)


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.