VB 6 Zeilen one fso löschen
Hallo ich habe schon mit einem Code angefangen aber er bring mir den Text durcheinander, wenn gleiche Zeilen vorhanden sind die stehen bleiben sollen.
Ausserdem sieht ist es ziemlich viel um nur 6 Zeilen zu löschen, im Vergleich zu fso.
Bin für jeden nützlichen Vorschlag Dankbar.
Gruß waldgnarf
Ausserdem sieht ist es ziemlich viel um nur 6 Zeilen zu löschen, im Vergleich zu fso.
Dim ADRPFA As String = "C:\ADRESS.txt"
Dim ZEIZAH = 1
Do
Try
Dim ZEILEN As String() = My.Computer.FileSystem.ReadAllText(ADRPFA, System.Text.Encoding.Default).Split(vbCrLf)
If ZEIZAH > 0 AndAlso ZEIZAH <= ZEILEN.Length Then
Dim STEWRI As IO.StreamWriter = Nothing
Try
STEWRI = New IO.StreamWriter(ADRPFA, False, System.Text.Encoding.Default)
Dim ZEILIS As Boolean = False
For Z As Integer = 0 To ZEILEN.Length - 1
If Z + 1 <> ZEIZAH Then
If ZEILIS Then STEWRI.Write(vbCr)
STEWRI.Write(ZEILEN(Z))
ZEILIS = True
End If
Next
Catch ex As Exception
Finally
If Not IsNothing(STEWRI) Then STEWRI.Close()
End Try
End If
Catch ex As Exception
End Try
ZEIZAH = ZEIZAH + 1
Loop While ZEIZAH < 6
Bin für jeden nützlichen Vorschlag Dankbar.
Gruß waldgnarf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 125125
Url: https://administrator.de/forum/vb-6-zeilen-one-fso-loeschen-125125.html
Ausgedruckt am: 23.12.2024 um 13:12 Uhr
18 Kommentare
Neuester Kommentar
Moin @bastla
Brauchst Du etwa noch mehr Infos?
Heute war im ganzen Bereich Entwicklung wieder einer dieser Montage....
Grüße
Biber
Vielleicht erhältst Du mehr Vorschläge, wenn Du kurz beschreibst, was der Code eigentlich leisten soll ...
Soweit ich es nachvollziehen kann, ist das Ergebnis schon prima, wenn denn nicht...wenn gleiche Zeilen vorhanden sind die stehen bleiben sollen.
Brauchst Du etwa noch mehr Infos?
Heute war im ganzen Bereich Entwicklung wieder einer dieser Montage....
Grüße
Biber
Hallo waldgnarf!
Wenn es tatsächlich immer nur um die ersten 6 Zeilen geht, kannst Du wie gehabt den Dateiinhalt in ZEILEN() einlesen und dann einfach mit
wieder rausschreiben ...
Noch eine Anmerkung zu
Grüße
bastla
Wenn es tatsächlich immer nur um die ersten 6 Zeilen geht, kannst Du wie gehabt den Dateiinhalt in ZEILEN() einlesen und dann einfach mit
For i = 6 To ZEILEN.Length - 1
STEWRI.WriteLine(ZEILEN(i))
Next
Noch eine Anmerkung zu
... nicht mit replace weil sonst in der Textdatei auch doppelte Zeilen gelöscht werden.
Die Funktion Replace()
kennt auch einen Parameter "Count", mit welchem Du festlegen kannst, wie viele Ersetzungen vorgenommen werden sollen (Du musst dann zusätzlich die "Start"-Position im String, zB 1, um am Anfang zu beginnen, angeben).Grüße
bastla
Hallo zusammen!
Ausser den chaotischen Kommunikatiosproplemen ist mir - nur so als Anmerkung - noch aufgefallen, dass im letzten Code-Beispiel von "waldgnarf", die ersten 7 Zeilen gelöscht werden sollen
Gruß Dieter
Ausser den chaotischen Kommunikatiosproplemen ist mir - nur so als Anmerkung - noch aufgefallen, dass im letzten Code-Beispiel von "waldgnarf", die ersten 7 Zeilen gelöscht werden sollen
Gruß Dieter
Hallo waldgnarf!
Versuchs mal damit:
Erste 7 Zeilen überspringen und ab Zeile 8 in Datei schreiben.
Gruß Dieter
Versuchs mal damit:
Dim ADINSR As String() = My.Computer.FileSystem.ReadAllText(ADRPFA, System.Text.Encoding.Default).Split(vbCrLf)
Dim STEWRI As StreamWriter = New StreamWriter(ADRPFA)
For Z = 7 To ADINSR.Length - 1
STEWRI.WriteLine(ADINSR(Z))
Next
Gruß Dieter
@76109
Danke für die "Aushilfe" - am Vormittag hatte ich leider noch nicht vorhergesehen, dass aus ZEILEN() heute noch ADINSR() (und aus 6 Zeilen 7 ) werden würde(n) ...
Grüße
bastla
Danke für die "Aushilfe" - am Vormittag hatte ich leider noch nicht vorhergesehen, dass aus ZEILEN() heute noch ADINSR() (und aus 6 Zeilen 7 ) werden würde(n) ...
Grüße
bastla
Hallo waldgnarf!
Dann eben so:
Grüße
bastla
Dann eben so:
Dim ADINSR As String() = Split(My.Computer.FileSystem.ReadAllText(ADRPFA, System.Text.Encoding.Default), vbCrLf)
Dim STEWRI = My.Computer.FileSystem.OpenTextFileWriter(ADRPFA, False)
For Z = 7 To ADINSR.Length - 1
STEWRI.WriteLine(ADINSR(Z))
Next
STEWRI.Close()
bastla