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

cagueca

Ficheiro txt

18 mensagens neste tópico

boas :

com o seguinte codigo


Dim TextFile As New StreamWriter("c:\Teles\Material.txt")

        Dim fs As FileStream = Nothing

        If Not File.Exists("Material.txt") Then

            fs = File.Create("Material.txt")

            Using fs

            End Using
        End If

assim ele vai criar sempre o ficheiro mesmo que ja la esteja .. o que eu queria era que ele verificasse se o ficheiro existe se sim ja nao cria se nao houver cria um ..

ja agora como e que faço para fazer leitura do mesmo ficheiro para uma listview com tres colunas ??

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Achas melhor criar um csv ? como nao sei pergunto ..

e que tambem nao sei como meter de modo a que depois possa ir ler pa listview ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O csv tem um formato q é fácil arranjar um algoritmo p preencher numa listview.

coluna1;coluna2;coluna3

É só separares por ';' e colocar na listview.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O csv tem um formato q é fácil arranjar um algoritmo p preencher numa listview.

coluna1;coluna2;coluna3

É só separares por ';' e colocar na listview.

Tão simples como isto ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

loool

Tão simples como isto ;)

Ou se calhar nao ... mas vou ver se consigo .. obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

uma pergunta esta base de dados mesmo que eu va adicionando items com o tempo eles vao estar sempre disponveis ? tipo base dados portatil ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

uma pergunta esta base de dados mesmo que eu va adicionando items com o tempo eles vao estar sempre disponveis ? tipo base dados portatil ?

Estar sempre disponíveis... parece-me ser o intuito de uma base de dados... mas... estás a falar de que base de dados? O ficheiro de texto?

Explica-te lá um pouquinho melhor.

BTW, o teu código lá em cima está um pouco desnexado. Por exemplo, declaras o streamwriter e não o usas.

Com IO.StreamWriter não precisas de verificar se o ficheiro existe. Se não existir é automáticamente criado. Se existir, depende do argumento append que passaste no construtor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e normal que esteja desnexado nunca estudei disto estou a aprender aos poucos por mim mesmo ..

Sim o ficheiro de texto ou por csv mas nao sei como hei de por a base dados de maneira que depois consiga ler pela listview ..

Se alguem quiser posso partilhar o projecto e depois veem que e mesmo de quem começou a pouco ..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mostra lá então.

Talvez se consiga entender o que pretendes ao olhar para o que já tens.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para criares um ficheiro CSV tens de introduzir um registo por linha, ou seja:

martelo;150 aérios; levemente rachado
carregador;3 aérios; como novo

Já com os campos que queres (ferramenta; preço; estado).

Para leres isto, basta abrir o ficheiro com um streamreader, e percorrer cada linha do ficheiro:

Dim ficheiro as New StreamReader("C:\caminho\para\o\ficheiro.csv")

' enquanto não chegar ao fim do ficheiro
While Not ficheiro.EndOfStream
   Dim linha As String
   Dim campos() As String

   ' ler a linha actual e separar os campos por ; (ponto e virgula)
   linha = ficheiro.ReadLine()
   campos = linha.Split(";".ToCharArray)

   ' adicionar os campos, tendo o cuidado de criar um listviewItem que
   ' representa uma linha da lista, com os dados que obtivemos
   ListView1.Items.Add(New ListViewItem(campos))
End While

Atenção que isto não verifica se o ficheiro tem uma linha errada ou não, ele apenas obtém os dados e carrega-os para a lista. Basicamente é separar pelo símbolo separador de campos, e por linhas. Não testei.

Para escrever, de modo análogo, usas o StreamWriter, e fazes a operação inversa: juntas os teus dados numa linha, separados por ; e vais guardando para o ficheiro.

Tens mais sobre escrita na wiki:

http://wiki.portugal-a-programar.pt/dev_net:vb.net:stream_readers_writers

Atenção, na escrita, não deves permitir que o utilizador utilize ; nos campos, visto que esse caractere está reservado para separar os diversos campos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa obrigadao

Ao fazer a leitura do ficheiro aparece me isto assim na listview ..

Zp%k::NbXo۫ހ,otuo@_i7\E&hq/ cv+

Podem me explicar porque ??

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

loool , sim li e tentei unicode utf8\7 etc e da sempre a mesma coisa caracteres diferentes mas sempre isso ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se abrires no notepad o que vês ?

Pode ser a maneira como estás a escrever o ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

oh .. peço desculpa tava a usar .xlsx em vez de txt ...

Obrigado ja funciona

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

  Dim Linha() As String = Strings.Split(My.Computer.FileSystem.ReadAllText("teste.TXT", System.Text.Encoding.Default), ControlChars.CrLf)

"System.Text.Encoding.Default" vai corrigir o teu problema

Editado por bids
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