ich arbeite im moment an einer Art "Adressbuch". Man kann Einträge reinmachen/rausmachen/ändern und das ganze wird in einer .dat Datei gespeichert. Nur habe ich das Problem, dass wenn ich einen Eintrag lösche dann wird das ganze nicht korrekt abgespeichert

Hier der Code. . .
Code: Alles auswählen
Procedure EintragEntfernen()
If GetGadgetState(0) > -1
RemoveGadgetItem(0, GetGadgetState(0))
DelFiles.l + 1
Else
MessageRequester("Bitte Eintrag auswählen!","Um einen Eintrag zu entfernen müssen sie ihn zuerst anwählen.")
EndIf
EndProcedure
Procedure ProgramBeenden()
;-Notizzettel speichern
OpenFile(0, "notiz.dat")
notiz$ = GetGadgetText(9)
WriteString(notiz$)
CloseFile(0)
;-Adressliste speichern
If CountGadgetItems(0) > -1
CreateFile(2, "Eigene Adressliste.dat")
OpenFile(3,"Eigene Adressliste.dat")
ListEnd = CountGadgetItems(0)
For DoIt = 0 To ListEnd
SpeichernText1$ = GetGadgetItemText(0, DoIt, 0)
SpeichernText2$ = GetGadgetItemText(0, DoIt, 1)
SpeichernText3$ = GetGadgetItemText(0, DoIt, 2)
SpeichernText4$ = GetGadgetItemText(0, DoIt, 3)
SpeichernText5$ = GetGadgetItemText(0, DoIt, 4)
SpeichernText6$ = GetGadgetItemText(0, DoIt, 5)
;For Loop = 0 To 5
; SpeichernText$(Loop) = GetGadgetItemText(0,DoIt,Loop)
;Next
If SpeichernText1$ = "" And SpeichernText2$ = "" And SpeichernText3$ = "" And SpeichernText4$ = "" And SpeichernText5$ = "" And SpeichernText6$ = ""
MessageRequester("","MÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖP")
Else
WriteStringN(SpeichernText1$+Chr(10)+SpeichernText2$+Chr(10)+SpeichernText3$+Chr(10)+SpeichernText4$+Chr(10)+SpeichernText5$+Chr(10)+SpeichernText6$)
EndIf
Next
CloseFile(3)
EndIf
End
EndProcedure

Bei MessageRequester("","MÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖP") müsste man die gelöschten Einträge ja rausfiltern können irgendwie aber so richtig klappt das alles nicht

DANKE, Satzzeichen
