Openen van tekstfiles in map

Status
Niet open voor verdere reacties.

Pitje1958

Gebruiker
Lid geworden
22 okt 2007
Berichten
65
Hallo,

Ik zou willen dat men VB applicatie automatisch de tekstfiles uit een map gaat halen en één voor één in een listbox steekt. Nu moet ik telkens via een openfiledialog file per file opendoen die dan in een listbox komt te staan. Hoe kan ik dit doen en welke commando's bestaan hiervoor.


Vriendelijke groeten


Pitje
 
in vb6 zou je een keer om de map kunnen vragen, en daarna een voor een de textfiles openen, inhoud lezen, toevoegen aan een listbox en file weer sluiten
 
Private Sub btnopen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnopen.Click


Dit gedeelte zou automatisch file per file moeten lezen en daarna sluiten
With OpenFileDialog1
OpenFileDialog1.InitialDirectory = "D:\Data visual studio 2005\E2ford\"
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
FileOpen(1, OpenFileDialog1.FileName, OpenMode.Input)
filenaam = OpenFileDialog1.FileName



lijn = LineInput(1)
lstwoorden.Items.Add(lijn)
seqnr(index) = lijn.Substring(78, 4)
vinnummer = lijn.Substring(83, 7)
datum = lijn.Substring(29, 6)
tijd = lijn.Substring(36, 4)
filenaam = lijn.Substring(23, 5)
txtuitvoer.Text += teller.PadLeft("3") & ": " & seqnr(index).PadRight("3") & " " & vinnummer.PadLeft("2") & " " & datum.PadLeft(2) & " " & tijd.PadLeft(2) & " " & filenaam & vbCrLf
teller += 1
index = index + 1
FileClose(1)
' Kill(filename)
FileClose(1)
End If
End With
End Sub
 
Ik heb je vraag een paar keer gelezen, maar ben bang dat ik 'm niet helemaal begrijp. Ik heb hier een opzetje gemaakt, moet je zelf maar even kijken wat je er precies mee gaat doen..

Code:
Imports System.IO
Public Class Form1

    Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
        Dim strPath As String = "C:\0test"
'hier komt dus jouw code nog op een folder te kiezen, vond ik niet zo belangrijk voor dit voorbeeld.

        Dim strFiles() As String
        Dim oRead As StreamReader

        If Directory.Exists(strPath) Then
            strFiles = Directory.GetFiles(strPath)
            For i As Integer = LBound(strFiles) To UBound(strFiles)
                oRead = File.OpenText(strFiles(i))
                Me.lstWoorden.Items.Add(oRead.ReadLine())
                'als je meerdere regels wilt lezen moet je hier dus een loopje doen
                'While Not oRead.EndOfStream
                                'Me.lstWoorden.Items.Add(oRead.ReadLine())
                'End While

                oRead.Close()
            Next

        End If
    End Sub
End Class
 
Ik heb je vraag een paar keer gelezen, maar ben bang dat ik 'm niet helemaal begrijp. Ik heb hier een opzetje gemaakt, moet je zelf maar even kijken wat je er precies mee gaat doen..

Code:
Imports System.IO
Public Class Form1

    Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click
        Dim strPath As String = "C:\0test"
'hier komt dus jouw code nog op een folder te kiezen, vond ik niet zo belangrijk voor dit voorbeeld.

        Dim strFiles() As String
        Dim oRead As StreamReader

        If Directory.Exists(strPath) Then
            strFiles = Directory.GetFiles(strPath)
            For i As Integer = LBound(strFiles) To UBound(strFiles)
                oRead = File.OpenText(strFiles(i))
                Me.lstWoorden.Items.Add(oRead.ReadLine())
                'als je meerdere regels wilt lezen moet je hier dus een loopje doen
                'While Not oRead.EndOfStream
                                'Me.lstWoorden.Items.Add(oRead.ReadLine())
                'End While

                oRead.Close()
            Next

        End If
    End Sub
End Class
 
Hallo,

Ik krijg nu alle tekstfiles in één keer geladen is lstwoorden, nu moeten ze nog in het veld txtuitvoer.text komen te staan zoals in voorbeeld. De bedoeling is dat bepaalde stukken uit iedere file gehaald worden met substring zie voorbeeld.

Alvast bedankt voor de prima uitleg en de juiste code voor het inhalen van de tekstfiles.

Vriendelijke groeten


Pitje
 
Ah mooi, ik neem aan dat dat verder wel gaat lukken dan he? Op gelijke wijze kun je naar bestanden schrijven, uiteraard wordt de StreamReader dan een StreamWriter en de Readline een Writeline...

Succes met je programma
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan