PROBLEMA COM ARQUIVO TEXTO

GANDA.NICK 24/05/2011 17:03:29
#374860
Olá a todos!!

Tenho um arquivo *.txt e gostaria de o abrir e passa-lo para uma textbox.


tenhos 2 exemplos:


1º

Citação:

Open vFicheiro For Input As nFileNum
lLineCount = 1
[ô] Read the contents of the file
Do While Not EOF(nFileNum)
Line Input #nFileNum, sNextLine
[ô]do something with it
[ô]add line numbers to it, in this case!
sNextLine = sNextLine & vbCrLf
sText = sText & sNextLine
Loop
[ô]TxtLOG.Text = sText
[ô]Me.RichTextBox1.Text = Empty
[ô]Me.RichTextBox1.Text = sText
[ô] Close the file
Close nFileNum



Mas o probelema é que o ficheiro tem 14000 linhas de demora muito tempo a fazer o processo.


2º
Citação:

Open [Ô]c:    este.txt[Ô] For Input As #1
Text1.Text = Input(LOF(1), #1)
Close #1



este dá erro:
Run-time error [ô]62[ô]
Input past end of file


não sei se o problema é do tamanho do arquivo, mas se for com um arquivo de 20 ou 30 linhas já não me dá o erro.



alguem me pode ajudar a solucionar o erro, ou tem outra maneira de mandar um arquivo *.txt para uma textbox ou richtextbox.


Obrigado desde já a todos.

Té+
DANLEONHART 24/05/2011 21:36:34
#374881
Você pode usar o FileSystemObject da biblioteca [Ô]Scripting[Ô]...

Basta referenciá-la:


Segue um script de exemplo...onde o arquivo de texto é chamado de [Ô]Nada.txt[Ô] e está na pasta da aplicação...

Em Generals Declarations:

Public FSO As New Scripting.FileSystemObject
Public Fil As Scripting.TextStream


Em um Botão:

Private Sub Command1_Click()
Set Fil = FSO.OpenTextFile(App.Path & [Ô]\Nada.txt[Ô], ForReading, True)
txt1.Text = Fil.ReadAll
Fil.Close
End Sub


O script do botão faz carregar o arquivo de texto [Ô]Nada[Ô] na TextBox [Ô]txt1.Text[Ô].

VALEU !
ACG1574 25/05/2011 10:34:00
#374903
Ganda, esse erro que vc disse Run-time error [ô]62[ô]
Input past end of file, é só pq tem uma linha em branco no final do arquivo, é só tirar ela que da certo.
MARCELO.TREZE 25/05/2011 13:58:16
#374951
Resposta escolhida
tenta usar um DoEvents neste código

Open vFicheiro For Input As nFileNum
lLineCount = 1
[ô] Read the contents of the file
Do While Not EOF(nFileNum)
DoEvents
Line Input #nFileNum, sNextLine
[ô]do something with it
[ô]add line numbers to it, in this case!
sNextLine = sNextLine & vbCrLf
sText = sText & sNextLine
Loop
[ô]TxtLOG.Text = sText
[ô]Me.RichTextBox1.Text = Empty
[ô]Me.RichTextBox1.Text = sText
[ô] Close the file
Close nFileNum


agora vejo um outro problema não tenho certeza que o textbox suportará muitas linhas, eu indicaria usar um RichTextBox mesmo.

ou simplismete fazer isto


RichTextBox1.FileName = [Ô]C:\seu_arquivo_texto.txt[Ô]
GANDA.NICK 31/05/2011 16:09:52
#375465
obrigado a todos por postarem!

cheguei a conclusão que o problema é do meu arquivo *.txt, se eu copiar todo o conteudo do arquivo e colar num arquivo novo e depois gravar já vai abrir sem problemas nenhuns com os exemplos dados em cima. (e só ocupa metade do tamanho)

por outro lado se eu abrir o arquivo directamente como ele chega a mim, não abre.


no exemplo do DANLEONHART aparece isto no richtextbox:

ÿþF


sendo que o [Ô]F[Ô] (3ª letra) é a primeira no arquivo *.txt




o colega ACG1574 disse para eu apagar a ultima linha que iria dar certo, infelizmente não resultou.




por fim o MARCELO-TREZE sugeriu:
RichTextBox1.FileName = [Ô]C:\seu_arquivo_texto.txt[Ô]


e abriu sim o arquivo mas com o seguinte problema:

em vez de:
O VBMANIA é o melhor site de VB 


aparece isto:

ÿþO  V B M A N I A  é  o  m e l h o r  s i t e  d e  V B


tambem aparece isto no inicio:
ÿþ


e tambem as linhas ficam com uma linha de intervalo.


alguem sabe se tem solução para isto.



desculpem pela demora a responder.
té +
MARCELO.TREZE 31/05/2011 17:41:08
#375485
teria como vc postar o arquivo texto que vc recebe, isso claro se não conter informações sigilosas, tipo rg, cpf etc...

assim seria mais fácil de tentarmos identificar o problema

GANDA.NICK 31/05/2011 19:14:15
#375494
eu apaguei o conteudo desse tal arquivo *.txt e escrevi lá a frase:

O VBMANIA é o melhor site de VB

depois salvei, vai aparecer com os espaços à mesma.

vai aí em anexo o arquivo *.txt
DANLEONHART 31/05/2011 20:11:49
#375497
[txt-color=#0000f0]GANDA_NICK[/txt-color]

Tente carregar seu arquivo com este ProjetoExemplo que estou postando...

Valeu !
GANDA.NICK 02/06/2011 21:57:43
#375745
Obrigado por postar novamente DANLEONHART mas seu exemplo não abriu o meu arquivo correctamente, ficou com os espaços que mencionei em cima...


vi agora que o ficheiro está gravado com codificação UNICODE é esse o problema... não há maneira de abrir o arquivo correctamente para um richtextbox ou mandá-lo para uma string?


Ficava grato se alguem me ajudasse!
MARCELO.TREZE 03/06/2011 10:40:36
#375768
GANDA to começando a achar que o problema está nas configurações reginoais e de idioma do seu windows, vá em painel de controle Configurações Regionais e de idioma e veja se encontra algo errado nas configurações.

Tópico encerrado , respostas não são mais permitidas