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

[LPGA]volumes

[VB.NET] Ler ficheiros txt

22 mensagens neste tópico

boas,

alguem me pode aqui uma ajudita, eu precisava de saber como é que posso ler um ficheiro td do tipo,

tenho

ola1,ola2,ola3

ola4,ola5,ola6

por ai fora

eu precisava de tirar 1º a linha td e dps fazer o split.. isso eu sei.., depois passava para a outra linha e assim sucessivamente.. alguem me pode dar umas luzes ? ;)

brigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para Visual Basic .NET

Imports system.io no incio da form

Dim Leitor As New StreamReader("temp")

Do While Leitor.Peek() >= 0

Dim Linha As String = Leitor.ReadLine

Dim Palavra As String = ""

For Each Letra As Char In Linha

If Letra <> "," Then

Palavra = Palavra + Letra

Else

MsgBox(Palavra) 'palavras

Palavra = ""

End If

Next

If Palavra <> "" Then

MsgBox(Palavra) 'Ultima palavra

Palavra = ""

End If

Linha = Nothing

Palavra = Nothing

Loop

Leitor.Close()

Leitor = Nothing

Isto só funciona no VB.NET para VB6 é preciso alterar alguns parametros mas a base é isto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas onde é que ai se faz a referencia ao ficheiro que se quer 'analizar' :? ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Citação

Para Visual Basic .NET


Dim Leitor As New StreamReader("temp") 'Temp é a localização do ficheiro

 

basta substituir o temp pelo nome do ficheiro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas,

antes de mais obrigado pela ajuda! :)

mas de qualquer maneira ha aqui umas cenas k n percebi, pk é k separas-te a ultima palavra das outras ?

tenho outra duvida ja agora, tenho esta linha

Dim da As OleDbDataAdapter = New OleDbDataAdapter("insert into clientes (nomecliente) values (variavel)", myConnection)

como é k eu meto a variavel ali ? ja andei a peskisar e vi com ?variavel mas tb n dá :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Citação

Dim da As OleDbDataAdapter = New OleDbDataAdapter("insert into clientes (nomecliente) values (variavel)", myConnection)

Se o nomecliente é texto deves por 'nome', se é numero não são necessárias as peliculas.

Ex: "insert into clientes (nomecliente) values ('Sergio Matias')"

com Numero

"insert into clientes (nomecliente) values (12310856)"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se quizeses usar uma variável do VB

Dim variavel as string ="Nome do Cliente"

... "insert into clientes (nomecliente) values ('" & variavel vb & "')" ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Citação

Se o nomecliente é texto deves por 'nome', se é numero não são necessárias as peliculas.

Ex: "insert into clientes (nomecliente) values ('Sergio Matias')"

com Numero

"insert into clientes (nomecliente) values (12310856)"

yah eu sei... mas se eu meto ('variavel') ele escreve na bd variavel e n o conteudo dela.. lolol

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hmm por experiencia do c (que e imensa XD) eu tirava os apostrofes... nao sei.. tambem nao percebo nada de vb

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
'== Declarar Variáveis ==

Dim NomeCliente as String

Dim da As OleDbDataAdapter

Dim SQL as String

'== Definir o Nome do Cliente ==

NomeCliente = "Joao Felismino"

'== Define a String de Insersão dos Dados ==

SQL = "INSERT INTO clientes (nomecliente) VALUES ('" & NomeCliente & "')"

'== Executa o comando na base de dados ==

da = New OleDbDataAdapter( SQL , myConnection)

Não percebi logo de ínicio o que precisavas. As peliculas indicam ao SQL que é um conjunto de texto, o & é a soma de strings no VB.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Essa cena do .txt's para quem se deu ao trabalho de ler a ajuda de vb.net do vs.net 2003 (como eu), esse exemplo está logo lá, é um dos primeiros walkthrough.

Uso isso para o programa exibir o seu própio código fonte, abrindo um txt guardado na pasta do programa (faço sempre um setup para cada programa) numa richtextbox.

Enfim, .net rules.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Essa cena do .txt's para quem se deu ao trabalho de ler a ajuda de vb.net do vs.net 2003 (como eu), esse exemplo está logo lá, é um dos primeiros walkthrough.

Uso isso para o programa exibir o seu própio código fonte, abrindo um txt guardado na pasta do programa (faço sempre um setup para cada programa) numa richtextbox.

Enfim, .net rules.

enquanto a framework n estiver a ser distribuido e incluido ja de raíz nos sistemas da Microsoft continuarei fiel ao VB6 ^^ é k porra... 100mb aínda fazem a diferença :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agoro com a 'Vista' até já deves ter de raiz a framework 2.0, que vem no vs.net 2005.

Finalmente já temos a hipótese de em vb criarmos programazinhos todos eye-candy com estilo XP. Tipo aqueles botões de linhas curvas com rebordo azul que quando passamos por cima ficam com rebordo amarelo. Tudo isto no vs.net 2005.

Além de muitas outras vantagens, aquilo tá mesmo do best, mas agora acho que mandar vir a beta2 já não é grátis...:)

E quem mandou vir pode ver as diferenças (aka vantagens) no dvd wefly247 que vem com a beta2 que estão lá todas descriminadas em filme. :D

Fiquem bem;););)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem, desculpa lá perdido_e_sozinho, sem fazer de ti meu criado, n me consegues fazer o codigo de maneira a guardar num array, as palavras em cada posicao ? :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O teu objectivo é ter um arrays com as 3 strings separadas, dentro de um array com todas as linhas do ficheiro?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tipo o meu objectivo é do tipo, a ver se desta me consigo explicar melhor,

tenho isto num txt

123456;0;00/00/0000;00:00:00

e quero separar cada campo numa variavel para dps inserir numa base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se o número de strings for sempre o mesmo usa isto

Dim Lista As New ArrayList

Dim Leitor As New StreamReader("temp")

Do While Leitor.Peek() >= 0

Dim Linha As String = Leitor.ReadLine

Dim Palavra As String = ""

For Each Letra As Char In Linha

If Letra <> "," Then

Palavra = Palavra + Letra

Else

Lista.Add(Palavra)

Palavra = ""

End If

Next

If Palavra <> "" Then

Lista.Add(Palavra) 'Ultima palavra

Palavra = ""

End If

Linha = Nothing

Palavra = Nothing

Loop

Leitor.Close()

Leitor = Nothing

'Depois é usar o código para inserir na base de dados usando Lista(n) onde n é o index da lista

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já funca td como eu kria, o meu mto obrigado a todos e em especial ao perdido_e_sozinho :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas

imaginem que eu tenho um ficheiro .txt que contem esta informação

20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020
20202020202020202020

eu queria fazer upload da informação do ficheiro .txt para uma matriz...

sera que isso é possivel??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim... a lógica é a mesma....só que o separador da linha corresponde ao vbnewline

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim... a lógica é a mesma....só que o separador da linha corresponde ao vbnewline

Concordo!

Mas se tiveres dúvidas cria um novo tópico e mostra o que tens, ok ?

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