Speichern function funktioniert nicht ganz

Trancefreak

Mitglied
Moin
Habe mich damit beschäftigt eine Art Termin Planer zu programmieren
bis lang funct alles wunderbar nur sobald ich speichern will kommen die ersten fehler also wenn ich 1 aufgabe erstelle und speichere funct es wunderbar aber wenn ich eine 2 te aufgabe hinzufüge und speicher wir in der text datei jedoch nur die erste aufgabe gespeichert!

Hiermit speicher ich:

Private Sub cmdSpeichern_Click()
Dim strTestdatei As String
With CommonDialog1
.Filter = "Textdateien (*.txt)|*.txt|Alle Dateien|*.*"
.InitDir = App.Path
.ShowSave
strTestdatei = .FileName
End With
If CommonDialog1.FileName <> "" Then
Open strTestdatei For Output As #1
Print #1, lstAufgaben.Text
Close #1
frmToDoListe.Caption = strTestdatei
End If
End Sub

Und die Aufgaben erstelle ich hiermit:

Private Sub cmdNeueAufgabe_Click()
Dim strEintrag As String
strEintrag = InputBox("Was ist zu tun?", "Neue Aufgabe")
If strEintrag = "" Then
Exit Sub
Else
lstAufgaben.AddItem (strEintrag)
If lstAufgaben.ListCount < 11 Then
lstAufgaben.Height = lstAufgaben.ListCount * 340
End If
End If
End Sub

Were bei abhilfe dankbar :)
Gruss Patrick
 
Original geschrieben von Trancefreak
Print #1, lstAufgaben.Text
Die Text-Eigenschaft einer Liste liefert nicht den kompletten Inhalt.
Du musst die Liste mit einer Schleife durchlaufen und jede Zeile einzeln schreiben.
 
Um dem Inhalt der TextDatei etwas 'anzuhängen', musst Du sie mit Append öffnen. Wenn Du also nachträglich Aufgabe für Aufgabe hinzufügst...

Code:
 Open strTestdatei For Append As #1.
 
Moin
Danke für die hilfe er speichert jetz einzelne in die liste aber wenn ich zb.2 neue aufgaben erstelle wird nur die erste gespeichert wo kann ich den fehler ausgleichen?
Und wenn ich die textdatei öffnen will macht er gar nichts:

Private Sub cmdÖffnen_Click()
Dim strText As String
Dim strTestdatei As String
With CommonDialog1
.Filter = "Textdateien (*.txt)|*.txt|Alle Dateien|*.*"
.InitDir = App.Path
.ShowOpen
strTestdatei = .FileName
End With
Open strTestdatei For Append As #1
Do While Not EOF(1)
strText = strText & Input(1, #1)
Loop
lstAufgaben.Text = strText
Close #1
End Sub

Danke für abhilfe :)
 
Zurück