Avatar billede Slettet bruger
26. august 2013 - 20:16 Der er 1 løsning

Visual Basic søg i txt filer

Jeg har rodet en del i script som jeg har fået af en.

Formålet er at man skal kunne gemme en model eller mærke eller anden form, også skal man derefter kunne søge efter ordet i en txt fil

Men problemet er hvis der eksistere 2x af den samme, men bare at der har vært ændret lidt i en af dem, vil den kun tage den sidst oprettet. Så den vil aldrig finde de andre frem med samme navn.

Eksempel.

Navn Mads
alder 12
Navn Mads
Alder: 20

Så vil den kun tage Den Mads som er 20. som er den sidst oprettet, men kunne godt tænke mig at den også to Den anden Mads frem. men self der kan jo stå andre navne der inde, så den skal kunne forstå hvilken række den skal gå fra, 1 Mads, også en ned, for at tage alderen, her efter endnu en Mads, også skal vi have alder med en ned. Hvis i forstår min mening her?

Men her er koden.




Imports System.IO

Public Class Form1

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim writer As StreamWriter = File.AppendText("C:\text.txt")
        writer.WriteLine("Mærke: " & TextBox1.Text)
        writer.WriteLine("Model: " & TextBox2.Text)
        writer.WriteLine("Årgang: " & TextBox3.Text)
        writer.WriteLine("Pris: " & TextBox4.Text)
        writer.Close()
        MsgBox("Bilen gemt.", 64)
    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Dim lines() As String = File.ReadAllLines("C:\text.txt")
        Dim reslines() As String = Nothing
        For i = 0 To lines.Length - 1 Step 4
            If Split(lines(i), ": ")(1).ToLower = TextBox5.Text.ToLower Then
                reslines = {lines(i), lines(i + 1), lines(i + 2), lines(i + 3)}
                Exit For
            End If
        Next
        If reslines IsNot Nothing Then
            Label5.Text = reslines(0)
            Label6.Text = reslines(1)
            Label7.Text = reslines(2)
            Label8.Text = reslines(3)
        Else
            MsgBox("Mærket du søgt efter ikke fundet - Tjek om du har stavet rigtigt, ellers eksistere bilen ikke i systemet.", 16)
        End If
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
End Class

Hvis nogle har andre forslag til en søge funktion i txt fil, er jeg åben. :)

Ja jeg ved godt at koden her går ud fra en bestemt linje, men kunne godt tænke mig et lidt andet system, hvis nogle har en idee her.
Avatar billede Slettet bruger
26. august 2013 - 20:56 #1
problemet er løst.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester