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

ADNSil

Retirar informação especifica de um ficheiro .txt

14 mensagens neste tópico

boas

preciso de uma ajudinha para um projecto.

tenho de escolher a informação a retirar do .txt por exemplo:

(a baixo mostro um exemplo da informação contida no .txt)

aaaaaaaa

bbbbbbbb

cccccccc

dddddddd

eeeeeeee

ffffffffffff

gggggggg

hhhhhhhh

Imaginando que é esta a informação do .txt quero ler a informação a partir da linha "dddddddd" ate a linha "gggggggg" e  apareça numa textbox, ignorando o que vem antes e depois.

alguma ideia ??

obrigado

[resolvido]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Muitas :cheesygrin:  Mostra la o codigo que ja fizeste para tentares fazer isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Primeiro abre o ficheiro para leitura

  Dim str() As String
  str = File.ReadAllLines("caminho do ficheiro")'Estas a carregar todas as linhas para um array
        For i = 0 To str.Length - 1
         'Quando estas a percorrer as linhas carregadas... colocas aqui codigo para fazer o que queres
         'vais usar codigo para manipular string...
        Next

é um inicio, a ideia é esta, agora e so desenvolveres

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

José Lopes eu faria de modo ainda mais simples:

Não testei o código, escrevi-o aqui directamente.

Dim blnLerDados As Boolean = False
Dim Texto As String = ""
'Cria um array, colocando o conteúdo de cada linha em indexs diferentes
Dim Linha() As String = Strings.Split(My.Computer.FileSystem.ReadAllText("FICHEIRO.TXT", System.Text.Encoding.Default), ControlChars.CrLf)
        'Verifica linha a linha
        For i As Integer = 0 To Linha.Length - 1
            'Se não estiver vazia...
            If Linha(i) <> "" Then

                'Verifica o conteúdo
                If (Linha(i) = "dddddddd") Then
                  blnLerDados = True 
                  Next 
                Elseif (Linha(i) = "gggggggg") Then
                 blnLerDados = False
                 Next
                End If

                'Lê o Conteúdo
                if (blnLerDados = True) Then
                   Texto = Texo & " " & Linha(i)
                 End If
            End If
        Next
        'Escreve o texto na TextBox
        TextBox1.Text = Texto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Corrigido os erros =)

Dim blnLerDados As Boolean = False
        Dim Texto As String = ""
        'Cria um array, colocando o conteúdo de cada linha em indexs diferentes
        Dim Linha() As String = Strings.Split(My.Computer.FileSystem.ReadAllText("C:\teste.TXT", System.Text.Encoding.Default), ControlChars.CrLf)
        'Verifica linha a linha
        For i As Integer = 0 To Linha.Length - 1
            'Se não estiver vazia...
            If Linha(i) <> "" Then

                'Verifica o conteúdo
                If (Linha(i) = "dddddddd") Then
                    blnLerDados = True
                Elseif (Linha(i) = "gggggggg") Then
                    blnLerDados = False

                End If

                'Lê o Conteúdo
                If (blnLerDados = True) Then
                    Texto = Texto & " " & Linha(i)
                End If
            End If
        Next

        'Escreve o texto na TextBox
        TextBox1.Text = Texto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol..nao percebi a do eu faria mais simples... a unica coisa que eu disse foi para carregar o ficheiro para um array...nem sequer escrevi código para fazer o que era pedido... foi mais a ideia...

De qualquer modo, assim sem testar rb..parece-me que a tua solução deve funcionar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, isto ajudou-me imenso, agora o problema é o seguinte:

No meu ficheiro texto, tenho um codigo-fonte de uma pagina HTML, e quero que ele vá buscar só esta parte (mesmo que seja em assim em "bruto)

<tr class='Branco'><td><FONT class='textotabela'>EURIBOR</font></td><td><FONT class='textotabela'>12 Meses</font></td><td align='center'><FONT class='textotabela'>04/03/2009</font></td><td align='right'><FONT class='textotabela'>1,993%</font></td><td align='right'><FONT class='textotabela'>2,135%</font></td></tr>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

José Lopes, eu sei, mas a ideia que deste foi gravar o ficheiro todo numa var, "normal" e eu simplificava, usando o array e colocando linha a linha no array.

Hellblazer, penso que como colocas-te não irá funcionar...terá que ser assim:

  Dim blnLerDados As Boolean = False
        Dim Texto As String = ""
        'Cria um array, colocando o conteúdo de cada linha em indexs diferentes
        Dim Linha() As String = Strings.Split(My.Computer.FileSystem.ReadAllText("C:\teste.TXT", System.Text.Encoding.Default), ControlChars.CrLf)
        'Verifica linha a linha
        For i As Integer = 0 To Linha.Length - 1
            'Se não estiver vazia...
            If Linha(i) <> "" Then


                'Lê o Conteúdo
                If (blnLerDados = True) And Not (Linha(i) = "gggggggg") Then
                    Texto = Texto & " " & Linha(i)
                End If

                'Verifica o conteúdo
                If (Linha(i) = "dddddddd") Then
                    blnLerDados = True
                ElseIf (Linha(i) = "gggggggg") Then
                    blnLerDados = False
                End If
            End If
        Next
        'Escreve o texto na TextBox
        TextBox1.Text = Texto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Weasel :cheesygrin: eu so corrigi os erros do codigo que tu escreves-te :D não testei...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

desculpa, mas ou estou enganado..ou tanto de um modo como de outro.. o texto é todo carregado (linha a linha) para um array de strings... estarei confundido...ou está-me a escapar alguma coisa?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim basicamente foi o que ele fez :cheesygrin: nao e a  melhor prática mas funciona...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas, mais uma vez

obrigado por a ajuda, antes de aparecer a tal correcção dos erros já tinha eu corrigido e verificado se funcionava. já conseguía ler o ficheiro, só faltava mesmo tirar a informação seleccionada.

faz exactamente o que queria, não respondi logo pois ainda estou a tentar ligar este código com outro e tentar melhorar o projecto...

de qualquer forma obrigado mais uma vez a quem ajudou directamente e a quem tentou fazer com que eu la chegasse...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

desculpa, mas ou estou enganado..ou tanto de um modo como de outro.. o texto é todo carregado (linha a linha) para um array de strings... estarei confundido...ou está-me a escapar alguma coisa?

Nem tinha reparado que usas-te File.ReadAllLines sendo assim vai dar ao mesmo.

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