For Each Textfile

Status
Niet open voor verdere reacties.

w00tare

Gebruiker
Lid geworden
10 jul 2009
Berichten
216
Hallo Mensen,

Ik probeer een account saver een maken, waarin ik mijn accounts kan opslaan.
Ik heb ze in een mapje staan.

Dit heb ik nu:

Code:
Private Sub LoadAccounts()
        Dim TxtFile As File.Opentext
        For Each TxtFile In Application.StartupPath & "/Saved/Accounts"
            Dim NameAsString
            NameAsString = GetTitle(Textfile)
            ListView1.Items.Add(NameAsString)
        Next
    End Sub
    Public Function GetTitle(ByVal input As Object)
        Dim Filename As String = input
        Dim Name As String
        Dim Reader As StreamReader
        Try
            Name = Reader.ReadLine.Contains("[Account]=").ToString()
            Dim SplitString() As String = Name.Split("|")
            SplitString(0) = SplitString(0).Replace("[Account]=", "")
            Return SplitString
        Catch Ex As Exception
            MsgBox("Error Loading File")
        End Try
        Return ""
    End Function
 
Misschien ook zeggen dat die de Ex weergeeft is het iets makkelijker te zien wat er fout is, dus Ex.ToString():thumb:
 
Misschien ook zeggen dat die de Ex weergeeft is het iets makkelijker te zien wat er fout is, dus Ex.ToString():thumb:

Ja, had ik al gedaan, hij zegt dat die de file niet kan vinden;

dit hebk nu:

Code:
    [b]Private Sub LoadAccounts()
        For Each File In Application.StartupPath & "\Saved\Accounts\"
            Dim NameAsString
            NameAsString = GetTitle(File).ToString
            ListView1.Items.Add(NameAsString)
        Next
    End Sub[/b]
    Public Function GetTitle(ByVal input As String)
        Dim Filename As String = input
        Dim Name As String
        Try
            Name = My.Computer.FileSystem.OpenTextFileReader(Application.StartupPath & "\Saved\Accounts\" & Filename & ".txt").ReadLine.Contains("[Account=]").ToString
            Dim SplitString2 As String
            SplitString2 = Name.Replace("[Account]=", "").ToString
            Return SplitString2
        Catch Ex As Exception
            MsgBox(Ex.ToString)
            Me.Close()
        End Try
        Return ""
    End Function

In dat dikgedrukte stuk, is iets fout :S
 
Vervang:
Code:
[I]        For Each File In Application.StartupPath & "\Saved\Accounts\"
            Dim NameAsString
            NameAsString = GetTitle(File).ToString
            ListView1.Items.Add(NameAsString)
        Next[/I]

Met:
Code:
[I]        Dim Dir As New DirectoryInfo(Application.StartupPath & "\Saved\Accounts\")

        For Each File As FileInfo In Dir.GetFiles() 'Tussen de () kan eventueel een filter gezet worden ("*.ext")
             ListView1.Items.Add(File.Name) 'Zet de bestandsnamen in de listbox
        Next[/I]

Geen idee waar de GetName functie voor bedoeld is, maar als je die gebruikt om de bestandnaam te verkrijgen van alle bestanden die in de opgegeven directory staan, dit word al gedaan met de File.Name, wat onderdeel is van de FileInfo. Dus volgens heb je die hele functie niet nodig, of in ieder geval niet alles.
 
Laatst bewerkt:
Ja, had ik al gedaan, hij zegt dat die de file niet kan vinden;

dit hebk nu:

Code:
    [b]Private Sub LoadAccounts()
        For Each File In Application.StartupPath & "\Saved\Accounts\"
            Dim NameAsString
            NameAsString = GetTitle(File).ToString
            ListView1.Items.Add(NameAsString)
        Next
    End Sub[/b]
    Public Function GetTitle(ByVal input As String)
        Dim Filename As String = input
        Dim Name As String
        Try
            Name = My.Computer.FileSystem.OpenTextFileReader(Application.StartupPath & "\Saved\Accounts\" & Filename & ".txt").ReadLine.Contains("[Account=]").ToString
            Dim SplitString2 As String
            SplitString2 = Name.Replace("[Account]=", "").ToString
            Return SplitString2
        Catch Ex As Exception
            MsgBox(Ex.ToString)
            Me.Close()
        End Try
        Return ""
    End Function

In dat dikgedrukte stuk, is iets fout :S
Dan zit er iets toch niet goed. Ben je niet de extensie van je files vergeten?
 
Dan zit er iets toch niet goed. Ben je niet de extensie van je files vergeten?


Oke, de code boven de post van SuperABC werkte.

Bedankt.

En uhm.

Weet iemand misschien waarom de StreamReader bijdeze code true/false returned:
Code:
Nickname = Reader.ReadLine.Contains("[Nickname]=").ToString
 
Waarschijnlijk omdat Contains alleen true of false kan zijn. Ik denk dat je een If moet gebruiken, dus zoiets:

If Reader.ReadLine.Contains("[Nickname]=") Then
Nickname = Reader.Readline

Of zoiets...
 
Waarschijnlijk omdat Contains alleen true of false kan zijn. Ik denk dat je een If moet gebruiken, dus zoiets:

If Reader.ReadLine.Contains("[Nickname]=") Then
Nickname = Reader.Readline

Of zoiets...

Ja maar dan pakt die wel een andere lijn toch?
 
Post eens je code en probeer zo duidelijk mogelijk te vermelden wat precies de bedoeling is.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan