Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Meokor

Ler conteúdo de arquivo *.txt

Recommended Posts

Olá pessoal do fórum,

Lá estou eu com mais um pequeno problema, e preciso de ajuda de vcs.

Estou fazendo uma DLL que lê um banco de dados, como se fosse um arquivo INI, mas agora preciso saber como faço pra ler e jogar em uma variável o conteúdo de texto que está entre um sinalzinho de igual (=) e aspas (").

É isso.

 

Desde já agradeço pela boa vontade.

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo,

Não seria necessáriamente isso que eu gostaria de saber, pq eu não sei o que vai estar escrito entre o sinal de igual (=) e as aspas("). Pode ser um pequeno contéudo de informações a serem lidas, mas também poderão ser bem grandes.

 

Obrigado, abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo,

Não seria necessáriamente isso que eu gostaria de saber, pq eu não sei o que vai estar escrito entre o sinal de igual (=) e as aspas("). Pode ser um pequeno contéudo de informações a serem lidas, mas também poderão ser bem grandes.

 

Obrigado, abraços...

Acho que posso te ajudar, já pedi essa ajuda aqui no fórum mas não lembro onde está o tópico, então vou postar meu código, depois se quiser procurar o tópico, tem bastante informação lá.

 

Segue abaixo:

 

CODE

 

private sub command1_Click()

 

text1.Text = AbreArquivo(App.Path & "\arquivo.txt")

 

end sub

 

Function AbreArquivo(sArquivo As String) As String

On Error GoTo TrataErro

Dim iARQ As Integer

Dim sLinha As String

Dim sResult As String

Dim achou As Double

 

iARQ = FreeFile

Open sArquivo For Input As iARQ

Do While Not EOF(iARQ)

'Pega o conteúdo da linha

Line Input #iARQ, sLinha

 

If InStr(UCase(Mid(sLinha, 1, Len(cboVenda.Text))), UCase(cboVenda.Text)) >= 1 Then 'achou o seu item

achou = True

End If

 

If achou Then

If InStr(sLinha, "FIM") >= 1 Then

achou = False

Exit Do

End If

End If

 

If achou Then

'Quebra a linha e concatena (soma) o resultado

sResult = sResult + Chr(13) & Chr(10) + sLinha

End If

 

Loop

 

AbreArquivo = sResult

 

'Fecha o arquivo

Close iARQ

 

Exit Function

TrataErro:

Call MensagemdeErro

End Function

Tá meio confuso, como disse, compensa você dar uma procurada no tópico pois está bem detalhado de quando me passaram.

 

Abraços e boa sorte...

 

Achei:

 

http://forum.imasters.com.br/index.php...;hl=arquivo+txt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu ae Claudio Neto!

 

É isso mesmo que precisava!

Mas aproveitando o tópico, tem como fazer encontrar esse contéudo, e se achar substituí-lo por outro, sem precisar criar um novo arquivo?

Como se fosse um Replace, mas no arquivo, entende?

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui encontrar o que queria...

 

Dim intext As String
   Dim outtext As String

   Open "c:\xxx\yyy.xml" For Input As #1
   Open "c:\xxx\yyy.new" For Output As #2
   
   Do While Not EOF(1)
	  Line Input #1, intext
	  
	  If InStr(1, intext, "Forename") > 0 Then
		 outtext = Replace(intext, "Forename", "Forename ID=1")
	  ElseIf InStr(1, intext, "Surname") > 0 Then
		 outtext = Replace(intext, "Surname", "Surname ID=2")
	  Else
		 outtext = intext
	  End If
	  
	  Print #2, outtext
   Loop
   
   Close

   Kill "c:\xxx\yyy.xml"
   Name "c:\xxx\yyy.new" As "c:\xxx\yyy.xml"

Neste código acima ele funciona como a função Replace, com a vantagem de procurar em um arquivo uma certa string e trocá-la.

 

Obrigado a todos, abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.