Jump to content

Ficheiro txt


cagueca

Recommended Posts

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

Link to comment
Share on other 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.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other 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:

https://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.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

  • 4 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.