ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
992
992
EMPFEHLEN
-
29.09.04 08:45 #1
- Registriert seit
- Apr 2004
- Ort
- CH
- Beiträge
- 76
Hallo zusammen,
Ich möchte gern eine bestimmte Zeile in einer Textdatei löschen. Wisst ihr wie das geht?
Die Textdatei ist bereits eingelesen und in Zeilen unterteilt. So ist mein Code:
Dieser Tipp hilft mir leider nicht weiter, weil ich diesen Code nicht verstehe.Code :1 2 3 4 5 6 7 8 9 10 11 12 13
Dim KNr As Integer Dim Inhalt As String Dim Zeile() As String Dim Datei As String Datei = "C:\Datei.txt" KNr = FreeFile Inhalt = Space(FileLen(Datei)) Open Datei For Binary As KNr Get KNr, , Inhalt Zeile = Split(Inhalt, vbNewLine) Close KNr
Grüsse
-
29.09.04 09:52 #2
Mit deinem Code müsstest du erst noch die Anzahl der Zeilen in deiner Text Datei seperat ermitteln da du die Datei in einem Rutsch einliest.
Dann die einzelnen Zeilen in Integerstrings einlesen um nachher die entsprechende Zeile explizit entfernen zu können.
Wenn deine Text Datei nicht allzu groß ist würde ich sie Zeilenweise einlesen.
Dann hast du
- die Datei eingelesen
- die Zeilenzahl bestimmt
- und die einzelnen Zeilen in einzelnen Strings
Damit kannst du dann bestimmte Zeilen "löschen" bzw. gar nicht erst einfügen.
Das würde dann so aussehen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
[COLOR=limegreen]diezeile ist die nummer der zeile welche nachher entfernt wird[/COLOR] dim diezeile as long dim counti as long dim zeile as string dim dt as string dim text as string [COLOR=limegreen]' Ich geh mal davon aus das du mit 10000 Zeilen auskommst - sonst zahl erhöhen [/COLOR] dim zeiler(10000) as string dim t as long dt = "c:\text.txt" k = FreeFile Open dt For Input As 1 Do Until EOF(1) = True Line Input #1, zeile [COLOR=limegreen]'Zeilen deiner Datei zählen [/COLOR] counti = counti + 1 [COLOR=limegreen]' Zeilen einzeln an string übergeben [/COLOR] zeiler(counti) = zeile DoEvents Loop Close 1 [COLOR=limegreen]' Deinen Text zusammenfügen ohne die gewünschte Zeile [/COLOR] ' for t = 1 to counti if counti <> diezeile then text = text & zeiler(t) next t
Du musst natürlich noch irgendwie bestimmen welche Zeile gelöscht werden soll - zum Testen sollte da ja ein Textfeld reichen wo du die entsprechende Zeile eingibst und diesen Wert dann an die Variable "diezeile" übergibst.
Ich hoffe ich habe dich überhaupt richtig verstanden und das es so funktioniert.
Gruß
Mat
-
Der Tipp aus dem vb@rchiv ist doch gar nicht
so schwer zu verstehen.
Du musst die Zeile ermittlen die gelöscht werden soll
oder den Inhalt dieser Zeile wissen.
Dann läuftst du mit Line Input die Datei durch
und schreibst alles mit Print in eine Temporäre
Datei außer der angegebenen Zeile(n).
Dann werden beide Dateien geschlossen und die
Orginale wird gelöscht.
Dann nur noch die temp. Datei umbenennen, fertig.
-
29.09.04 10:20 #4
- Registriert seit
- Apr 2004
- Ort
- CH
- Beiträge
- 76
Ciao,
erst mal vielen Dank für deine Antwort.
Dies mach ich so:Mit deinem Code müsstest du erst noch die Anzahl der Zeilen in deiner Text Datei seperat ermitteln da du die Datei in einem Rutsch einliest.
Code :1
x = Format$(UBound(strZeile) + 1, "#,##0")
Meine Datei ist gross, nämlich ca. 66Mbyte.Wenn deine Text Datei nicht allzu groß ist würde ich sie Zeilenweise einlesen.
Ich hab ein relativ komplexes Programm geschrieben und dies funktioniert soweit auch, ich muss nur noch bestimmte Zeilen löschen.
Das ich diese Zeile einfach nicht einlese, ist eine Möglichkeit.
Gibt es nicht einen Befehl zum eine Zeile entfernen? Z.b. Replace?
Grüsse
-
29.09.04 10:37 #5
- Registriert seit
- Apr 2004
- Ort
- CH
- Beiträge
- 76
Konnte es so lösen, dass ich diese Zeile einfach nicht einlese. Vielen Dank für den Tipp und die Erklärung.
Grüsse
Ähnliche Themen
-
Bestimmte Zeile aus einer Textdatei löschen
Von Eagle-PsyX- im Forum PHPAntworten: 6Letzter Beitrag: 29.09.08, 22:51 -
VB 2005 - Letzte Zeile einer Textdatei Löschen
Von raccoon im Forum .NET CaféAntworten: 2Letzter Beitrag: 19.09.07, 14:23 -
zeile aus textdatei löschen
Von ClD im Forum PHPAntworten: 5Letzter Beitrag: 28.10.04, 11:11 -
Zeile aus Textdatei löschen...
Von Smiley* im Forum PHPAntworten: 4Letzter Beitrag: 12.03.02, 23:52 -
n-te Zeile in textdatei löschen !
Von PatrickD im Forum PHPAntworten: 5Letzter Beitrag: 04.02.02, 17:30





Zitieren
Login





