# Eine bestimmte zeile einer Textdatei ändern



## Kriskra (11. Januar 2004)

Hi Leudz,

Habe folgendes Problem, habe was in eine Textdatei gespreichert 


```
Dim F As Integer
F = FreeFile
Open "Datei.txt" For Output As #F
Print #F, "Blabla"
Print #F, "Irgentwas"
Close #F
```

Jetzt wurden zeile 1 und 2 beschrieben... wenn ich Zeile 2 jetzt "bearbeiten" will lösche ich immer die letzte zele und füge wieder eine Zeile hinzu, aber wie mache ich das wenn ich Zeile 1 ändern will, aber zeile 2 erhalten bleiben soll?

Schonmal thx4help!

 Greets Kriskra


----------



## daDom (12. Januar 2004)

Also, ne etwas komplizierte Version ist die:


Datei in die Listbox laden
Aus der Listbox das gewünschte Element entfernen
... und den Listboxinhalt zurückschreiben...


```
Private Sub Form_Load()
' Datei öffnen
Open "offenerechnungen.dj" For Input As #2
' Solange Datei2 nicht zu Ende
        Do While Not EOF(2)
            Line Input #2, zeile
            'Dateiinhalte der Listbox hinzufügen
            lstAusgabe.AddItem (zeile)
        Loop
' Datei schliessen
Close #2
End Sub

Private Sub lstAusgabe_Click()
'Wenn Liste leer...
If lstAusgabe.ListCount = 0 Then
'...meldung machen
meldung = MsgBox("Liste ist leer!", vbOKOnly, "Liste enthält keine Einträge")
    Else
    'Löschen bestätigen
    meldung = MsgBox("Ausgewählten Eintrag löschen?", vbYesNo, "Bestätigen")
        'wenn JA gewählt
        If meldung = vbYes Then
            'Item löschen
            lstAusgabe.RemoveItem (lstAusgabe.ListIndex)
        Else
            'Ansonsten beenden
            Exit Sub
        End If
End If
    'Datei öffnen ggf. erstellen
    Open "offenerechnungen.dj" For Output As #3
        ' Von zeile Null bis Ende minus 1 (wg: zeile 0 - 4 = sind 5Zeilen)
        For I = 0 To lstAusgabe.ListCount - 1
        ' lstAusgabe-Werte in Datei speichern
        Print #3, lstAusgabe.List(I)
        ' Schleife wiederholen bis keine Listeneinträge mehr
        Next I
    'Datei schliessen
    Close #3
End Sub
```

So wär's möglich...


Gruß
daDom


----------



## Kriskra (12. Januar 2004)

Hmm ist wirklich etwas kompliziert, gibts da keine einfachere mölglichkeit?


----------

