Avatar billede kapedersen Nybegynder
18. august 2009 - 06:44 Der er 5 kommentarer og
1 løsning

Slet øverste linie i tekst fil

hvordan sletter man den øverste linie i en tekst fil, og gemmer den igen?
Avatar billede ylwen Nybegynder
18. august 2009 - 07:22 #1
Min første søgning på google gav dette:

http://www.freevbcode.com/ShowCode.Asp?ID=2667
Avatar billede kapedersen Nybegynder
18. august 2009 - 07:30 #2
Jeg bruger VB Express så koden i linket virker ikke, og jeg er ikke så skrap at jeg lige kan se mig ud af at skrive det om
har du forslag?
Avatar billede kapedersen Nybegynder
18. august 2009 - 07:42 #3
Jeg starter ud med følgene code til at læse filen med, og læser første linie ind i Variablen varenr, her efter vil jeg gerne slette den linie i filen


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim strfilename As String
        Dim num_rows As Long
        Dim num_cols As Long
        Dim x As Integer
        Dim y As Integer
        Dim strarray(1, 1) As String
       

        ' Load the file.
        state = "File is loading"

        strfilename = "C:\Documents and Settings\Kim Almind Pedersen\Skrivebord\Qumec konfigurator\Varenr Generator\LightConveyor_40000_50000.txt"
        'strfilename = "C:\Documents and Settings\Kim Almind Pedersen\Skrivebord\Qumec konfigurator\Varenr Generator\test.txt"
        'Check if file exist
        If File.Exists(strfilename) Then
            Dim tmpstream As StreamReader = File.OpenText(strfilename)
            Dim strlines() As String
            Dim strline() As String
            strlines = tmpstream.ReadToEnd().Split(Environment.NewLine)

            ' Redimension the array.
            num_rows = UBound(strlines)
            strline = strlines(0).Split(",")
            num_cols = UBound(strline)
            ReDim strarray(num_rows, num_cols)

            strarray(x, y) = strline(y)

            varenr = strarray(0, 0)
            If varenr = ("") Then
                MsgBox("Ikke flere Varenummere")
                state = ("ikke flere Varenummere")
            Else
                TextBox2.Text = varenr
                state = ("Varenummer Fundet")


     
            End If
        End If
    End Sub
Avatar billede ylwen Nybegynder
18. august 2009 - 09:17 #4
prøv nedenstående. det virker:

Dim lines As New List(Of String)(IO.File.ReadAllLines("c:/tekst.txt"))

        lines.RemoveAt(1)

        IO.File.WriteAllLines("c:/tekst.txt", lines.ToArray())
Avatar billede kapedersen Nybegynder
18. august 2009 - 10:09 #5
Det virker fint, der er bare lige en lille ting jeg skal ha lukket filen ned inden jeg skriver i den igen hvis jeg vil bruge samme filnavn
den siger at Processen kan ikke få adgang til filen 'C:\Documents and Settings\Kim Almind Pedersen\Skrivebord\Qumec konfigurator\Varenr Generator\LightConveyor_40000_50000.txt', fordi den bliver brugt af en anden proces.
Avatar billede kapedersen Nybegynder
18. august 2009 - 10:22 #6
jeg fandt ud af det, jeg skal jo bare sige tmpstream.close inden jeg skriver til den igen

Tak
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